|
@@ -5,6 +5,7 @@ import { EventDispatcher } from '../../engines/events/EventDispatcher';
|
|
|
import { DataModel } from '../../engines/models/DataModel';
|
|
|
import { DataModelEventType } from '../../engines/models/DataModelEventType';
|
|
|
import { NoticeManager } from '../../engines/notices/NoticeManager';
|
|
|
+import AccelerateBuffer from '../buffers/AccelerateBuffer';
|
|
|
import AutoSyntheticBuffer from '../buffers/AutoSyntheticBuffer';
|
|
|
import GameConfigManager from './GameConfigManager';
|
|
|
import { GamePropertys } from './GamePropertys';
|
|
@@ -73,19 +74,14 @@ export class GameModel extends DataModel{
|
|
|
*/
|
|
|
public fullEarnings:number=0;
|
|
|
|
|
|
- /**
|
|
|
- * 收益计算间隔
|
|
|
- */
|
|
|
- get earningsInterval():number{
|
|
|
- return GameConfigManager.getGlobalValue("earningsInterval");
|
|
|
- }
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 计算收益
|
|
|
*/
|
|
|
CheckEarnings():void{
|
|
|
let currentTime:number=director.getCurrentTime();
|
|
|
- if(currentTime-this.lastTime<1000){
|
|
|
+ if(currentTime-this.lastTime<this.earningTime){
|
|
|
return;
|
|
|
}
|
|
|
this.lastTime=currentTime;
|
|
@@ -110,6 +106,25 @@ export class GameModel extends DataModel{
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 收益计算间隔
|
|
|
+ */
|
|
|
+ get earningsInterval():number{
|
|
|
+ return GameConfigManager.getGlobalValue("earningsInterval");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 收益间隔时间
|
|
|
+ */
|
|
|
+ get earningTime():number{
|
|
|
+ let bufferList:IBuffer[]=BufferManager.GetBufferGroup("Accelerate");
|
|
|
+ if(bufferList==null||bufferList.length==0){
|
|
|
+ return this.earningsInterval;
|
|
|
+ }
|
|
|
+ let buffer:AccelerateBuffer=bufferList[0] as AccelerateBuffer;
|
|
|
+ return this.earningsInterval*buffer.rate;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 自动合成武器
|
|
|
*/
|
|
@@ -132,7 +147,7 @@ export class GameModel extends DataModel{
|
|
|
this.SynthesisWeapon(a.cellId,b.cellId);
|
|
|
synIndex++;
|
|
|
//如果大于最大数
|
|
|
- if(synIndex>max){
|
|
|
+ if(synIndex>=max){
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
@@ -435,6 +450,11 @@ export class GameModel extends DataModel{
|
|
|
let buffer:AutoSyntheticBuffer=new AutoSyntheticBuffer("AutoSynthesis",data.autoSynthesisTime);
|
|
|
BufferManager.RunBuffer(buffer);
|
|
|
}
|
|
|
+ //加速Buffer
|
|
|
+ if(data.accelerateTime>0){
|
|
|
+ let buffer:AccelerateBuffer=new AccelerateBuffer("Accelerate",data.accelerateTime);
|
|
|
+ BufferManager.RunBuffer(buffer);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
protected OnSaveToLocal(data:any):void{
|
|
@@ -444,15 +464,18 @@ export class GameModel extends DataModel{
|
|
|
let buffers:IBuffer[]=BufferManager.GetBufferGroup("AutoSynthesis");
|
|
|
if(buffers!=null&&buffers.length>0){
|
|
|
let buffer:IBuffer=buffers[0];
|
|
|
- let currentTime:number=director.getCurrentTime();
|
|
|
- let endTime:number=buffer.GetEndTime();
|
|
|
- if(currentTime<endTime){
|
|
|
- let time:number=endTime-currentTime;
|
|
|
- data.autoSynthesisTime=time;
|
|
|
- }
|
|
|
+ data.autoSynthesisTime=buffer.GetTimeRemaining();
|
|
|
}else{
|
|
|
data.autoSynthesisTime=0;
|
|
|
}
|
|
|
+ //加速Buffer
|
|
|
+ buffers=BufferManager.GetBufferGroup("Accelerate");
|
|
|
+ if(buffers!=null&&buffers.length>0){
|
|
|
+ let accelerateBuffer:AccelerateBuffer=buffers[0] as AccelerateBuffer;
|
|
|
+ data.accelerateTime=accelerateBuffer.GetTimeRemaining();
|
|
|
+ }else{
|
|
|
+ data.accelerateTime=0;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private static instance:GameModel;
|
|
@@ -470,6 +493,13 @@ export class GameModel extends DataModel{
|
|
|
return this.GetProperty(GamePropertys.autoSynthesisTime);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 加速Buffer剩余时间
|
|
|
+ */
|
|
|
+ get accelerateTime():number{
|
|
|
+ return this.GetProperty(GamePropertys.accelerateTime);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 当前关卡
|
|
|
*/
|