| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- /** 工厂数据类 */
- import { FactroyState, GameProp } from "../../game/data/GameData";
- import { FactoryIcon } from "./FactoryIcon";
- const { ccclass } = cc._decorator;
- @ccclass
- export default class FactorySystem {
- private _currSelectFactory: FactoryIcon = null;
- public factoryIcons: Array<FactoryIcon> = [];
- public set currSelectFactory(factory: FactoryIcon) {
- this._currSelectFactory = factory;
- }
- public get currSelectFactory(): FactoryIcon {
- return this._currSelectFactory;
- }
- public async make(id: number){
- if(this._currSelectFactory)
- {
- return await this._currSelectFactory.make(id);
- }else{
- return false;
- }
-
- }
- public addFactory(factory) {
- this.factoryIcons.push(factory);
- }
- public nextFactory() {
- let len = this.factoryIcons.length;
- for (var i = 0; i < len; i++) {
- if (this.factoryIcons[i].data.state == FactroyState.Empty) {
- gData.gameData.nextCanProduct = gData.gameData.getRandomFactoryConfig(this.factoryIcons[i].configID);
- gData.gameData.nextMake = this.factoryIcons[i];
- return this.factoryIcons[i];
- }
- }
- }
- public async btnMake() {
- return await gData.gameData.nextMake.make(gData.gameData.nextCanProduct.picture);
- }
- setHarvest() {
- let len = this.factoryIcons.length;
- let sendToServer = false;
- for (var i = 0; i < len; i++) {
- if (this.factoryIcons[i].data.state == FactroyState.Producting) {
- this.factoryIcons[i].countDown.riped(false);
- sendToServer = true;
- }
- }
- if (sendToServer) {
- gData.gameData.freshSendToServer(3);
- }
- }
- canSpeedUp() {
- let can = false;
- let len = this.factoryIcons.length;
- for (var i = 0; i < len; i++) {
- if (this.factoryIcons[i].data.state == FactroyState.Producting) {
- can = true;
- break;
- }
- }
- 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;
- }
- }
|