private void OnBuildComplateHandle(BaseEvent e) { BuildComplateEvent evt = e as BuildComplateEvent; buildComplateData = evt; repairBtns[buildComplateData.buildIndex - 1].gameObject.SetActive(buildComplateData.status == 1); if (!evt.isUpgrade) { StartCoroutine(showBuildAnimation(evt.buildIndex, evt.level, buildComplateData.isRepair)); } else { GameMainManager.instance.uiManager.DisableOperation(); StartCoroutine(showBuildAnimation(evt.buildIndex, GameMainManager.instance.model.userData.buildings[evt.buildIndex - 1].level + 1, buildComplateData.isRepair, () => { GameMainManager.instance.audioManager.PlaySound(AudioNameEnum.building_level_up); GameMainManager.instance.uiManager.CloseWindow(UISettings.UIWindowID.UITopBarWindow); upgradePanel.SetActive(true); onUpgrading(true); })); switchBtn.gameObject.SetActive(false); buildBtn.gameObject.SetActive(false); } }
private void Start() { items = GetComponentsInChildren <BuildingWindowItem>(); foreach (BuildingWindowItem item in items) { item.onBuild += (index) => { GameMainManager.instance.uiManager.CloseWindow(windowData.id); GameMainManager.instance.netManager.Build(userData.islandId, index - 1, (ret, data) => { if (ret && data.isOK) { BuildComplateEvent evt = new BuildComplateEvent(); evt.buildIndex = index; evt.level = data.data.buildings[index - 1].level; evt.status = data.data.buildings[index - 1].status; evt.isRepair = userData.buildings[index - 1].status == 1; evt.islandID = data.data.islandId; evt.isUpgrade = data.data.playUpgradeAnimation; evt.upgradeEnergyReward = data.data.upgradeEnergyAfterReward - data.data.energy; evt.upgradeMoneyReward = data.data.upgradeMoneyAfterReward - data.data.money; EventDispatcher.instance.DispatchEvent(evt); } }); }; } }
public void OnClickRepairBtn(int index) { GameMainManager.instance.netManager.Build(GameMainManager.instance.model.userData.islandId, index - 1, (ret, data) => { if (ret && data.isOK) { BuildComplateEvent evt = new BuildComplateEvent(); evt.buildIndex = index; evt.level = data.data.buildings[index - 1].level; evt.status = data.data.buildings[index - 1].status; evt.isRepair = true; evt.islandID = data.data.islandId; evt.isUpgrade = data.data.playUpgradeAnimation; evt.upgradeEnergyReward = data.data.upgradeEnergyAfterReward - data.data.energy; evt.upgradeMoneyReward = data.data.upgradeMoneyAfterReward - data.data.money; EventDispatcher.instance.DispatchEvent(evt); } }); }