コード例 #1
0
ファイル: MapHelper.cs プロジェクト: FUCKINGLIFE/Push-Pop
        public static async ETVoid EnterMapAsync()
        {
            try
            {
                // 加载Unit资源
                ResourcesComponent resourcesComponent = ETModel.Game.Scene.GetComponent <ResourcesComponent>();
                await resourcesComponent.LoadBundleAsync($"player.unity3d");

                // 加载场景资源
                await ETModel.Game.Scene.GetComponent <ResourcesComponent>().LoadBundleAsync("map.unity3d");

                // 切换到map场景
                using (SceneChangeComponent sceneChangeComponent = ETModel.Game.Scene.AddComponent <SceneChangeComponent>())
                {
                    await sceneChangeComponent.ChangeSceneAsync(SceneType.Map);
                }

                Game.Scene.AddComponent <OperaComponent>();
                Game.Scene.AddComponent <PlatformComponent>();

                Player          player          = PlayerFactory.Create(IdGenerater.GenerateId());
                PlayerComponent playerComponent = Game.Scene.GetComponent <PlayerComponent>();
                playerComponent.MyPlayer = player;

                Game.EventSystem.Run(EventIdType.EnterMapFinish);
            }
            catch (Exception e)
            {
                Log.Error(e);
            }
        }
コード例 #2
0
ファイル: MapHelper.cs プロジェクト: yzx4036/BodyET
        public static async ETVoid EnterMapAsync(string sceneName)
        {
            try
            {
                // 加载Unit资源
                var resourcesComponent = ETModel.Game.Scene.GetComponent <ResourcesComponent>();
                await resourcesComponent.LoadBundleAsync($"unit.unity3d");

                // 加载场景资源
                await ETModel.Game.Scene.GetComponent <ResourcesComponent>().LoadBundleAsync("map.unity3d");

                // 切换到map场景
                using (SceneChangeComponent sceneChangeComponent = ETModel.Game.Scene.AddComponent <SceneChangeComponent>())
                {
                    await sceneChangeComponent.ChangeSceneAsync(sceneName);
                }

                var g2CEnterMap = await ETModel.SessionComponent.Instance.Session.Call(new C2G_EnterMap()) as G2C_EnterMap;

                Game.EventSystem.Run(EventIdType.EnterMapFinish);
            }
            catch (Exception e)
            {
                Log.Error(e);
            }
        }
コード例 #3
0
        private static async ETVoid EnterBattleAsync()
        {
            try
            {
                // 加载Unit资源
                ResourcesComponent resourcesComponent = ETModel.Game.Scene.GetComponent <ResourcesComponent>();

                // 加载场景资源
                await resourcesComponent.LoadBundleAsync("battle.unity3d");

                // 切换到Battle场景
                using (SceneChangeComponent sceneChangeComponent = Game.Scene.AddComponent <SceneChangeComponent>())
                {
                    await sceneChangeComponent.ChangeSceneAsync(SceneType.Battle);

                    Game.EventSystem.Run(EventIdType.EnterBattlefieldFinish);
                }

                Game.EventSystem.Run(EventIdType.GMCreateTank, 10000);

                // G2C_EnterMap g2CEnterMap = await ETModel.SessionComponent.Instance.Session.Call(new C2G_EnterMap()) as G2C_EnterMap;
                // PlayerComponent.Instance.MyPlayer.UnitId = g2CEnterMap.UnitId;
                //
                // Game.Scene.AddComponent<OperaComponent>();
                //
                // // 逻辑层不应该去调用UI,逻辑层只关心逻辑并且抛出事件,由UI层自己去订阅事件
                // Game.EventSystem.Run(EventIdType.EnterMapFinish);
            }
            catch (Exception e)
            {
                Log.Error(e);
            }
        }
コード例 #4
0
ファイル: LogicHelper.cs プロジェクト: aoehuge/ET
        public static async ETVoid EnterMapAsync()
        {
            try
            {
                // 加载Unit资源
                ResourcesComponent resourcesComponent = ETModel.Game.Scene.GetComponent <ResourcesComponent>();
                await resourcesComponent.LoadBundleAsync($"unit.unity3d");

                // 加载场景资源
                await ETModel.Game.Scene.GetComponent <ResourcesComponent>().LoadBundleAsync("map.unity3d");

                // 切换到map场景
                using (SceneChangeComponent sceneChangeComponent = ETModel.Game.Scene.AddComponent <SceneChangeComponent>())
                {
                    await sceneChangeComponent.ChangeSceneAsync(SceneType.Map.ToString());
                }

                G2C_EnterMap g2CEnterMap = await ETModel.SessionComponent.Instance.Session.Call(new C2G_EnterMap()) as G2C_EnterMap;

                PlayerComponent.Instance.MyPlayer.UnitId = g2CEnterMap.UnitId;

                Game.Scene.AddComponent <OperaComponent>();

                // 逻辑层不应该去调用UI,逻辑层只关心逻辑并且抛出事件,由UI层自己去订阅事件
                Game.EventSystem.Run(EventIdType.EnterMapFinish);
            }
            catch (Exception e)
            {
                Log.Error(e);
            }
        }
コード例 #5
0
        public static async ETVoid EnterMainAsync()
        {
            try
            {
                //1.获取资源
                ResourcesComponent resourcesComponent = ETModel.Game.Scene.GetComponent <ResourcesComponent>();
                await resourcesComponent.LoadBundleAsync("unit.unity3d");

                await ETModel.Game.Scene.GetComponent <ResourcesComponent>().LoadBundleAsync("main.unity3d");

                using (SceneChangeComponent sceneChangeComponent = ETModel.Game.Scene.AddComponent <SceneChangeComponent>())
                {
                    await sceneChangeComponent.ChangeSceneAsync(SceneType.Main);

                    Log.Debug("场景加载进度:" + sceneChangeComponent.Process);
                }

                Game.Scene.AddComponent <MainComponent>();

                Game.EventSystem.Run(EventIdType.EnterMainFinish);
            }
            catch (System.Exception e)
            {
                Log.Error(e);
            }
        }
コード例 #6
0
ファイル: MyGameHelper.cs プロジェクト: Avatarchik/Miracle
        /// <summary>
        /// 联网demo的切换场景
        /// </summary>
        /// <returns></returns>
        public static async ETVoid EnterMyGameAsync()
        {
            try
            {
                // 获取加载ResourcesComponent组件   加载Unit资源(放一些模型)
                ResourcesComponent resourcesComponent = ETModel.Game.Scene.GetComponent <ResourcesComponent>();
                await resourcesComponent.LoadBundleAsync($"unit.unity3d");   //异步加载

                // 加载map场景资源
                await ETModel.Game.Scene.GetComponent <ResourcesComponent>().LoadBundleAsync("mygame.unity3d");

                // 切换到map场景
                using (SceneChangeComponent sceneChangeComponent = ETModel.Game.Scene.AddComponent <SceneChangeComponent>())
                {
                    await sceneChangeComponent.ChangeSceneAsync(SceneType.MyGame);
                }

                //发送消息到服务器
                G2C_EnterMyGame g2CEnterMyGame = await ETModel.SessionComponent.Instance.Session.Call(new C2G_EnterMyGame()) as G2C_EnterMyGame;

                //把自己的ID设置为刚生成传过来的ID
                PlayerComponent.Instance.MyPlayer.UnitId = g2CEnterMyGame.UnitId;

                Game.Scene.AddComponent <OperaComponent>();

                Game.EventSystem.Run(EventIdType.ChoiceCharacterFinish);
            }
            catch (Exception e)
            {
                Log.Error(e);
            }
        }
コード例 #7
0
        public async ETVoid RunAsync()
        {
            // 加载Unit资源
            ResourcesComponent resourcesComponent = ETModel.Game.Scene.GetComponent <ResourcesComponent>();

            // 加载场景资源

            await resourcesComponent.LoadBundleAsync(AssetBundleName.Unit);

            await resourcesComponent.LoadBundleAsync(AssetBundleName.Battle);



            // 切换到Battle场景
            using (SceneChangeComponent sceneChangeComponent = Game.Scene.AddComponent <SceneChangeComponent>())
            {
                await sceneChangeComponent.ChangeSceneAsync(SceneType.Battle);
            }



            C2B_LoadAssetFinish msg = new C2B_LoadAssetFinish();

            ETModel.SessionComponent.Instance.Session.Send(msg);
        }
コード例 #8
0
ファイル: OutSpaceHelper.cs プロジェクト: luwenyiCC/ET
        public static async ETVoid EnterOutSpaceAsync()
        {
            try
            {
                // 加载Unit资源
                ResourcesComponent resourcesComponent = ETModel.Game.Scene.GetComponent <ResourcesComponent>();
                await resourcesComponent.LoadBundleAsync($"unit.unity3d");

                // 加载场景资源
                await ETModel.Game.Scene.GetComponent <ResourcesComponent>().LoadBundleAsync("outspace.unity3d");

                // 切换到outspace场景
                using (SceneChangeComponent sceneChangeComponent = ETModel.Game.Scene.AddComponent <SceneChangeComponent>())
                {
                    await sceneChangeComponent.ChangeSceneAsync(SceneType.OutSpace);
                }

                G2C_EnterOutSpace g2CEnterMap = await ETModel.SessionComponent.Instance.Session.Call(new C2G_EnterOutSpace()) as G2C_EnterOutSpace;

                PlayerComponent.Instance.MyPlayer.UnitId = g2CEnterMap.ShipId;

                Game.Scene.AddComponent <OutSpaceComponent>();

                Game.EventSystem.Run(EventIdType.LobbyFinish);
                Game.EventSystem.Run(EventIdType.Init_UI_OutSpace);
            }
            catch (Exception e)
            {
                Log.Error(e);
            }
        }
コード例 #9
0
        private async ETVoid EnterMapAsync()
        {
            try
            {
                // 加载Unit资源
                ResourcesComponent resourcesComponent = ETModel.Game.Scene.GetComponent <ResourcesComponent>();
                await resourcesComponent.LoadBundleAsync($"unit.unity3d");

                // 加载场景资源
                await ETModel.Game.Scene.GetComponent <ResourcesComponent>().LoadBundleAsync("map.unity3d");

                // 切换到map场景
                using (SceneChangeComponent sceneChangeComponent = ETModel.Game.Scene.AddComponent <SceneChangeComponent>())
                {
                    await sceneChangeComponent.ChangeSceneAsync(SceneType.Map);
                }

                G2C_EnterMap g2CEnterMap = await ETModel.SessionComponent.Instance.Session.Call(new C2G_EnterMap()) as G2C_EnterMap;

                PlayerComponent.Instance.MyPlayer.UnitId = g2CEnterMap.UnitId;

                Game.Scene.AddComponent <OperaComponent>();
                Game.Scene.GetComponent <UIComponent>().Remove(UIType.UILobby);
            }
            catch (Exception e)
            {
                Log.Error(e);
            }
        }
コード例 #10
0
ファイル: LoadingViewComponent.cs プロジェクト: spadd/ET_Tank
        public void Awake()
        {
            this.FUIComponent = this.GetParent <FUI>();

            SceneChangeComponent = Game.Scene.GetComponent <SceneChangeComponent>();

            m_time = TimeHelper.NowSecond();

            CanClose = false;

            this.StartFUI();
        }
コード例 #11
0
ファイル: MapHelper.cs プロジェクト: xfs81150082/ET-RPG-DEMO
        public static async ETVoid EnterMapAsync()
        {
            try
            {
                // 加载场景资源
                await ETModel.Game.Scene.GetComponent <ResourcesComponent>().LoadBundleAsync("map.unity3d");

                // 切换到map场景
                using (SceneChangeComponent sceneChangeComponent = ETModel.Game.Scene.AddComponent <SceneChangeComponent>())
                {
                    await sceneChangeComponent.ChangeSceneAsync(SceneType.Map);
                }
                ETModel.Game.EventSystem.Run(ETModel.EventIdType.LoadAssets);
                // 加载Unit资源
                //ResourcesComponent resourcesComponent = ETModel.Game.Scene.GetComponent<ResourcesComponent>();
                //  await resourcesComponent.LoadBundleAsync($"unit.unity3d");


                G2C_EnterMap g2CEnterMap = await ETModel.SessionComponent.Instance.Session.Call(new C2G_EnterMap()) as G2C_EnterMap;

                PlayerComponent.Instance.MyPlayer.UnitId = g2CEnterMap.UnitId;

                foreach (var v in UnitComponent.Instance.GetAll())
                {
                    if (v.Id == PlayerComponent.Instance.MyPlayer.UnitId)
                    {
                        UnitComponent.Instance.MyUnit = v;
                        v.AddComponent <CameraComponent>();
                        v.AddComponent <CommandComponent>().simulateFrame = g2CEnterMap.Frame;
                        Log.Debug("收到的当前帧为" + g2CEnterMap.Frame);
                        var list  = v.GetComponent <ActiveSkillComponent>().skillList.Keys.ToArray();
                        var input = v.AddComponent <InputComponent>();
                        input.AddSkillToHotKey("Q", list[0]);
                        //input.AddSkillToHotKey("W", list[1]); // 暂时没做使用技能时,位置输入和目标输入的数据传输.
                        //input.AddSkillToHotKey("E", list[2]);
                        break;
                    }
                }


                //Game.Scene.AddComponent<OperaComponent>();

                Game.EventSystem.Run(EventIdType.EnterMapFinish);
            }
            catch (Exception e)
            {
                Log.Error(e);
            }
        }
コード例 #12
0
ファイル: SceneUtil.cs プロジェクト: araya/ET-Plus
        public static async ETVoid LoadScene(string sceneName, Action onLoaded = null)
        {
            Game.Scene.GetComponent <UnitEntity>().RemoveAll();

            // 加载场景资源
            await ETModel.Game.Scene.GetComponent <ResourcesComponent>().LoadBundleAsync(sceneName.StringToAB());

            // 切换到map场景
            using (SceneChangeComponent sceneChangeComponent = ETModel.Game.Scene.AddComponent <SceneChangeComponent>())
            {
                await sceneChangeComponent.ChangeSceneAsync(sceneName);
            }

            onLoaded?.Invoke();
        }
コード例 #13
0
        public static async ETVoid EnterMapAsync()
        {
            try
            {
                Session hotfixSession = Game.Scene.GetComponent <SessionComponent>().Session;
                ResourcesAsyncComponent resourcesAsync = ETModel.Game.Scene.GetComponent <ResourcesAsyncComponent>();
                PlayerInfoComponent     playerInfo     = Game.Scene.GetComponent <PlayerInfoComponent>();

                if (hotfixSession == null)
                {
                    Log.Error("获取hotfixSession失败");
                }

                G2C_RequestEnterMap g2CRequestEnterMap = (G2C_RequestEnterMap)await hotfixSession.Call(new C2G_RequestEnterMap()
                {
                    Account = playerInfo.account
                });

                // 加载场景资源
                SceneAssetRequest sceneAssetAsyncRequest = Assets.LoadSceneAsync("Arena.unity3d");
                await resourcesAsync.LoadSceneAsync(sceneAssetAsyncRequest);

                // 切换到map场景
                using (SceneChangeComponent sceneChangeComponent = ETModel.Game.Scene.AddComponent <SceneChangeComponent>())
                {
                    await sceneChangeComponent.ChangeSceneAsync(SceneType.Arena);
                }

                PlayerCube playerCube = await PlayerCubeFactory.Create(new Vector3(g2CRequestEnterMap.PositionX, g2CRequestEnterMap.PositionY, g2CRequestEnterMap.PositionZ));

                //获取其它在地图里的玩家
                hotfixSession.Send(new C2G_GetOtherPlayer()
                {
                    Account = playerInfo.account
                });

                //添加网络同步脚本
                playerCube.AddComponent <PlayerCubeNetComponent, int>(playerInfo.account);

                nowPlayerCube = playerCube;

                Game.EventSystem.Run(EventIdType.EnterMapFinish);
            }
            catch (Exception e)
            {
                Log.Error(e);
            }
        }
コード例 #14
0
        protected async ETVoid RunAsync(ETModel.Session session, B2C_BattleEnd message)
        {
            ETModel.Game.Scene.GetComponent <TankComponent>().RemoveAll();

            // 加载Unit资源
            ResourcesComponent resourcesComponent = ETModel.Game.Scene.GetComponent <ResourcesComponent>();

            // 加载场景资源
            await resourcesComponent.LoadBundleAsync("start.unity3d");

            using (SceneChangeComponent sceneChangeComponent = Game.Scene.AddComponent <SceneChangeComponent>())
            {
                await sceneChangeComponent.ChangeSceneAsync(SceneType.Start);
            }

            await FUIFactory.Create <CombatSettlementViewComponent, B2C_BattleEnd>(FUIType.CombatSettlement, message);
        }
コード例 #15
0
        // Start is called before the first frame update
        public static async ETVoid EnterLoad1SceneAsync()
        {
            try
            {
                //1.获取资源
                await ETModel.Game.Scene.GetComponent <ResourcesComponent>().LoadBundleAsync("load1.unity3d");

                using (SceneChangeComponent sceneChangeComponent = ETModel.Game.Scene.AddComponent <SceneChangeComponent>())
                {
                    await sceneChangeComponent.ChangeSceneAsync(SceneType.Load1);
                }

                Game.EventSystem.Run(EventIdType.EnterLoad1SceneFinish);
            }
            catch (System.Exception e)
            {
                Log.Error(e);
            }
        }
コード例 #16
0
ファイル: SceneUtil.cs プロジェクト: chayao2015/ET-TenHalf
        public static async ETVoid LoadScene(string sceneName, Action onLoaded = null)
        {
            Game.Scene.GetComponent <UnitEntity>().RemoveAll();
            EventMgr.Send(EventKey.StartLoadScene);

            // 加载场景资源
            await ETModel.Game.Scene.GetComponent <ResourcesComponent>().LoadBundleAsync(sceneName.StringToAB());

            while (ETModel.Game.Scene.GetComponent <SceneChangeComponent>() != null)
            {
                await ETModel.Game.Scene.GetComponent <TimerComponent>().WaitAsync(100);
            }

            using (SceneChangeComponent sceneChangeComponent = ETModel.Game.Scene.AddComponent <SceneChangeComponent>())
            {
                await sceneChangeComponent.ChangeSceneAsync(sceneName);
            }

            EventMgr.Send(EventKey.EndLoadScene);
            onLoaded?.Invoke();
        }
コード例 #17
0
ファイル: MapHelper.cs プロジェクト: xfs81150082/TumoET
        public static async ETVoid EnterMapAsync()
        {
            try
            {
                // 加载Unit资源
                ResourcesComponent resourcesComponent = ETModel.Game.Scene.GetComponent <ResourcesComponent>();
                await resourcesComponent.LoadBundleAsync($"unit.unity3d");

                // 加载场景资源
                await ETModel.Game.Scene.GetComponent <ResourcesComponent>().LoadBundleAsync("map.unity3d");

                // 切换到map场景
                using (SceneChangeComponent sceneChangeComponent = ETModel.Game.Scene.AddComponent <SceneChangeComponent>())
                {
                    await sceneChangeComponent.ChangeSceneAsync(SceneType.Map);
                }

                Player       player      = ETModel.Game.Scene.GetComponent <PlayerComponent>().MyPlayer;
                G2C_EnterMap g2CEnterMap = await ETModel.SessionComponent.Instance.Session.Call(new C2G_EnterMap()
                {
                    PlayerId = player.Id
                }) as G2C_EnterMap;

                //PlayerComponent.Instance.MyPlayer.UnitId = g2CEnterMap.UnitId;
                player.UnitId = g2CEnterMap.UnitId;

                Debug.Log(" MapHelper-player.Id/player.UnitId: " + player.Id + " / " + player.UnitId);

                ///20190721 取消合并到Move里了
                //Game.Scene.AddComponent<OperaComponent>();

                Game.EventSystem.Run(EventIdType.EnterMapFinish);
            }
            catch (Exception e)
            {
                Log.Error(e);
            }
        }
コード例 #18
0
        protected override async void Run(ETModel.Session session, A1004_CreateMoba5V5Secene_M2C message)
        {
            //开启加载界面 切换UI
            UIComponent uiComponent = Game.Scene.GetComponent <UIComponent>();
            UI          ui          = uiComponent.Get(UIType.SekiaLobby);

            if (ui == null)
            {
                return;
            }
            if (ui.GetComponent <SekiaLobbyComponent>().isMatching == false)
            {
                return;
            }
            uiComponent.Create(UIType.Moba5V5UI);
            uiComponent.Remove(UIType.SekiaLobby);

            //切换场景
            using (SceneChangeComponent sceneChangeComponent = ETModel.Game.Scene.AddComponent <SceneChangeComponent>())
            {
                await sceneChangeComponent.ChangeSceneAsync(SceneType.Moba5V5Map);
            }

            //加载配置
            ResourcesComponent resourcesComponent = ETModel.Game.Scene.GetComponent <ResourcesComponent>();
            await resourcesComponent.LoadBundleAsync($"unit.unity3d");

            GameObject       bundleGameObject = (GameObject)resourcesComponent.GetAsset("Unit.unity3d", "Unit");
            ConfigComponent  config           = Game.Scene.GetComponent <ConfigComponent>();
            Moba5V5Component moba             = Game.Scene.AddComponent <Moba5V5Component>();

            //创建空气墙 编号73和74
            for (int i = 0; i < 2; i++)
            {
                Moba5V5Config qiang       = (Moba5V5Config)config.Get(typeof(Moba5V5Config), 73 + i);
                GameObject    qiangPrefab = bundleGameObject.Get <GameObject>(qiang.Prefab);
                qiangPrefab.transform.position    = new Vector3((float)qiang.Position[0], (float)qiang.Position[1], (float)qiang.Position[2]);
                qiangPrefab.transform.eulerAngles = new Vector3(0, qiang.Rotation, 0);
                qiangPrefab.name = $"Qiang{(i + 1).ToString()}";
                UnityEngine.Object.Instantiate(qiangPrefab).transform.SetParent(GameObject.Find($"/Global/Unit").transform, false);
            }

            //创建10个英雄的GameObject和Gamer MobaID编号1-10
            for (int i = 0; i < message.Gamers.Count; i++)
            {
                //获取英雄配置 角色配置 技能配置
                HeroConfig    heroConfig    = (HeroConfig)config.Get(typeof(HeroConfig), message.Gamers[i].HeroID);
                Moba5V5Config moba5V5Config = (Moba5V5Config)config.Get(typeof(Moba5V5Config), i + 1);
                GameObject    prefab        = bundleGameObject.Get <GameObject>(heroConfig.Prefab);
                prefab.transform.position    = new Vector3((float)moba5V5Config.Position[0], (float)moba5V5Config.Position[1], (float)moba5V5Config.Position[2]);
                prefab.transform.eulerAngles = new Vector3(0, moba5V5Config.Rotation, 0);

                //创建角色
                Gamer gamer = ETModel.ComponentFactory.Create <Gamer, long>(message.Gamers[i].UserID);
                gamer.GameObject = UnityEngine.Object.Instantiate(prefab);
                gamer.GameObject.transform.SetParent(GameObject.Find($"/Global/Unit").transform, false);
                int mobaID = moba.MobaID;             //获取ID
                moba.mobaIDGamers.Add(mobaID, gamer); //添加到词典

                //添加Unity组件
                NavMeshAgent navMeshAgent = gamer.GameObject.AddComponent <NavMeshAgent>();
                navMeshAgent.radius                = 0.2f;
                navMeshAgent.height                = 0.8f;
                navMeshAgent.angularSpeed          = 360f;
                navMeshAgent.obstacleAvoidanceType = ObstacleAvoidanceType.NoObstacleAvoidance;

                //添加ET组件
                GamerAnimatorComponent anime = gamer.AddComponent <GamerAnimatorComponent>();
                gamer.AddComponent <GamerMoveComponent>();
                gamer.AddComponent <GamerTurnComponent>();
                gamer.AddComponent <GamerPathComponent>();

                //设置角色
                CharacterComponent character = gamer.AddComponent <CharacterComponent>();
                character.mobaID = mobaID;
                character.group  = moba5V5Config.Group; //阵营
                character.type   = moba5V5Config.Type;  //类型
                character.route  = moba5V5Config.Route; //默认导航线路
                character.anime  = anime;

                //确认本地玩家
                if (gamer.UserID == GamerComponent.Instance.MyUser.UserID)
                {
                    gamer.AddComponent <GamerCameraComponent>();
                    moba.myGamer = gamer;
                }
            }

            //创建攻击类建筑 MobaID编号11-30
            for (int i = 0; i < 20; i++)
            {
                //获取角色配置
                Moba5V5Config moba5V5Config = (Moba5V5Config)config.Get(typeof(Moba5V5Config), i + 11);

                //创建角色
                Gamer gamer = ETModel.ComponentFactory.Create <Gamer>();
                gamer.GameObject = GameObject.Find($"/World/5v5_Map/mobaTower{i+1}");
                gamer.GameObject.transform.SetParent(GameObject.Find($"/Global/Unit").transform, false);
                int mobaID = moba.MobaID;             //获取ID
                moba.mobaIDGamers.Add(mobaID, gamer); //添加到词典

                //添加ET组件
                gamer.AddComponent <GamerAnimatorComponent>();
                CharacterComponent character = gamer.AddComponent <CharacterComponent>();

                //设置角色
                character.mobaID = mobaID;
                character.group  = moba5V5Config.Group; //阵营
                character.type   = moba5V5Config.Type;  //类型
            }

            //初始加载完成
            SessionComponent.Instance.Session.Send(new A1007_GamerReadyMoba5V5_C2M());
            //等待服务端通知游戏计时开始
            //等待服务端通知刷新第一波小兵
            //等待服务端通知刷新普通野怪
            //等待服务端通知刷新大龙
        }