예제 #1
0
    public void S2C_OnGetMainPlayerInfo(Pt _info)
    {
        isLogin = true;
        //Debug.logger.Log("S2C_OnGetMainPlayerInfo");
        pt_usr_info_b102 pt = _info as pt_usr_info_b102;

        GameCenter.mainPlayerMng = MainPlayerMng.CreateNew(new MainPlayerInfo(pt));
        GameCenter.mainPlayerMng.C2S_LoginInGame();
        GameCenter.mainPlayerMng.ApplySubData();
        if (MainPlayerMng.OnCreateNew != null)
        {
            MainPlayerMng.OnCreateNew();
        }
        if (GameCenter.instance.isPlatform)
        {
            MainPlayerInfo mainPlayerInfo = GameCenter.mainPlayerMng.MainPlayerInfo;
            //这里必须加角色创建时间(中间件要求) By邓成
            string playerName = mainPlayerInfo.Name + "|" + GetPlayerLastLoginTime(mainPlayerInfo.ServerInstanceID);
            LynSdkManager.Instance.UsrEnterGame(LoginServerID, LoginServerName, (ulong)mainPlayerInfo.ServerInstanceID, playerName, mainPlayerInfo.CurLevel,
                                                mainPlayerInfo.Prof.ToString(), mainPlayerInfo.GuildID.ToString(), mainPlayerInfo.VipLevel.ToString(), mainPlayerInfo.FightValue.ToString(), PlatformID);
            YvVoiceSdk.YvVoiceLogin(mainPlayerInfo.Name, mainPlayerInfo.ServerInstanceID);//云娃语音登录
            //if (GameCenter.instance.isDataEyePattern)
            //{
            //    DCAccount.setLevel(GameCenter.mainPlayerMng.MainPlayerInfo.CurLevel);
            //    DCAccount.login(Login_ID.ToString(), LoginServerName);
            //}
        }
    }
예제 #2
0
    /// <summary>
    /// 获得可用物品时,创建提示
    /// </summary>
    void CreateEquipTip(EquipmentInfo _info)
    {
        if (GameCenter.openServerRewardMng.isRotate)
        {
            return;
        }
        if (GameCenter.uIMng.CurOpenType == GUIType.SPRITEANIMAL)//使用宠物蛋融合的时候不提示
        {
            if (_info.ActionType == EquipActionType.activate_animal)
            {
                return;
            }
        }
        if (prefab == null)
        {
            prefab = exResources.GetResource(ResourceType.GUI, "mainUI/Main_ItemTips") as GameObject;
        }
        if (prefab == null)
        {
            Debug.Log("找不到相关预制!");
            return;
        }
        MainPlayerInfo info = GameCenter.mainPlayerMng.MainPlayerInfo;

        if (_info.OldSort >= 1 && _info.OldSort <= 12)
        {
            isEquip = _info.IsBetterSlot(_info);
        }
        else
        {
            isEquip = true;
        }
        if (_info.AttentionType == GoodsAttentionType.YES && (_info.NeedProf == info.Prof || _info.NeedProf == 0) && _info.UseReqLevel <= info.CurLevel && isEquip)
        {
            depath++;
            GameObject go = Instantiate(prefab) as GameObject;
            go.transform.parent        = this.gameObject.transform;
            go.transform.localPosition = prefab.transform.localPosition;
            go.transform.localScale    = Vector3.one;
            UIPanel uiPanel = go.GetComponent <UIPanel>();
            if (uiPanel != null)
            {
                uiPanel.depth = depath;
            }
            go.SetActive(true);
            equipTipList.Add(go);
            EquipTipUI equipTipUI = go.GetComponent <EquipTipUI>();
            if (equipTipUI != null)
            {
                equipTipUI.SetEquipTipInfo(_info, depath, equipTipList);
            }
            if (!EquipTip.Contains(_info))
            {
                EquipTip.Add(_info);
            }
            CancelInvoke("HideEquipTip");
            Invoke("HideEquipTip", 30.0f);
        }
        prefab = null;
    }
예제 #3
0
    /// <summary>
    /// 卸载其他玩家的资源 by吴江
    /// </summary>
    protected void UnLoadOPCEquipments()
    {
        //装备资源卸载 by吴江
        List <string>  mainPlayerEquipments = new List <string>();
        MainPlayerInfo info = GameCenter.mainPlayerMng.MainPlayerInfo;

        if (info != null)
        {
            foreach (EquipmentInfo item in info.CurShowDictionary.Values)
            {
                if (item != null)
                {
                    mainPlayerEquipments.Add(item.ShortUrl);
                }
            }
            if (info.CurMountInfo != null)
            {
                mainPlayerEquipments.Add(info.CurMountInfo.AssetURL);
            }
        }
        foreach (string url in equipmentCacheUrlList.Keys)
        {
            if (!mainPlayerEquipments.Contains(url))
            {
                DestroyImmediate(equipmentCacheUrlList[url], true);
                AssetMng.instance.UnloadUrl(url);
            }
        }
        equipmentCacheUrlList.Clear();
    }
예제 #4
0
 protected void RefreshMonsterOwner(int _id)//add 鲁家旗刷新最高伤害击杀者
 {
     if (_id == 0)
     {
         go.SetActive(false);
         return;
     }
     go.SetActive(true);
     curId = _id;
     //击杀者就是主玩家
     if (_id == GameCenter.mainPlayerMng.MainPlayerInfo.ServerInstanceID)
     {
         mainPlayerInfo = GameCenter.mainPlayerMng.MainPlayerInfo;
         if (mainPlayerInfo != null)
         {
             if (playerIcon != null)
             {
                 playerIcon.spriteName = mainPlayerInfo.IconName;
                 playerIcon.MakePixelPerfect();
             }
             SetOwerHp();
             if (levAndNameLabel != null)
             {
                 levAndNameLabel.text = mainPlayerInfo.LevelDes + "[" + mainPlayerInfo.Name + "]";
             }
             mainPlayerInfo.OnBaseUpdate -= RefreshMonsterOwnerHp;
             mainPlayerInfo.OnBaseUpdate += RefreshMonsterOwnerHp;
         }
     }
     else//击杀者是其他玩家
     {
         data = GameCenter.sceneMng.GetOPCInfo(_id);
         if (data != null)
         {
             if (playerIcon != null)
             {
                 playerIcon.spriteName = data.IconName;
                 playerIcon.MakePixelPerfect();
             }
             SetOtherHp();
             if (levAndNameLabel != null)
             {
                 levAndNameLabel.text = data.LevelDes + "[" + data.Name + "]";
             }
             data.OnBaseUpdate -= RefreshOtherMonsterOwnerHp;
             data.OnBaseUpdate += RefreshOtherMonsterOwnerHp;
         }
         else
         {
             go.SetActive(false);
         }
     }
 }
예제 #5
0
    void Awake()
    {
        actorInfo = GameCenter.mainPlayerMng.MainPlayerInfo;
        if (CharacterButton != null)
        {
            UIEventListener.Get(CharacterButton.gameObject).onClick -= OnClickCharacterBtn;
        }
        if (CharacterButton != null)
        {
            UIEventListener.Get(CharacterButton.gameObject).onClick += OnClickCharacterBtn;
        }
        if (VipButton != null)
        {
            UIEventListener.Get(VipButton.gameObject).onClick = OnClickVipBtn;
        }
        ShowMyVip();
        if (RechargeButton != null)
        {
            UIEventListener.Get(RechargeButton.gameObject).onClick -= OnClickRechargeBtn;
        }
        if (RechargeButton != null)
        {
            UIEventListener.Get(RechargeButton.gameObject).onClick += OnClickRechargeBtn;
        }
        if (btnPkModes != null)
        {
            for (int i = 0, max = btnPkModes.Length; i < max; i++)
            {
                if (btnPkModes[i] != null)
                {
                    UIEventListener.Get(btnPkModes[i].gameObject).onClick   = SetPkMode;
                    UIEventListener.Get(btnPkModes[i].gameObject).parameter = i + 1;
                }
            }
        }
        RefreshAll();
        if (unShow != null)
        {
            unShow.SetActive(GameCenter.mainPlayerMng.MainPlayerInfo.CurSceneUiType != SceneUiType.ARENA && GameCenter.mainPlayerMng.MainPlayerInfo.CurSceneUiType != SceneUiType.BUDOKAI);
        }

        if (pkModelUI != null)
        {
            pkModelUI.gameObject.SetActive(false);
        }
        if (sevenChallenge != null)
        {
            UIEventListener.Get(sevenChallenge.gameObject).onClick = OpenSevenChallenge;
        }
    }
예제 #6
0
 public static MainPlayerMng CreateNew(MainPlayerInfo _mainplayerInfo)
 {
     if (GameCenter.mainPlayerMng == null)
     {
         MainPlayerMng mainPlayerMng = new MainPlayerMng();
         mainPlayerMng.Init(_mainplayerInfo);
         return(mainPlayerMng);
     }
     else
     {
         GameCenter.mainPlayerMng.UnRegist();
         GameCenter.mainPlayerMng.Init(_mainplayerInfo);
         return(GameCenter.mainPlayerMng);
     }
 }
예제 #7
0
 public void ShowFx(bool _show)
 {
     isShow = false;
     if (MyTaskInfo == null || MyTaskInfo.TaskType != TaskType.Main)
     {
         isShow = true;            //不是主线不进Update
         if (guideFx != null && guideFx.activeSelf)
         {
             guideFx.SetActive(false);
         }
         return;
     }
     if (_show)
     {
         MainPlayerInfo mainInfo     = GameCenter.mainPlayerMng.MainPlayerInfo;
         bool           isInTaskPath = GameCenter.curMainPlayer != null && GameCenter.curMainPlayer.CurFSMState == MainPlayer.EventType.TASK_PATH_FIND;
         if (guideFx != null)
         {
             if (mainInfo.CurSceneUiType == SceneUiType.NONE && mainInfo.CurLevel <= 30 && !isInTaskPath)
             {
                 guideFx.SetActive(_show);
                 isShow         = true;
                 lastChangeTime = Time.time;
             }
             else
             {
                 if (guideFx.activeSelf)
                 {
                     guideFx.SetActive(false);
                 }
                 isShow         = false;
                 lastChangeTime = Time.time;
             }
         }
     }
     else
     {
         if (guideFx != null && guideFx.activeSelf)
         {
             guideFx.SetActive(_show);
         }
         isShow         = false;
         lastChangeTime = Time.time;
     }
 }
예제 #8
0
 protected void Init(MainPlayerMng _main)
 {
     mainPlayerInfo = _main.MainPlayerInfo;
     MsgHander.Regist(0xD501, S2C_GetGuildList);
     MsgHander.Regist(0xD379, S2C_OnGotStorageData);
     MsgHander.Regist(0xD506, S2C_OnGotChangeStorageData);
     MsgHander.Regist(0xD392, S2C_GuildLog);
     MsgHander.Regist(0xD503, S2C_GetNewMemberList);
     MsgHander.Regist(0xD380, S2C_GuildInfo);
     MsgHander.Regist(0xD381, S2C_GetGuildMember);
     MsgHander.Regist(0xD382, S2C_GuildNameUpdate);
     MsgHander.Regist(0xD524, S2C_OnGetItemApplyList);
     MsgHander.Regist(0xD525, S2C_GetStorageLogList);
     MsgHander.Regist(0xD394, S2C_UpdateSalaryState);
     MsgHander.Regist(0xD517, S2C_UpdateAutoReplyState);
     MsgHander.Regist(0xD527, S2C_GuildName);
     MsgHander.Regist(0xD50A, S2C_DonateLimitData);
     MsgHander.Regist(0xD50C, S2C_DonateLimitInfo);
     MsgHander.Regist(0xD138, S2C_GuildNotice);
     MsgHander.Regist(0xC124, S2C_ReqGuildResult);
     MsgHander.Regist(0xD50E, S2C_GotGuildLivelyData);
     MsgHander.Regist(0xD51A, S2C_OnGotLivelyRewardResult);
 }
예제 #9
0
 void Init(MainPlayerMng _main)
 {
     mainPlayerInfo = _main.MainPlayerInfo;
     MsgHander.Regist(0xD205, S2C_Reborn);
     MsgHander.Regist(0xD207, S2C_GetRebornTime);
 }
예제 #10
0
    protected void S2C_AbilityResult(Pt _info)
    {
        if (GameCenter.sceneMng == null || !GameCenter.sceneMng.EnterSucceed)
        {
            return;
        }
        pt_scene_skill_effect_c006 pt = _info as pt_scene_skill_effect_c006;

        if (pt != null)
        {
            //Debug.Log("effectSort:"+(AbilityResultCAUSEType)pt.effect_sort+",targetID:"+pt.target_id+",ObjectType:"+(ObjectType)pt.obj_sort);
            SmartActor     user           = null;
            ObjectType     type           = (ObjectType)pt.obj_sort;
            MainPlayerInfo mainPlayerInfo = GameCenter.mainPlayerMng.MainPlayerInfo;
            switch (type)
            {
            case ObjectType.Player:
                if ((int)pt.oid == mainPlayerInfo.ServerInstanceID)
                {
                    user = GameCenter.curMainPlayer;
                }
                else
                {
                    user = GameCenter.curGameStage.GetOtherPlayer((int)pt.oid) as SmartActor;
                }
                break;

            case ObjectType.MOB:
                user = GameCenter.curGameStage.GetMOB((int)pt.oid) as SmartActor;
                break;

            case ObjectType.Entourage:
                user = GameCenter.curGameStage.GetEntourage((int)pt.oid) as EntourageBase;
                break;

            default:
                break;
            }


            for (int i = 0; i < pt.effect_list.Count; i++)
            {
                st.net.NetBase.skill_effect ef = pt.effect_list[i];
                ActorInfo info = null;
                type = (ObjectType)ef.target_sort;
                //if (user == GameCenter.curMainPlayer)
                //{
                //    if ((AttackResultType)ef.atk_sort != AttackResultType.ATT_SORT_DODGE)
                //    {
                //        if (OnContinuCountUpdate != null)
                //        {
                //            OnContinuCountUpdate(Time.time);
                //        }
                //    }
                //}
                switch (type)
                {
                case ObjectType.Player:
                    if (ef.target_id == mainPlayerInfo.ServerInstanceID)
                    {
                        mainPlayerInfo.Update(ef);
                        if ((DefResultType)ef.def_sort != DefResultType.DEF_SORT_ADDMP && (DefResultType)ef.def_sort != DefResultType.DEF_SORT_TREAT) //如果是非增益后果
                        {
                            if (OnMainPlayerBeHit != null && user != null)                                                                            //主角被打的事件
                            {
                                OnMainPlayerBeHit(user);
                            }
                            OtherPlayer other = user as OtherPlayer;
                            if (other != null && mainPlayerInfo.CurSceneType == SceneType.SCUFFLEFIELD)
                            {
                                if (!abilityResultUserDic.ContainsKey(other.id) || Time.time - abilityResultUserDic[other.id] > 5f)                                       //被玩家攻击提示,5秒不重复
                                {
                                    abilityResultUserDic[other.id] = Time.time;
                                    GameCenter.messageMng.AddClientMsg((mainPlayerInfo.KillingValue > 1000 || mainPlayerInfo.IsCounterAttack)?434:433, new string[1] {
                                        other.ActorName
                                    });
                                    if (OnMainPlayerBeAttack != null)
                                    {
                                        OnMainPlayerBeAttack(other);
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        info = GameCenter.sceneMng.GetOPCInfo((int)ef.target_id) as OtherPlayerInfo;
                        if (info != null)
                        {
                            info.Update(ef);
                        }
                    }
                    break;

                case ObjectType.MOB:
                    info = GameCenter.sceneMng.GetMobInfo((int)ef.target_id) as MonsterInfo;
                    if (info != null)
                    {
                        info.Update(ef);
                    }
                    break;

                case ObjectType.Entourage:
                    if (GameCenter.mercenaryMng.curMercernaryInfo != null && ef.target_id == GameCenter.mercenaryMng.curMercernaryInfo.ServerInstanceID)
                    {
                        GameCenter.mercenaryMng.curMercernaryInfo.Update(ef);
                    }
                    else
                    {
                        info = GameCenter.sceneMng.GetEntourageInfo((int)ef.target_id) as MercenaryInfo;
                        if (info != null)
                        {
                            info.Update(ef);
                        }
                    }
                    break;
                }
            }


            AbilityInstance instance = null;

            if ((int)pt.oid == GameCenter.curMainPlayer.id || (GameCenter.curMainEntourage != null && (int)pt.oid == GameCenter.curMainEntourage.id))
            {
                if (waitServerConfirmAbilityDic.ContainsKey(pt.seq))
                {
                    instance = waitServerConfirmAbilityDic[pt.seq] as AbilityInstance;
                    if (instance != null)
                    {
                        instance.AbilityResult(pt);
                        instance.OnTringEnd -= OnAbilityInstanceTringEnd;
                        waitServerConfirmAbilityDic.Remove(pt.seq);
                    }
                }
                else
                {
                    if (pt.seq != 0)
                    {
                        GameSys.LogError("找不到等待技能 " + pt.seq);
                    }
                    else
                    {
                        if (user != null)
                        {
                            if (pt.skill == 0)
                            {
                                Debug.LogError(user.name + "使用技能ID为0的技能");
                            }
                            else
                            {
                                instance = new AbilityInstance(pt, user);
                            }
                        }
                    }
                }
            }
            else
            {
                bool useSkill = (pt.effect_sort == 2);
                if (user != null)
                {
                    if (user.curTryUseAbility != null && user.curTryUseAbility.AbilityID == pt.skill && user.curTryUseAbility.RuneID == pt.rune &&
                        user.curTryUseAbility.Level == pt.lev && user.curTryUseAbility.NeedPrepare && !user.curTryUseAbility.HasServerConfirm)
                    {
                        instance = user.curTryUseAbility;
                    }
                    else
                    {
                        instance = new AbilityInstance(pt, user);
                        if ((ObjectType)pt.obj_sort == ObjectType.Player)                       //这里的判断不能用type
                        {
                            //技能动作完成了才继续放技能,否则其他大风车技能会瞬移  by邓成
                            //这种处理同时导致了,法师动作比特效慢,因为一个技能放完,实际还在isCasting
                            if (useSkill)
                            {
                                user.UseAbility(instance);
                            }
                        }
                        else
                        {
                            if (useSkill)                           //怪物也需要加这个,否则SkillReportID出现两次
                            {
                                user.UseAbility(instance);
                            }
                        }
                    }
                }
                else
                {
                    instance = new AbilityInstance(pt, null);
                }
                instance.AbilityResult(pt);
            }
            if (instance != null && user != null)
            {
                switch (instance.CurClientShowType)
                {
                case ClientShowType.Lightingskill:
                    user.fxCtrl.CastLightingShake(instance);
                    break;
                }
            }
        }
    }
예제 #11
0
    void ShowStar()
    {
        int            threeStarSecond = 0;
        int            twoStarSecond   = 0;
        MainPlayerInfo mainPlayerInfo  = GameCenter.mainPlayerMng.MainPlayerInfo;
        SceneRef       sceneRef        = mainPlayerInfo.CurSceneRef;
        bool           isTowerScene    = false;

        if (sceneRef != null)
        {
            //镇魔塔三星时间特殊
            if (mainPlayerInfo.CurSceneUiType == SceneUiType.TOWER)
            {
                isTowerScene = true;
                int      layer    = GameCenter.dungeonMng.DungeonWave;
                int      sceneID  = sceneRef.id;
                TowerRef towerRef = ConfigMng.Instance.GetTowerRefByLayer(layer, sceneID);
                if (towerRef != null)
                {
                    threeStarSecond = towerRef.Time3;
                    twoStarSecond   = towerRef.Time2;
                }
            }
            else
            {
                threeStarSecond = sceneRef.starTime3;
                twoStarSecond   = sceneRef.starTime2;
            }
            int actionTime     = sceneRef.dropRemainTimes - GameCenter.dungeonMng.DungeonTime;            //副本已经进行的时间
            int realTime       = (int)Time.realtimeSinceStartup - GameCenter.dungeonMng.DungeonStartTime; //接到协议到此处的时间差
            int realActionTime = actionTime + realTime;
            Debug.Log("threeStarSecond:" + threeStarSecond + ",twoStarSecond:" + twoStarSecond + ",realActionTime:" + realActionTime + ",realTime:" + realTime + ",sceneRef.dropRemainTimes:" + sceneRef.dropRemainTimes);
            float fromPoint          = 1.0f;
            float durationTime       = 0f;
            bool  startWithThreeSatr = false;
            bool  startWithTwoSatr   = false;
            if (isTowerScene)
            {
                startWithThreeSatr = realTime < threeStarSecond - 1;
                startWithTwoSatr   = realTime < threeStarSecond + twoStarSecond - 1;
                if (startWithThreeSatr)
                {
                    durationTime = threeStarSecond - realTime;
                }
                else if (startWithTwoSatr)
                {
                    durationTime = threeStarSecond + twoStarSecond - realTime;
                }
                fromPoint = 1.0f;
            }
            else
            {
                if (realActionTime < threeStarSecond)               //从三星开始计时(断线重连)
                {
                    startWithThreeSatr = true;
                    fromPoint          = (float)(threeStarSecond - realActionTime) / (float)threeStarSecond;
                    durationTime       = (float)(threeStarSecond - realActionTime);
                }
                if (!startWithThreeSatr && realActionTime < threeStarSecond + twoStarSecond)             //从二星开始计时
                {
                    startWithTwoSatr = true;
                    fromPoint        = (float)(twoStarSecond + threeStarSecond - realActionTime) / (float)twoStarSecond;
                    durationTime     = (float)(twoStarSecond + threeStarSecond - realActionTime);
                }
            }
            if (startWithThreeSatr)           //-1防止TweenFill比Time.realtimeSinceStartup快一点点导致bug
            {
                ShowStar(3);
                if (labStarDes != null)
                {
                    labStarDes.text = threeStarSecond + ConfigMng.Instance.GetUItext(298);
                }
                if (timeProgress != null)
                {
                    timeProgress.ResetToBeginning();
                    timeProgress.from     = fromPoint;
                    timeProgress.duration = durationTime;
                    timeProgress.AddOnFinished(() =>
                    {
                        ShowStar();
                    });
                    timeProgress.enabled = true;
                }
            }
            else if (startWithTwoSatr)            //-1防止TweenFill比Time.realtimeSinceStartup快一点点导致bug
            {
                ShowStar(2);
                if (labStarDes != null)
                {
                    labStarDes.text = twoStarSecond + ConfigMng.Instance.GetUItext(299);
                }
                if (timeProgress != null)
                {
                    timeProgress.ResetToBeginning();
                    timeProgress.from     = fromPoint;
                    timeProgress.duration = durationTime;
                    timeProgress.AddOnFinished(() =>
                    {
                        ShowStar();
                    });
                    timeProgress.enabled = true;
                }
            }
            else
            {
                ShowStar(1);
                if (labStarDes != null)
                {
                    labStarDes.text = ConfigMng.Instance.GetUItext(300);
                }
            }
        }
    }
예제 #12
0
    protected void Init(MainPlayerInfo _mainplayerInfo)
    {
        mainPlayerInfo = _mainplayerInfo;
        functionList.Clear();
        hasApplySubData = false;
        MsgHander.Regist(0xB107, S2C_OnChangePos);
        MsgHander.Regist(0xB104, S2C_OnLoginInGame);
        // MsgHander.Regist(0xD204, S2C_CollectResult);
        MsgHander.Regist(0xD01D, S2C_OnBaseValueChange);
        //MsgHander.Regist(0xD329, S2C_VIPResult);
        MsgHander.Regist(0xD442, S2C_ReinNum);
        MsgHander.Regist(0xB105, S2C_CurServerTime);
        //MsgHander.Regist(0xD779,S2C_ServerStartGuide);
        MsgHander.Regist(0xC105, S2C_UpdateFuncReward);
        //物品管理类
        inventoryMng            = InventoryMng.CreateNew(this);
        GameCenter.inventoryMng = inventoryMng;
        //宠物管理类
        //petMng = PetMng.CreateNew(this);
        //GameCenter.petMng = petMng;
        //新排行榜管理类
        newRankingMng            = NewRankingMng.CreateNew();
        GameCenter.newRankingMng = newRankingMng;
        //法宝管理类
        magicWeaponMng            = MagicWeaponMng.CreateNew(this);
        GameCenter.magicWeaponMng = magicWeaponMng;
        //成就管理类
        achievementMng            = AchievementMng.CreateNew(this);
        GameCenter.achievementMng = achievementMng;
        //七天奖励管理类
        sevenDayMng            = SevenDayMng.CreateNew();
        GameCenter.sevenDayMng = sevenDayMng;
        //首冲大礼管理类
        firstChargeBonusMng            = FirstChargeBonusMng.CreateNew();
        GameCenter.firstChargeBonusMng = firstChargeBonusMng;
        //翅膀管理类
        wingMng            = WingMng.CreateNew(this);
        GameCenter.wingMng = wingMng;

        rebornMng            = RebornMng.CreateNew(this);
        GameCenter.rebornMng = rebornMng;

//		sceneAnimMng = SceneAnimMng.CreateNew();
//		GameCenter.sceneAnimMng = sceneAnimMng;

        //随从管理类
        mercenaryMng            = MercenaryMng.CreateNew();
        GameCenter.mercenaryMng = mercenaryMng;

        newMountMng            = NewMountMng.CreateNew();
        GameCenter.newMountMng = newMountMng;

        guildMng            = GuildMng.CreateNew(this);
        GameCenter.guildMng = guildMng;

        dailyMustDoMng            = DailyMustDoMng.CreateNew();
        GameCenter.dailyMustDoMng = dailyMustDoMng;

        taskMng            = TaskMng.CreateNew(this);
        GameCenter.taskMng = taskMng;

        teamMng            = TeamMng.CreateNew();
        GameCenter.teamMng = teamMng;
        // 好友管理类 by朱素云
        friendsMng            = FriendsMng.CreateNew();
        GameCenter.friendsMng = friendsMng;
        // 等级奖励管理类 by朱素云
        rankRewardMng            = RankRewardMng.CreateNew();
        GameCenter.rankRewardMng = rankRewardMng;
        // 修行管理类 by朱素云
        practiceMng            = PracticeMng.CreateNew();
        GameCenter.practiceMng = practiceMng;
        // 仙侣管理类 by朱素云
        coupleMng            = CoupleMng.CreateNew();
        GameCenter.coupleMng = coupleMng;
        // 周卡管理类 by朱素云
        weekCardMng            = WeekCardMng.CreateNew();
        GameCenter.weekCardMng = weekCardMng;
        // 爱心礼包管理类 by朱素云
        lovePackageMng            = LovePackageMng.CreateNew();
        GameCenter.lovePackageMng = lovePackageMng;
        // 结义管理类 by朱素云
        swornMng            = SwornMng.CreateNew();
        GameCenter.swornMng = swornMng;
        //副本选择管理类
        dungeonMng            = DungeonMng.CreateNew();
        GameCenter.dungeonMng = dungeonMng;
        // 火焰山战场管理类 by朱素云
        battleFightMng            = BattleFightMng.CreateNew();
        GameCenter.battleFightMng = battleFightMng;



        //技能升级管理类
        skillMng            = SkillMng.CreateNew(ref skillMng);
        GameCenter.skillMng = skillMng;

        //称号管理类 by 贺丰
        titleMng            = TitleMng.CreateNew(ref titleMng);
        GameCenter.titleMng = titleMng;

        //邮箱管理类
        mailBoxMng            = XXMailMng.CreateNew();
        GameCenter.mailBoxMng = mailBoxMng;

        endLessTrialsMng            = EndLessTrialsMng.CreateNew();
        GameCenter.endLessTrialsMng = endLessTrialsMng;

        //聊天管理类
        chatMng            = ChatMng.CreateNew();
        GameCenter.chatMng = chatMng;


//        GameCenter.taskMng.updateSingleTask += TaskOpenFunction;
        GameCenter.taskMng.OnTaskGuideUpdateEvent         += TaskProcessOpenFunction;
        GameCenter.taskMng.OnTaskFinishedGuideUpdateEvent += TaskFinishedOpenFunction;

        equipmentTraningMng             = EquipmentTrainingMng.CreateNew();
        GameCenter.equipmentTrainingMng = equipmentTraningMng;

        //时装管理类
        fashionMng            = FashionMng.CreateNew(this);
        GameCenter.fashionMng = fashionMng;

        //商店管理类
        shopMng            = ShopMng.CreateNew(this);
        GameCenter.shopMng = shopMng;
        //仙盟商店管理类
        guildShopMng            = GuildShopMng.CreateNew(this);
        GameCenter.guildShopMng = guildShopMng;
        //仙盟技能管理类
        guildSkillMng            = GuildSkillMng.CreateNew(this);
        GameCenter.guildSkillMng = guildSkillMng;

        //下载管理类
        downloadBonusMng            = DownloadBonusMng.CreateNew(this);
        GameCenter.downloadBonusMng = downloadBonusMng;


        //商城管理类
        newMallMng            = NewMallMng.CreateNew(this);
        GameCenter.newMallMng = newMallMng;


        //物品购买
        buyMng            = BuyMng.CreateNew(this);
        GameCenter.buyMng = buyMng;

        //交易
        tradeMng            = TradeMng.CreateNew(this);
        GameCenter.tradeMng = tradeMng;


        //充值管理
        rechargeMng            = RechargeMng.CreateNew(this);
        GameCenter.rechargeMng = rechargeMng;

        //市场
        marketMng            = MarketMng.CreateNew(this);
        GameCenter.marketMng = marketMng;

        //铸魂
        castSoulMng            = CastSoulMng.CreateNew(this);
        GameCenter.castSoulMng = castSoulMng;

        //在线奖励
        onlineRewardMng            = OnlineRewardMng.CreateNew(this);
        GameCenter.onlineRewardMng = onlineRewardMng;

        //仙域争霸
        guildFightMng            = GuildFightMng.CreateNew(this);
        GameCenter.guildFightMng = guildFightMng;

        //精彩活动
        wdfActiveMng            = WdfActiveMng.CreateNew();
        GameCenter.wdfActiveMng = wdfActiveMng;

        //开服贺礼
        openServerRewardMng            = OpenServerRewardMng.CreateNew(this);
        GameCenter.openServerRewardMng = openServerRewardMng;

        //复活
        resurrectionMng            = ResurrectionMng.CreateNew(this);
        GameCenter.resurrectionMng = resurrectionMng;
        //小助手
        littleHelperMng            = LittleHelperMng.CreateNew(this);
        GameCenter.littleHelperMng = littleHelperMng;

        //藏宝阁管理类
        treasureHouseMng            = TreasureHouseMng.CreateNew();
        GameCenter.treasureHouseMng = treasureHouseMng;

        //皇室宝箱管理类
        royalTreasureMng            = RoyalTreasureMng.CreateNew();
        GameCenter.royalTreasureMng = royalTreasureMng;

        //奇缘系统管理类
        newMiracleMng         = MiracleMng.CreateNew();
        GameCenter.miracleMng = newMiracleMng;

        //二冲系统管理类
        newTwoChargeMng         = TwoChargeMng.CreateNew();
        GameCenter.twoChargeMng = newTwoChargeMng;


        bossChallengeMng            = BossChallengeMng.CreateNew();
        GameCenter.bossChallengeMng = bossChallengeMng;

        activityMng            = ActivityMng.CreateNew();
        GameCenter.activityMng = activityMng;
        //单人副本多人副本的管理类
        duplicateMng            = DuplicateMng.CreateNew();
        GameCenter.duplicateMng = duplicateMng;
        //竞技场管理类
        arenaMng            = ArenaMng.CreateNew();
        GameCenter.arenaMng = arenaMng;
        //新手引导管理类
        noviceGuideMng            = NoviceGuideMng.CreateNew();
        GameCenter.noviceGuideMng = noviceGuideMng;

        //离线经验管理类
        offLineRewardMng            = OffLineRewardMng.CreateNew();
        GameCenter.offLineRewardMng = offLineRewardMng;
        //VIP管理类
        vipMng            = VipMng.CreateNew();
        GameCenter.vipMng = vipMng;
        //宝藏活动的管理类
        treasureTroveMng            = TreasureTroveMng.CreateNew();
        GameCenter.treasureTroveMng = treasureTroveMng;
        //七日挑战管理类
        sevenChallengeMng            = SevenChallengeMng.CreateNew();
        GameCenter.sevenChallengeMng = sevenChallengeMng;
        //走马灯 by hmj
        GameCenter.uIMng.GenGUI(GUIType.MERRYGOROUND, true);
        //MsgHander.Regist(0xD804,S2C_GuideSeqencingList);
        MsgHander.Regist(0xD786, S2C_ServerStartTime);
        MsgHander.Regist(0xD70A, S2C_StartCameraFocus);
        MsgHander.Regist(0xD70B, S2C_EndCameraFocus);

        IsUpdateQuestionList = true;
        serverStartTiem      = DateTime.Now;
    }