示例#1
0
    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);
        }
    }
示例#2
0
 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);
                 }
             });
         };
     }
 }
示例#3
0
 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);
         }
     });
 }