public override void read(ErlKVMessage message) { ErlType data = message.getValue("msg") as ErlType; if (data != null && data is ErlArray) { ErlArray arr = data as ErlArray; MiningManagement.Instance.SearchTimes = StringKit.toInt(arr.Value[0].getValueString()); ErlArray arr_mineral = arr.Value[1] as ErlArray; for (int i = 0; i < arr_mineral.Value.Length; i++) { ErlArray mineral = arr_mineral.Value[i] as ErlArray; MineralInfo info = new MineralInfo(); info.localId = StringKit.toInt(mineral.Value [0].getValueString()); info.sid = StringKit.toInt(mineral.Value [1].getValueString()); info.armyId = StringKit.toInt(mineral.Value [2].getValueString()); info.startTime = StringKit.toLong(mineral.Value [3].getValueString()); info.balanceTime = StringKit.toLong(mineral.Value [4].getValueString()); info.balanceCount = StringKit.toInt(mineral.Value [5].getValueString()); MiningManagement.Instance.minerals[info.localId] = null; MiningManagement.Instance.AddMineral(info); } if (this.callback != null) { callback(); } } }
public float GetSpeed(int localId) { MineralInfo mineralInfo = minerals[localId]; if (GetMiningSample(localId).type == (int)MiningTypePage.MiningGold) { float temp = GetMiningSampleBySid(mineralInfo.sid).outputRate + ArmyManager.Instance.getArmy(mineralInfo.armyId).getAllCombat() / 300000f; float maxNum = (float)CommandConfigManager.Instance.getMoneySpeedOfArean(); return(temp > maxNum ? maxNum : temp); //return GetMiningSampleBySid(mineralInfo.sid).outputRate + ArmyManager.Instance.getArmy(mineralInfo.armyId).getAllCombat() / 300000f; } return(GetMiningSampleBySid(mineralInfo.sid).outputRate); }
public override void read(ErlKVMessage message) { ErlType data = message.getValue("msg") as ErlType; if (data != null) { if (!(data is ErlArray)) { string str = (data as ErlAtom).Value; if (str == "limit") { MessageWindow.ShowAlert(LanguageConfigManager.Instance.getLanguage("mining_limit")); } else if (str == "sid_error") { MessageWindow.ShowAlert(LanguageConfigManager.Instance.getLanguage("mining_sid_error")); } else if (str == "no_array") { MessageWindow.ShowAlert(LanguageConfigManager.Instance.getLanguage("mining_no_array")); } else if (str == "array_busy") { MessageWindow.ShowAlert(LanguageConfigManager.Instance.getLanguage("mining_array_busy")); } else if (str == "local_exist") { MessageWindow.ShowAlert(LanguageConfigManager.Instance.getLanguage("mining_local_exist")); } } else { ErlArray arr = data as ErlArray; MineralInfo info = new MineralInfo(); info.localId = StringKit.toInt(arr.Value [0].getValueString()); info.sid = StringKit.toInt(arr.Value [1].getValueString()); info.armyId = StringKit.toInt(arr.Value [2].getValueString()); info.startTime = StringKit.toLong(arr.Value [3].getValueString()); info.balanceTime = StringKit.toLong(arr.Value [4].getValueString()); info.balanceCount = StringKit.toInt(arr.Value [5].getValueString()); MiningManagement.Instance.AddMineral(info); if (this.callback != null) { callback(); } } } }
public int GetBalance(int localId) { MineralInfo mineralInfo = minerals[localId]; float balance = mineralInfo.balanceCount; if (GetMiningSample(localId).type == (int)MiningTypePage.MiningGold) { if (GetRemainTime(localId) > 0) { float time = ServerTimeKit.getSecondTime() - mineralInfo.startTime; balance += (float)(time < 0?0:time * GetSpeed(localId)); } else { balance += (float)((mineralInfo.balanceTime - mineralInfo.startTime) * GetSpeed(localId)); } } else { if (GetRemainTime(localId) > 0) { float time = ServerTimeKit.getSecondTime() - mineralInfo.startTime; balance += (float)(time < 0 ? 0 : time * (GetSpeed(localId))); } else { balance += (float)((mineralInfo.balanceTime - mineralInfo.startTime) * (GetSpeed(localId))); } } if (balance < 0) { Debug.Log(12312); } return((int)balance); }
public void AddMineral(MineralInfo info) { minerals[info.localId] = info; }
public string GetMineralBackground(int localId) { MineralInfo mineralInfo = minerals[localId]; return(GetMiningSampleBySid(mineralInfo.sid).background); }