| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322 |
- cc.Class({
- extends: cc.Component,
- properties: {
- Seed: {
- default: null,
- type: cc.Node,
- },
- Exchange: {
- default: null,
- type: cc.Node,
- },
- SeedBtn: {
- default: null,
- type: cc.Node,
- },
- ExchangeBtn: {
- default: null,
- type: cc.Node,
- },
- SelectedFrame: cc.Node,
- //Building40: cc.Node,
- ManageUI: cc.Node,
- //四个按钮对应的sprite
- Normal_Seed_Sprite: cc.SpriteFrame,
- Selecteded_Seed_Sprite: cc.SpriteFrame,
- Normal_Exchange_Sprite: cc.SpriteFrame,
- Selecteded_Exchange_Sprite: cc.SpriteFrame,
- //需要切换节点顺序的父节点
- container: cc.Node,
- //商城的列表
- mySeedList: [],
- seedPrefab: cc.Prefab,
- seedSpriteFrame: {
- default: [],
- type: [cc.SpriteFrame]
- },
- seedNodeArry: {
- default: [],
- type: [cc.Node]
- },
- snbAmount: 0,
- cntAmount: 0,
- ExchangePopView: {
- default: null,
- type: cc.Node,
- },
- PayCNTPopView: {
- default: null,
- type: cc.Node,
- },
- buySeedIndex: -1,
- snbAmountLabel: {
- default: [],
- type: [cc.Label]
- },
- //拿到仓库列表的节点
- buildingView: {
- default: null,
- type: cc.Node,
- },
- myWareHouseSeedList: null,
- //轮询种子列表状态
- AutoGetSeedsData: null,
- bottomLabel: {
- default: null,
- type: cc.Node,
- },
- },
- HiddenAll() {
- if (this.Seed.active)
- this.Seed.active = false;
- if (this.Exchange.active)
- this.Exchange.active = false;
- },
- start() {
- //获取到仓库列表的脚本
- this.buildingViewScript = this.buildingView.getComponent("BuildingView");
- //默认设置第一个节点为 最上面
- this.SeedBtn.setSiblingIndex(10);
- console.log('SNB=======', GlobalD.GameData.SNB)
- this.snbAmountLabel.string = GlobalD.GameData.SNB;
- //这里也初始化获取一个数据
- GlobalD.GameData.getWarehouseSeedAndFruit((res, vaule) => {
- this.myWareHouseSeedList = vaule.data.seed;
- });
- //获取种子和果实
- GlobalD.GameData.getMallSeed((res, vaule) => {
- console.log('vaule111111111=', vaule)
- this.mySeedList = vaule.data;
- for (let i = 0; i < this.mySeedList.length; i++) {
- //没有种子数量不显示 todo 看看后续需不需要处理删除
- if (this.mySeedList[i].amount < 1) continue;
- let _seed = cc.instantiate(this.seedPrefab);
- // _seed.getChildByName("buy_button").active = true;
- // _seed.getChildByName("Name").active = false;
- // _seed.getChildByName("Name").getChildByName("Num").getComponent(cc.Label).strng = '';//'x'+this.mySeedList[i].amount;
- this.seedNodeArry.push(_seed);
- _seed.parent = this.Seed;
- let _seedScript = _seed.getComponent("Content_Button");
- //设置一个生成点
- let _spawnScript = _seed.getComponent("Content_seed");
- _spawnScript.myIndex = i;
- _spawnScript.SpawnPoint = cc.find("Canvas/SpawnParent/SpawnPoint");
- _seedScript.NumLabel.string = this.mySeedList[i].amount;
- _seedScript.NameLabel.string = this.mySeedList[i].name;
- switch (this.mySeedList[i].picture) {
- case "Cabbage":
- _seedScript.bgSprite.spriteFrame = this.seedSpriteFrame[0];
- break;
- case "Potato":
- _seedScript.bgSprite.spriteFrame = this.seedSpriteFrame[1];
- break;
- case "Carrot":
- _seedScript.bgSprite.spriteFrame = this.seedSpriteFrame[2];
- break;
- case "Broccoli":
- _seedScript.bgSprite.spriteFrame = this.seedSpriteFrame[3];
- break;
- case "Tomato":
- _seedScript.bgSprite.spriteFrame = this.seedSpriteFrame[4];
- break;
- case "Squash":
- _seedScript.bgSprite.spriteFrame = this.seedSpriteFrame[5];
- break;
- case "Eggplant":
- _seedScript.bgSprite.spriteFrame = this.seedSpriteFrame[6];
- break;
- case "Pepper":
- _seedScript.bgSprite.spriteFrame = this.seedSpriteFrame[7];
- break;
- default:
- break;
- }
- }
- });
- },
- //切换建筑的面板
- onSwitchBuildingContent(event, index) {
- this.SeedBtn.setScale(1);
- this.ExchangeBtn.setScale(1);
- this.SeedBtn.getComponent(cc.Sprite).spriteFrame = this.Normal_Seed_Sprite;
- this.ExchangeBtn.getComponent(cc.Sprite).spriteFrame = this.Normal_Exchange_Sprite;
- this.SeedBtn.setContentSize(100, 54);
- this.ExchangeBtn.setContentSize(100, 54);
- this.SeedBtn.y = -5;
- this.ExchangeBtn.y = -5;
- this.HiddenAll();
- //面板设置index
- //种子
- if ('0' == index) {
- this.SeedBtn.y = -20;
- this.SeedBtn.getComponent(cc.Sprite).spriteFrame = this.Selecteded_Seed_Sprite;
- this.Seed.active = true;
- if (this.seedNodeArry.length != 0) {
- this.SelectedFrame.parent = this.seedNodeArry[0];
- }
- //if (this.mySeedList.length > 0) {
- // let Synopsis = "成熟期:" + this.mySeedList[0].maturity;
- // this.ManageUI.getComponent('ManageUI').onSetButtonInfo(this.mySeedList[0].name, this.mySeedList[0].priceSnb, Synopsis);
- //}
- this.SeedBtn.setSiblingIndex(10);
- this.SeedBtn.setContentSize(86, 88);
- this.bottomLabel.active = false;
- }
- //兑换
- else if ('1' == index) {
- this.ExchangeBtn.y = -20;
- this.ExchangeBtn.getComponent(cc.Sprite).spriteFrame = this.Selecteded_Exchange_Sprite;
- this.Exchange.active = true;
- this.ExchangeBtn.setSiblingIndex(10);
- this.ExchangeBtn.setContentSize(86, 88);
- this.bottomLabel.active = true;
- }
- },
- switch: function () {
- var children = this.container.children;
- var length = children.length;
- if (length > 1) {
- var src = Math.floor(Math.random() * length);
- var node = children[src];
- var dst = src === length - 1 ? 0 : src + 1;
- node.setSiblingIndex(dst);
- }
- },
- SNBExchangeToCNT() {
- GlobalD.GameData.onSnbToCnt(this.snbAmount, (data) => {
- this.ExchangePopView.active = false;
- console.log('data=', data)
- // console.log('res=', res)
- });
- },
- onPayCNTPopView(myIndex) {
- this.buySeedIndex = myIndex;
- this.PayCNTPopView.active = true;
- // console.log('this.mySeedList[this.buySeedIndex] =',this.mySeedList[this.buySeedIndex])
- this.PayCNTPopView.getChildByName("BG").getChildByName("BG1_sprite_splash").getChildByName("NameLabel").getChildByName("label").getComponent(cc.Label).string = this.mySeedList[this.buySeedIndex].name;
- this.PayCNTPopView.getChildByName("BG").getChildByName("BG1_sprite_splash").getChildByName("PriceLabel").getChildByName("label").getComponent(cc.Label).string = this.mySeedList[this.buySeedIndex].priceCnt + ' CNT';
- this.PayCNTPopView.getChildByName("BG").getChildByName("BG1_sprite_splash").getChildByName("MutureDurLabel").getChildByName("label").getComponent(cc.Label).string = this.mySeedList[this.buySeedIndex].maturity;
- },
- PayCNT() {
- console.log('this.cntAmount=', this.cntAmount)
- console.log('this.cntAmount price=', this.cntAmount * parseInt(this.mySeedList[this.buySeedIndex].priceCnt))
- //购买种子也要使用轮询
- let currentAmount = 0;
- for (let i = 0; i < this.myWareHouseSeedList.length; i++) {
- if (this.myWareHouseSeedList[i].id == this.mySeedList[this.buySeedIndex].id) {
- currentAmount = this.myWareHouseSeedList[i].amount;
- }
- }
- //当前背包的数量
- console.log("currentAmount:", {
- seedId: this.mySeedList[this.buySeedIndex].id,
- currentAmount: currentAmount //把当前背包的数据传进去
- });
- GlobalD.GameData.payCNT(this.cntAmount * parseInt(this.mySeedList[this.buySeedIndex].priceCnt), 4, this.mySeedList[this.buySeedIndex].id + "", (data) => {
- const [err, tx] = data;
- if (err === null) {
- // TODO 成功, 支付为链上操作,需要提供回调接口给这边服务端确认交易成功后修改购买订单结果
- console.log(tx) // 交易hash,唯一标识符
- //todo 种子
- if (this.AutoGetSeedsData) {
- this.unschedule(this.AutoGetSeedsData);
- this.AutoGetSeedsData = null;
- }
- this.AutoGetSeedsData = () => {
- // getSeedCount ++;
- GlobalD.GameData.onGetSeedState(
- {
- seedId: this.mySeedList[this.buySeedIndex].id,
- currentAmount: currentAmount //把当前背包的数据传进去
- },
- (res, value) => {
- console.log("轮询种子:" + JSON.stringify(value));
- if (0 === value.code) {
- this.unschedule(this.AutoGetSeedsData);
- console.log("轮询种子购买成功");
- GlobalD.GameData.showToast(cc.find("Canvas/UICamera"), "种子购买成功!", 5);
- this.PayCNTPopView.active = false;
- //直接重新初始化一下列表,
- this.buildingViewScript.onUpdateList();
- }
- });
- };
- this.schedule(this.AutoGetSeedsData, 5);
- } else {
- console.log(err)
- GlobalD.GameData.showToast(cc.find("Canvas/UICamera"), err, 5);
- }
- });
- },
- //onEditDidBegan: function(editbox, customEventData) {
- // // 这里 editbox 是一个 cc.EditBox 对象
- // // 这里的 customEventData 参数就等于你之前设置的 "foobar"
- //},
- //// 假设这个回调是给 editingDidEnded 事件的
- //onEditDidEnded: function(editbox, customEventData) {
- // // 这里 editbox 是一个 cc.EditBox 对象
- // // 这里的 customEventData 参数就等于你之前设置的 "foobar"
- //},
- //// 假设这个回调是给 textChanged 事件的
- //onTextChanged: function(text, editbox, customEventData) {
- // // 这里的 text 表示 修改完后的 EditBox 的文本内容
- // // 这里 editbox 是一个 cc.EditBox 对象
- // // 这里的 customEventData 参数就等于你之前设置的 "foobar"
- // this.snbAmount = parseInt(text);
- //},
- //// 假设这个回调是给 editingReturn 事件的
- //onEditingReturn: function(editbox, customEventData) {
- // // 这里 editbox 是一个 cc.EditBox 对象
- // // 这里的 customEventData 参数就等于你之前设置的 "foobar"
- //}
- // 假设这个回调是给 textChanged 事件的
- onTextChanged1: function (text, editbox, customEventData) {
- // 这里的 text 表示 修改完后的 EditBox 的文本内容
- // 这里 editbox 是一个 cc.EditBox 对象
- // 这里的 customEventData 参数就等于你之前设置的 "foobar"
- this.cntAmount = parseInt(text);
- },
- // 假设这个回调是给 textChanged 事件的
- onTextChanged2: function (text, editbox, customEventData) {
- // 这里的 text 表示 修改完后的 EditBox 的文本内容
- // 这里 editbox 是一个 cc.EditBox 对象
- // 这里的 customEventData 参数就等于你之前设置的 "foobar"
- this.snbAmount = parseInt(text);
- },
- });
|