//设置矿坑 void SetMineral (string uid) { PillageEnemyInfo info = MiningManagement.Instance.GetEnemyInfoByRoleUid (uid); if (info.minerals != null && info.minerals.Count != 0) { int i = 0; foreach (var tmp in info.minerals) { ButtonBase button; if (i == 0) { button = M0; } else { button = M1; } int type = MiningManagement.Instance.GetMiningSampleBySid (tmp.Value).type; if (type == (int)MiningTypePage.MiningGold) { button.GetComponent<UIButton> ().normalSprite = "gold"; button.textLabel.text = LanguageConfigManager.Instance.getLanguage("mining_gold"); } else { button.GetComponent<UIButton> ().normalSprite = "gem"; button.textLabel.text = LanguageConfigManager.Instance.getLanguage("mining_gem"); } button.exFields = new Hashtable(); button.exFields["local"] = tmp.Key; button.disableButton(false); i++; } } }
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 == "timeout") { MessageWindow.ShowAlert(LanguageConfigManager.Instance.getLanguage("mining_timeout")); } } else { ErlArray arr = data as ErlArray; MiningManagement.Instance.NewEnemyNum = StringKit.toInt(arr.Value[0].getValueString()); MiningManagement.Instance.ClearEnemyInfoList(); ErlArray peies = arr.Value[1] as ErlArray; for (int i = 0; i < peies.Value.Length; i++) { ErlArray info = peies.Value[i] as ErlArray; int k = 0; PillageEnemyInfo pei = new PillageEnemyInfo(); pei.node = info.Value[k++].getValueString(); pei.RoleUid = info.Value[k++].getValueString(); pei.HeadIconId = StringKit.toInt(info.Value[k++].getValueString()); pei.playerName = info.Value[k++].getValueString(); pei.serverName = info.Value[k++].getValueString(); pei.time = StringKit.toLong(info.Value[k++].getValueString()); pei.sid = StringKit.toInt(info.Value[k++].getValueString()); pei.count = StringKit.toInt(info.Value[k++].getValueString()); ErlArray minerals = info.Value[k++] as ErlArray; for (int j = 0; j < minerals.Value.Length; j++) { ErlArray mineral = minerals.Value[j] as ErlArray; pei.minerals.Add(StringKit.toInt(mineral.Value[0].getValueString()), StringKit.toInt(mineral.Value[1].getValueString())); } MiningManagement.Instance.AddEnemyInfoList(pei); } } } if (this.callback != null) { callback(); } }
/// <summary> /// 更新排行条目 /// </summary> /// <param name="tl">Tl.</param> private void updateRank(PillageEnemyInfo mi) { ResourcesManager.Instance.LoadAssetBundleTexture(UserManager.Instance.getIconPath(mi.HeadIconId), icon); name.text = mi.playerName; int type = MiningManagement.Instance.GetMiningSampleBySid(mi.sid).type; long time = ServerTimeKit.getSecondTime() - mi.time; if (type == (int)MiningTypePage.MiningGold) { timeDesc.text = time <= 3600 ? LanguageConfigManager.Instance.getLanguage("mining_info5") : LanguageConfigManager.Instance.getLanguage("mining_info1", TimeKit.timeTransformDHM(time)); detailDesc.text = LanguageConfigManager.Instance.getLanguage("mining_info3", mi.count.ToString()); } else { timeDesc.text = time <= 3600 ? LanguageConfigManager.Instance.getLanguage("mining_info6") : LanguageConfigManager.Instance.getLanguage("mining_info1", TimeKit.timeTransformDHM(time)); detailDesc.text = LanguageConfigManager.Instance.getLanguage("mining_info4", mi.count.ToString()); } }
/// <summary> /// 初始化button信息 /// </summary> /// <param name="tl">Tl.</param> public void initButtonInfo(PillageEnemyInfo mi, int index) { fightButton.setFatherWindow(win); fightButton.exFields = new Hashtable(); fightButton.exFields.Add("roleUid", mi.RoleUid); fightButton.exFields.Add("serverName", mi.serverName); replayButton.setFatherWindow(win); replayButton.exFields = new Hashtable(); replayButton.exFields.Add("roleUid", mi.RoleUid); replayButton.exFields.Add("serverName", mi.serverName); replayButton.exFields.Add("time", mi.time); if (mi.minerals.Count == 0) { fightButton.disableButton(true); } else { fightButton.disableButton(false); } }
public void AddEnemyInfoList(PillageEnemyInfo info) { enemyInfoList.Add(info); }
/**method */ /// <summary> /// 更新奖励条目 /// </summary> /// <param name="tl">排行奖励</param> /// <param name="win">父窗口</param> public void updateItem(PillageEnemyInfo mi, int index, WindowBase win) { this.win = win; updateRank(mi); initButtonInfo(mi, index); }