Bläddra i källkod

一键生产增加收获、除虫、加速弹出

kaka 4 år sedan
förälder
incheckning
3fd71b8f6a

+ 12 - 0
assets/res/game/effect.meta

@@ -0,0 +1,12 @@
+{
+  "ver": "1.1.2",
+  "uuid": "fd92f3c6-5c6e-4494-bb9f-eee490eb1153",
+  "isBundle": false,
+  "bundleName": "",
+  "priority": 1,
+  "compressionType": {},
+  "optimizeHotUpdate": {},
+  "inlineSpriteFrames": {},
+  "isRemoteBundle": {},
+  "subMetas": {}
+}

+ 1 - 1
assets/resources/data/guide_data.json

@@ -71,7 +71,7 @@
 		"dialog": "<color=8A4312>生产次数<color=ff0000>达到要求</color>,就可以<color=ff0000>提现</color>啦,加油!</color>",
 		"displayRect": "",
 		"clickRect": "主界面层/game/node_ui/顶部个人信息/任务",
-		"finger": "100:20",
+		"finger": "",
 		"lagNext": "0"
 	},
 	{

+ 12 - 0
assets/resources/game/prefab/nodepool.meta

@@ -0,0 +1,12 @@
+{
+  "ver": "1.1.2",
+  "uuid": "6d082f49-ebbf-436b-8797-bd0e31a956d6",
+  "isBundle": false,
+  "bundleName": "",
+  "priority": 1,
+  "compressionType": {},
+  "optimizeHotUpdate": {},
+  "inlineSpriteFrames": {},
+  "isRemoteBundle": {},
+  "subMetas": {}
+}

+ 12 - 0
assets/script/before/main/FactoryIcon.ts

@@ -186,4 +186,16 @@ export class FactoryIcon extends cc.Component {
             gData.farmGradeData.addGradeExp(ExpAddType.EAT_others, this.node);
         }
     }
+
+    public canHarvest() {
+        this.getComponent(MoveToCenter).move();
+        gData.factorySystem.currSelectFactory = this;
+        gData.harvestData.openPanel(this.configID, this.data.productID, this.onHarvest.bind(this));
+    }
+
+    public canClearSick() {
+        this.getComponent(MoveToCenter).move();
+        mk.data.sendDataEvent(DataEventId.button_click, "停电icon");
+        gData.adClearSickData.openPanel(this.tab, this.configID);
+    }
 }

+ 28 - 0
assets/script/before/main/FactorySystem.ts

@@ -62,4 +62,32 @@ export default class FactorySystem {
 
         return can;
     }
+
+    canHarvest() {
+        let can = false;
+        let len = this.factoryIcons.length;
+        for (var i = 0; i < len; i++) {
+            if (this.factoryIcons[i].data.state == FactroyState.Ripe) {
+                this.factoryIcons[i].canHarvest();
+                can = true;
+                break;
+            }
+        }
+
+        return can;
+    }
+
+    canClearSick() {
+        let can = false;
+        let len = this.factoryIcons.length;
+        for (var i = 0; i < len; i++) {
+            if (this.factoryIcons[i].data.state == FactroyState.Sick) {
+                this.factoryIcons[i].canClearSick();
+                can = true;
+                break;
+            }
+        }
+
+        return can;
+    }
 }

+ 12 - 1
assets/script/before/main/FarmIcon.ts

@@ -21,7 +21,7 @@ export class FarmIcon extends cc.Component {
     public configID: number = 0;
     public sortID: number = 0;
 
-    private plantID: number = 0;
+    public plantID: number = 0;
     private _state: FarmState = -1;
     public get state(): FarmState { return this._state; }
     public data = null;
@@ -221,4 +221,15 @@ export class FarmIcon extends cc.Component {
     public novice_clean(): void {
         this.process.cleanProcess();
     }
+
+    public canHarvest() {
+        gData.farmSystem.currSelectFarm = this;
+        gData.harvestData.openPanel(this.configID, this.plantID, this.onHarvest.bind(this));
+    }
+
+    public canClearSick() {
+        gData.farmSystem.currSelectFarm = this;
+        mk.data.sendDataEvent(DataEventId.button_click, "生虫icon");
+        gData.adClearSickData.openPanel(ProductType.nzw, this.configID);
+    }
 }

+ 28 - 0
assets/script/before/main/FarmSystem.ts

@@ -89,5 +89,33 @@ export class FarmSystem {
 
         return can;
     }
+
+    public canHarvest() {
+        let can = false;
+        let len = this.farms.length;
+        for (let i = 0; i < len; i++) {
+            if (this.farms[i].data.state == FarmState.Ripe) {
+                this.farms[i].canHarvest();
+                can = true;
+                break;
+            }
+        }
+
+        return can;
+    }
+
+    public canClearSick() {
+        let can = false;
+        let len = this.farms.length;
+        for (let i = 0; i < len; i++) {
+            if (this.farms[i].data.state == FarmState.Sick) {
+                this.farms[i].canClearSick();
+                can = true;
+                break;
+            }
+        }
+
+        return can;
+    }
 }
 

+ 11 - 0
assets/script/before/main/PastureIcon.ts

@@ -241,4 +241,15 @@ export default class PastureIcon extends cc.Component {
             gData.farmGradeData.addGradeExp(ExpAddType.EAT_others, this.node);
         }
     }
+
+    public canHarvest() {
+        this.getComponent(MoveToCenter).move();
+        gData.harvestData.openPanel(this.configID, this.data.productID, this.onHarvest.bind(this));
+    }
+
+    public canClearSick() {
+        this.getComponent(MoveToCenter).move();
+        mk.data.sendDataEvent(DataEventId.button_click, "生病icon");
+        gData.adClearSickData.openPanel(ProductType.dw, this.configID);
+    }
 }

+ 28 - 0
assets/script/before/main/PastureSystem.ts

@@ -65,4 +65,32 @@ export default class PastureSystem {
 
         return can;
     }
+
+    canHarvest() {
+        let can = false;
+        let len = this.pastureIcons.length;
+        for (var i = 0; i < len; i++) {
+            if (this.pastureIcons[i].data.state == PastureState.Ripe) {
+                this.pastureIcons[i].canHarvest();
+                can = true;
+                break;
+            }
+        }
+
+        return can;
+    }
+
+    canClearSick() {
+        let can = false;
+        let len = this.pastureIcons.length;
+        for (var i = 0; i < len; i++) {
+            if (this.pastureIcons[i].data.state == PastureState.Sick) {
+                this.pastureIcons[i].canClearSick();
+                can = true;
+                break;
+            }
+        }
+
+        return can;
+    }
 }

+ 40 - 6
assets/script/game/data/GameData.ts

@@ -323,7 +323,7 @@ export class GameData {
      * @param add 增减变量
      */
     public changeLeftTimes(add) {
-        
+
         gData.gameData.leftTimes += add;
         gData.gameData.leftTimes = (gData.gameData.leftTimes > gData.gameData.maxTimes ? gData.gameData.maxTimes : gData.gameData.leftTimes);
         if (gData.gameData.leftTimes < 0) {
@@ -477,7 +477,13 @@ export class GameData {
         let flyRed = true;
         switch (this.nextType) {
             case 0:
-                mk.tip.pop('农场已满,无法继续生产');
+                // mk.tip.pop('农场已满,无法继续生产');
+                //弹出收获、生虫、加速
+                if (!this.checkCanHarvest()) {
+                    if (!this.checkCanClearSick()) {
+                        this.checkCanSpeedUp(true);
+                    }
+                }
                 flyRed = false;
                 break;
             case 1:
@@ -517,11 +523,10 @@ export class GameData {
             let com = this.playerProp.userFarmTaskInfo.completeCount;
             let count = this.playerProp.userFarmTaskInfo.taskCount;
 
-            if (com >= count)
-            {
+            if (com >= count) {
                 return false;
             }
-                
+
         }
 
         let data = {};
@@ -1024,7 +1029,7 @@ export class GameData {
         }
     }
 
-    checkCanSpeedUp() {
+    checkCanSpeedUp(pop = false) {
         let can = false;
         can = gData.farmSystem.canSpeedUp();
         if (!can) {
@@ -1034,6 +1039,9 @@ export class GameData {
             }
         }
 
+        if (can && pop) {
+            mk.ui.openPanel('module/speedUpUI/speedUp');
+        }
         return can;
     }
 
@@ -1042,6 +1050,32 @@ export class GameData {
         gData.pastureSystem.setHarvest();
         gData.factorySystem.setHarvest();
     }
+
+    checkCanHarvest() {
+        let can = false;
+        can = gData.farmSystem.canHarvest();
+        if (!can) {
+            can = gData.pastureSystem.canHarvest();
+            if (!can) {
+                can = gData.factorySystem.canHarvest();
+            }
+        }
+
+        return can;
+    }
+
+    checkCanClearSick() {
+        let can = false;
+        can = gData.farmSystem.canClearSick();
+        if (!can) {
+            can = gData.pastureSystem.canClearSick();
+            if (!can) {
+                can = gData.factorySystem.canClearSick();
+            }
+        }
+
+        return can;
+    }
 }
 
 /**

+ 0 - 4
assets/script/game/game/Game.ts

@@ -431,10 +431,6 @@ export default class Game extends cc.Component {
 
         let flyRed = await gData.gameData.makeProduct();
 
-        // if (gData.gameData.playerProp.gradeLevel < 2) {
-        //     mk.tip.pop('生产次数+1');
-        // }
-
         if (flyRed) {
             //mk.audio.playEffect('redmoney');
             this.dpFlyRedAni();