Example #1
0
        protected override void OnCloseUIFormComplete(object sender, GameEventArgs e)
        {
            CloseUIFormCompleteEventArgs eventArgs = e as CloseUIFormCompleteEventArgs;

            if (eventArgs.SerialId != uiFormSerialId.Value)
            {
                return;
            }

            bool exitSelectBuilding = (bool)eventArgs.UserData;

            if (exitSelectBuilding)
            {
                // 恢復主介面
                var uiForm = GameCore.UI.GetUIForm(UIFormId.UIWorldMain, Constant.UI.GroupNames[(int)GameFramework.UI.UILevel.Default]);
                GameCore.UI.RefocusUIForm(uiForm.UIForm);
                // 返回世界地圖視角狀態
                ChangeState <WorldMapView>(owner);
            }
            else
            {
                // 返回選擇建築地格
                ChangeState <WorldMapSelectBuildingGrid>(owner);
            }
        }
        protected override void OnCloseUIFormComplete(object sender, GameEventArgs e)
        {
            CloseUIFormCompleteEventArgs eventArgs = e as CloseUIFormCompleteEventArgs;

            if (eventArgs.SerialId == uiSerialId.Value)
            {
                ChangeStateToWorldMapView();
                uiSerialId = null;
            }
        }
Example #3
0
        /// <summary>
        /// 创建关闭界面完成事件。
        /// </summary>
        /// <param name="serialId">界面序列编号。</param>
        /// <param name="uiFormAssetName">界面资源名称。</param>
        /// <param name="uiGroup">界面所属的界面组。</param>
        /// <param name="userData">用户自定义数据。</param>
        /// <returns>创建的关闭界面完成事件。</returns>
        public static CloseUIFormCompleteEventArgs Create(int serialId, string uiFormAssetName, IUIGroup uiGroup, object userData)
        {
            CloseUIFormCompleteEventArgs closeUIFormCompleteEventArgs = ReferencePool.Acquire <CloseUIFormCompleteEventArgs>();

            closeUIFormCompleteEventArgs.SerialId        = serialId;
            closeUIFormCompleteEventArgs.UIFormAssetName = uiFormAssetName;
            closeUIFormCompleteEventArgs.UIGroup         = uiGroup;
            closeUIFormCompleteEventArgs.UserData        = userData;
            return(closeUIFormCompleteEventArgs);
        }
Example #4
0
        protected override void OnCloseUIFormComplete(object sender, GameEventArgs e)
        {
            CloseUIFormCompleteEventArgs eventArgs = e as CloseUIFormCompleteEventArgs;

            if (eventArgs.UIFormAssetName.Contains(UIFormId.UICastleInfo.ToString()))
            {
                // 有建設中的建物
                if (GameCore.NetData.ContainsEnchant(NetDataComponent.BuildEnchantID))
                {
                    GameCore.UI.OpenUIForm(UIFormId.UISpeedUpBuildingMsg);
                }
                else
                {
                    // 無建設中的建物
                    if (eventArgs.UserData != null)
                    {
                        bool toSelectBuilding = (bool)eventArgs.UserData;
                        if (toSelectBuilding)
                        {
                            // 進入選擇建設位置狀態
                            ChangeState <WorldMapSelectBuildingGrid>(owner);
                        }
                    }
                }
            }
            else if (eventArgs.UIFormAssetName.Contains(UIFormId.UIMainBuildingInfo.ToString()))
            {
                // 有建設中的建物
                if (GameCore.NetData.ContainsEnchant(NetDataComponent.BuildEnchantID))
                {
                    GameCore.UI.OpenUIForm(UIFormId.UISpeedUpBuildingMsg);
                }
                else
                {
                    // 無建設中的建物
                    if (eventArgs.UserData != null)
                    {
                        var buildingObj = eventArgs.UserData as BuildingObj;
                        // 進入選擇副建築狀態
                        ChangeState <WorldMapSelectSubBuilding>(owner, new WorldMapSelectSubBuilding.Preset()
                        {
                            posIndex = buildingObj.PosIndex, masterTid = buildingObj.MasterTid, position = buildingObj.Position(), isMainBuildingProcess = false
                        });
                    }
                }
            }
        }