Example #1
0
        private IEnumerator CreateBuddyModel(string modelName)
        {
            if (string.IsNullOrEmpty(modelName) || ModelName == modelName)
            {
                yield break;
            }

            ModelName = modelName;
            if (Lobby == null && Loader == null)
            {
                Loader = new GM.AssetLoader <GameObject>("UI3DLobby", controller.gameObject);
                UI3DLobby.Preload(ModelName);
                yield return(Loader);

                if (Loader.Success)
                {
                    Loader.Instance.transform.parent = LobbyTexture.transform;
                    Lobby = Loader.Instance.GetMonoILRComponent <UI3DLobby>();
                    Lobby.ConnectorTexture = LobbyTexture;
                    Lobby.SetCameraMode(2, true);
                }
            }

            if (Lobby != null)
            {
                Lobby.VariantName = ModelName;
            }
        }
Example #2
0
        public IEnumerator CreateRightBuddyModel()
        {
            right_LobbyTexture.uvRect = new Rect(0.0f, 0.0f, 1.0f, 1.0f);
            var             charTpl   = Hotfix_LT.Data.CharacterTemplateManager.Instance.GetHeroInfo(15010);
            LobbyCameraData lobby_cam = Hotfix_LT.Data.CharacterTemplateManager.Instance.GetHeroInfo(charTpl.id).lobby_camera;

            LTUIUtil.SetText(SpeakNameLabel, charTpl.name);
            rightLoader = new GM.AssetLoader <GameObject>("UI3DLobby", controller.gameObject);
            UI3DLobby.Preload(charTpl.model_name);
            yield return(rightLoader);

            if (rightLoader.Success)
            {
                rightLoader.Instance.transform.parent = right_LobbyTexture.transform;
                rightLobby = rightLoader.Instance.GetMonoILRComponent <UI3DLobby>();
            }

            if (rightLobby != null)
            {
                rightLobby.VariantName = charTpl.model_name;

                rightLobby.SetCameraPos(lobby_cam.Position);
                rightLobby.SetCameraRot(lobby_cam.Rotation);
                rightLobby.SetCameraMode(lobby_cam.Size, lobby_cam.Orthographic);

                right_LobbyTexture.transform.GetComponent <TweenPosition>().from.x = -2730;
                right_LobbyTexture.transform.GetComponent <TweenPosition>().to.x   = 0;
                rightLobby.ConnectorTexture = right_LobbyTexture;
            }
        }
Example #3
0
        public override void OnDestroy()
        {
            if (_vsLobby != null && _vsLobby.mDMono != null)
            {
                GameObject.Destroy(_vsLobby.mDMono.gameObject);
            }

            if (_loader != null)
            {
                EB.Assets.UnloadAssetByName("UI3DVsLobby", false);
            }
            _vsLobby = null;
            _loader  = null;
            _isOpen  = false;

            LTHeroBattleEvent.NotifyRefreshChoiceState  -= OnNotifyRefreshChoiceState;
            LTHeroBattleEvent.NotifyChangeChoiceHero    -= OnNotifyChangeChoiceHero;
            LTHeroBattleEvent.NotifyHeroBattleHudFinish -= OnNotifyHeroBattleFinish;

            if (SceneLogic.SceneState == SceneLogic.eSceneState.DelayCombatTransition)
            {
                SceneLogic.SceneState = SceneLogic.eSceneState.RequestingCombatTransition;
            }
            base.OnDestroy();
        }
Example #4
0
        public IEnumerator CreateBuddyModel()
        {
            m_LobbyTexture.uvRect = new Rect(0.0f, 0.0f, 1.0f, 1.0f);
            var charTpl  = LTBountyTaskHudController.GetFirstMonsterInfoTpl();
            var heroInfo = Hotfix_LT.Data.CharacterTemplateManager.Instance.GetHeroInfo(charTpl.id);

            ModelName = charTpl.model_name;
            LTUIUtil.SetText(SpeakNameLabel, charTpl.name);
            if (!string.IsNullOrEmpty(heroInfo.portrait))
            {
                m_LobbyTexture.gameObject.CustomSetActive(false);
                m_SpriteIcon.gameObject.CustomSetActive(true);
                m_SpriteIcon.spriteName = heroInfo.portrait;
                m_IsInited = true;
                TweenPosition TP = m_SpriteIcon.transform.GetComponent <TweenPosition>();
                if (TP != null)
                {
                    TP.PlayForward();
                }
            }
            else
            {
                m_SpriteIcon.gameObject.CustomSetActive(false);
                m_LobbyTexture.gameObject.CustomSetActive(true);
                LobbyCameraData lobby_cam = heroInfo.lobby_camera;

                Loader = new GM.AssetLoader <GameObject>("UI3DLobby", controller.gameObject);
                UI3DLobby.Preload(ModelName);
                yield return(Loader);

                if (Loader.Success)
                {
                    Loader.Instance.transform.parent = m_LobbyTexture.transform;
                    Lobby = Loader.Instance.GetMonoILRComponent <UI3DLobby>();
                }

                if (Lobby != null)
                {
                    Lobby.VariantName = ModelName;

                    Lobby.SetCameraPos(lobby_cam.Position);
                    Lobby.SetCameraRot(lobby_cam.Rotation);
                    Lobby.SetCameraMode(lobby_cam.Size, lobby_cam.Orthographic);

                    Lobby.ConnectorTexture = m_LobbyTexture;

                    while (Lobby.Current.character == null)
                    {
                        yield return(null);
                    }
                    m_IsInited = true;
                    TweenPosition TP = m_LobbyTexture.transform.GetComponent <TweenPosition>();
                    if (TP != null)
                    {
                        TP.PlayForward();
                    }
                }
            }
        }
Example #5
0
        public IEnumerator CreateBuddyModel(Hotfix_LT.Data.HeroInfoTemplate charTpl)
        {
            if (!string.IsNullOrEmpty(charTpl.portrait))
            {
                HeroTex.gameObject.CustomSetActive(false);
                HeroIcon.gameObject.CustomSetActive(true);
                HeroIcon.spriteName = charTpl.portrait;

                TweenPosition TP = HeroIcon.transform.GetComponent <TweenPosition>();
                if (TP != null)
                {
                    TP.ResetToBeginning();
                    TP.PlayForward();
                }
            }
            else
            {
                HeroIcon.gameObject.CustomSetActive(false);
                HeroTex.gameObject.CustomSetActive(true);
                mModelName     = charTpl.model_name;
                HeroTex.uvRect = new Rect(0.0f, 0.0f, 1.0f, 1.0f);
                LobbyCameraData lobby_cam = Hotfix_LT.Data.CharacterTemplateManager.Instance.GetHeroInfo(charTpl.id).lobby_camera;
                Loader = new GM.AssetLoader <GameObject>("UI3DLobby", controller.gameObject);
                UI3DLobby.Preload(mModelName);
                yield return(Loader);

                if (Loader.Success)
                {
                    Loader.Instance.transform.parent = HeroTex.transform;
                    Lobby = Loader.Instance.GetMonoILRComponent <UI3DLobby>();
                }

                if (Lobby != null)
                {
                    Lobby.VariantName = mModelName;

                    Lobby.SetCameraPos(lobby_cam.Position);
                    Lobby.SetCameraRot(lobby_cam.Rotation);
                    Lobby.SetCameraMode(lobby_cam.Size, lobby_cam.Orthographic);

                    Lobby.ConnectorTexture = HeroTex;

                    TweenPosition TP = HeroTex.transform.GetComponent <TweenPosition>();
                    if (TP != null)
                    {
                        TP.ResetToBeginning();
                        TP.PlayForward();
                    }
                }
            }
        }
Example #6
0
 protected void DestroyModel()
 {
     if (Lobby != null)
     {
         Object.Destroy(Lobby.mDMono.gameObject);
     }
     if (Loader != null)
     {
         EB.Assets.UnloadAssetByName("UI3DLobby", false);
     }
     Lobby     = null;
     Loader    = null;
     ModelName = null;
 }
Example #7
0
        static StackObject *get_Instance_1(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            GM.AssetLoader <UnityEngine.GameObject> instance_of_this_method = (GM.AssetLoader <UnityEngine.GameObject>) typeof(GM.AssetLoader <UnityEngine.GameObject>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            var result_of_this_method = instance_of_this_method.Instance;

            return(ILIntepreter.PushObject(__ret, __mStack, result_of_this_method));
        }
Example #8
0
        private IEnumerator SetModel(string modelName)
        {
            InputBlockerManager.Instance.Block(InputBlockReason.FUSION_BLOCK_UI_INTERACTION, 0.5f);
            if (string.IsNullOrEmpty(modelName))
            {
                EB.Debug.LogError("LTActivityBodyItem_BossChallenge.SetModel: modelName is null or empty");
                yield break;
            }

            if (_lobbyTex == null)
            {
                _lobbyTex = mDMono.transform.GetComponent <UITexture>("LobbyTexture");
            }

            if (_ui3DLobby == null)
            {
                var Loader = new GM.AssetLoader <GameObject>("UI3DLobby", mDMono.gameObject);
                UI3DLobby.Preload(modelName);
                yield return(Loader);

                if (Loader.Success)
                {
                    Loader.Instance.transform.parent = _lobbyTex.transform;
                    _ui3DLobby = Loader.Instance.GetMonoILRComponent <UI3DLobby>();
                    _ui3DLobby.ConnectorTexture = _lobbyTex;
                    _ui3DLobby.VariantName      = modelName;
                    _ui3DLobby.SetCameraRot(new Vector3(14f, 0f, 0f));

                    switch (_eventType)
                    {
                    case "bosschallenge1":      //地狱三头犬
                        _ui3DLobby.SetCameraMode(4f, true);
                        _ui3DLobby.SetCameraPos(new Vector3(0.3f, 1.4f, -0.5f));
                        break;

                    case "bosschallenge2":      //猛犸巨象
                        _ui3DLobby.SetCameraMode(4.5f, true);
                        _ui3DLobby.SetCameraPos(new Vector3(0.3f, 1.82f, -1.34f));
                        break;

                    case "bosschallenge3":      //死亡镰刀
                        _ui3DLobby.SetCameraMode(5f, true);
                        _ui3DLobby.SetCameraPos(new Vector3(-0.25f, 2.44f, -2.16f));
                        break;
                    }
                }
            }
        }
Example #9
0
        private IEnumerator CreateBuddyModel(string modelName)
        {
            CreateModelFx.CustomSetActive(false);
            yield return(new WaitForEndOfFrame());

            yield return(null);

            CreateModelFx.CustomSetActive(true);
            if (mTweenAlpha == null)
            {
                if (LobbyTexture == null)
                {
                    yield break;
                }
                mTweenAlpha = LobbyTexture.GetComponent <TweenAlpha>();
            }
            mTweenAlpha.ResetToBeginning();
            mTweenAlpha.PlayForward();
            if (string.IsNullOrEmpty(modelName) || ModelName == modelName)
            {
                yield break;
            }
            ModelName = modelName;
            if (Lobby == null && Loader == null)
            {
                Loader = new GM.AssetLoader <GameObject>("UI3DLobby", controller.gameObject);

                UI3DLobby.Preload(ModelName);
                yield return(Loader);

                if (Loader.Success)
                {
                    Loader.Instance.transform.parent = LobbyTexture.transform;
                    Lobby = Loader.Instance.GetMonoILRComponent <UI3DLobby>();
                    Lobby.ConnectorTexture = LobbyTexture;
                    Lobby.SetCameraMode(2, true);
                }
            }

            if (Lobby != null)
            {
                Lobby.VariantName = ModelName;
            }
            yield break;
        }
Example #10
0
 protected IEnumerator CreateVsLobby()
 {
     if (_vsLobby == null && _loader == null)
     {
         _loader = new GM.AssetLoader <GameObject>("UI3DVsLobby", controller.gameObject);
         yield return(_loader);
     }
     if (_loader.Success)
     {
         _vsLobby = _loader.Instance.GetMonoILRComponent <UI3DVsLobby>();
         _vsLobby.mDMono.gameObject.transform.position = new Vector3(0, 10000, 0);
         _vsLobby.ConnectorTexture = vsTexture;
         _isOpen = true;
     }
     else
     {
         EB.Debug.LogError("CreateVsLobby false ");
     }
 }
Example #11
0
        private IEnumerator LoadBuddy()
        {
            controller.UiTextures["LobbyTexture"].gameObject.CustomSetActive(false);
            string configId = Hotfix_LT.Data.NewGameConfigTemplateManager.Instance.GetGameConfigStrValue("storeModelId");

            if (string.IsNullOrEmpty(configId))
            {
                configId = "10530";
            }
            var             character    = Hotfix_LT.Data.CharacterTemplateManager.Instance.GetHeroInfo(configId);
            string          curModeName  = character.model_name;
            string          configCam    = Hotfix_LT.Data.NewGameConfigTemplateManager.Instance.GetGameConfigStrValue("storeModelCam");
            LobbyCameraData lobby_camera = SetCameraData(configCam);

            if (Lobby == null && Loader == null)
            {
                Loader = new GM.AssetLoader <GameObject>("UI3DLobby", controller.gameObject);
                UI3DLobby.Preload(curModeName);
                yield return(Loader);

                if (Loader.Success)
                {
                    Loader.Instance.transform.parent = controller.UiTextures["LobbyTexture"].transform;
                    Lobby = Loader.Instance.GetMonoILRComponent <UI3DLobby>();
                    Lobby.ConnectorTexture = controller.UiTextures["LobbyTexture"];
                    Lobby.SetCameraPos(lobby_camera.Position);
                    Lobby.SetCameraRot(lobby_camera.Rotation);
                    Lobby.SetCameraMode(lobby_camera.Size, lobby_camera.Orthographic);
                }
            }
            Lobby.mDMono.gameObject.SetActive(true);
            if (Lobby != null)
            {
                Lobby.VariantName = curModeName;
            }
            yield return(null);

            TweenAlpha lobbyTextureAlpha = controller.UiTextures["LobbyTexture"].GetComponent <TweenAlpha>();

            lobbyTextureAlpha.ResetToBeginning();
            controller.UiTextures["LobbyTexture"].gameObject.CustomSetActive(true);
            lobbyTextureAlpha.PlayForward();
        }
Example #12
0
        static StackObject *Ctor_0(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            UnityEngine.GameObject @target = (UnityEngine.GameObject) typeof(UnityEngine.GameObject).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            System.String @name = (System.String) typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);


            var result_of_this_method = new GM.AssetLoader <UnityEngine.GameObject>(@name, @target);

            return(ILIntepreter.PushObject(__ret, __mStack, result_of_this_method));
        }
Example #13
0
        private IEnumerator LoadStory(string storyName)
        {
            GM.AssetLoader <GameObject> obj = new GM.AssetLoader <GameObject>(storyName, controller.gameObject);
            yield return(obj);

            if (obj != null && obj.Success)
            {
                curChapter = obj.Instance.GetMonoILRComponent <LTStoryChapter>();
                if (curChapter == null)
                {
                    OnStoryPlaySuccEvent();
                    EB.Debug.LogError("LTStroyChapter is Null, StoryName:{0}", storyName);
                    yield break;
                }

                curChapter.mDMono.name   = storyName;
                curChapter.blackMask     = blackMask;
                curChapter.talkAni       = talkAni;
                curChapter.talkLab       = talkLab;
                curChapter.talkShadowLab = talkShadowLab;
                curChapter.skipObj       = skipObj;

                curChapter.mDMono.transform.SetParent(controller.transform);
                curChapter.mDMono.transform.localPosition    = Vector3.zero;
                curChapter.mDMono.transform.localEulerAngles = Vector3.zero;
                curChapter.mDMono.transform.localScale       = Vector3.one;

                curChapter.panel.depth        = panel.depth + 1;
                curChapter.panel.sortingOrder = panel.sortingOrder + 1;

                SetTextureAll();

                yield return(null);

                curChapter.PlayAni();
            }
            else
            {
                OnStoryPlaySuccEvent();
                EB.Debug.LogError("LTStroy is Null, StoryName:{0}", storyName);
            }
        }
Example #14
0
        private IEnumerator CreateBossModel(string modelName)
        {
            isInitLobby = true;
            if (string.IsNullOrEmpty(modelName))
            {
                isInitLobby = false;
                yield break;
            }

            if (modelName == ModelName)
            {
                isInitLobby = false;
                yield break;
            }

            ModelName = modelName;
            if (Lobby == null && Loader == null)
            {
                Loader = new GM.AssetLoader <GameObject>("UI3DLobby", controller.gameObject);
                UI3DLobby.Preload(modelName);
                yield return(Loader);

                if (Loader.Success)
                {
                    Loader.Instance.transform.parent = LobbyTexture.transform;
                    Lobby = Loader.Instance.GetMonoILRComponent <UI3DLobby>();
                    Lobby.ConnectorTexture  = LobbyTexture;
                    Lobby.CharacterPoolSize = CharacterPoolSize;
                    Camera Camera = Lobby.mDMono.transform.Find("UI3DCamera").GetComponent <Camera>();
                    Camera.orthographicSize = 4.2f;
                }
            }

            if (Lobby != null)
            {
                Lobby.VariantName = modelName;
                yield return(null);

                Lobby.SetCharMoveState(MoveController.CombatantMoveState.kEntry, true);
            }
            isInitLobby = false;
        }
Example #15
0
        private IEnumerator CreateMonster(string modelName)
        {
            if (string.IsNullOrEmpty(modelName))
            {
                yield break;
            }

            if (modelName == ModelName)
            {
                yield break;
            }

            ModelName = modelName;
            if (Lobby == null && Loader == null)
            {
                Loader = new GM.AssetLoader <GameObject>("UI3DLobby", controller.gameObject);
                UI3DLobby.Preload(modelName);
                yield return(Loader);

                if (Loader.Success)
                {
                    Loader.Instance.transform.parent = mMonsterTex.transform;
                    Lobby = Loader.Instance.GetMonoILRComponent <UI3DLobby>();
                    Lobby.ConnectorTexture  = mMonsterTex;
                    Lobby.CharacterPoolSize = CharacterPoolSize;
                    Lobby.SetCameraMode(1.5f, true);
                }
            }

            if (Lobby != null)
            {
                Lobby.VariantName = modelName;
                while (Lobby.Current == null || Lobby.Current.character == null)
                {
                    yield return(null);
                }
                Lobby.SetCharMoveState(MoveController.CombatantMoveState.kReady);
            }
        }
Example #16
0
        private IEnumerator CreateGod()
        {
            string modelName = "P027-Variant";

            if (Lobby == null && Loader == null)
            {
                Loader = new GM.AssetLoader <GameObject>("UI3DLobby", controller.gameObject);
                UI3DLobby.Preload(modelName);
                yield return(Loader);

                if (Loader.Success)
                {
                    Loader.Instance.transform.parent = LobbyTexture.transform;
                    Lobby = Loader.Instance.GetMonoILRComponent <UI3DLobby>();
                    Lobby.ConnectorTexture = LobbyTexture;
                    Lobby.SetCameraMode(1, true);
                    Lobby.VariantName = modelName;
                }
            }
            TextureTween.PlayForward();
            isInitLobby = false;
        }
Example #17
0
        public override IEnumerator OnRemoveFromStack()
        {
            LTPartnerDataManager.Instance.itemNeedCount = 0;
            m_SpriteIcon.spriteName = string.Empty;
            StopAllCoroutines();
            DestroySelf();

            if (Lobby != null)
            {
                GameObject.Destroy(Lobby.mDMono.gameObject);
                Lobby = null;
            }
            if (Loader != null)
            {
                EB.Assets.UnloadAssetByName("UI3DLobby", false);
                Loader = null;
            }
            if (ModelName != null)
            {
                ModelName = null;
            }
            yield break;
        }
Example #18
0
        private IEnumerator CreateBuddyModel(UITexture LobbyTexture, string modelName, bool isPlayLight, bool isplayEntry)
        {
            isInitLobby = true;
            if (string.IsNullOrEmpty(modelName))
            {
                isInitLobby = false;
                yield break;
            }
            if (modelName == ModelName)
            {
                if (Lobby != null)
                {
                    if (!Lobby.mDMono.gameObject.activeSelf)
                    {
                        Lobby.mDMono.gameObject.CustomSetActive(true);
                    }
                    Lobby.SetCharMoveState(MoveController.CombatantMoveState.kIdle);
                    yield return(null);

                    LobbyTexture.enabled = true;
                }
                isInitLobby = false;
                if (!isPlayLight)
                {
                    bloom.thresholdGamma = 1.0f;
                }
                yield return(new WaitForSeconds(0.3f));

                if (isplayEntry)
                {
                    Lobby.SetCharMoveState(MoveController.CombatantMoveState.kEntry, true);
                }
                yield break;
            }
            LobbyTexture.gameObject.CustomSetActive(false);
            ModelName    = modelName;
            isModelReady = false;
            UI3DLobby.PreloadWithCallback(modelName, delegate { isModelReady = true; });
            if (Lobby == null && Loader == null)
            {
                Loader = new GM.AssetLoader <GameObject>("UI3DLobby", controller.gameObject);
                yield return(Loader);

                if (Loader.Success)
                {
                    Loader.Instance.transform.SetParent(LobbyTexture.transform);
                    Lobby = Loader.Instance.GetMonoILRComponent <UI3DLobby>();
                    Lobby.ConnectorTexture  = LobbyTexture;
                    Lobby.CharacterPoolSize = CharacterPoolSize;
                    Camera Camera = Lobby.mDMono.transform.Find("UI3DCamera").GetComponent <Camera>();
                    Camera.orthographicSize = 2.0f;
                }
            }
            LobbyTexture.gameObject.CustomSetActive(true);
            while (!isModelReady)
            {
                yield return(null);
            }

            if (Lobby != null)
            {
                if (!Lobby.mDMono.gameObject.activeSelf)
                {
                    Lobby.mDMono.gameObject.CustomSetActive(true);
                }
                Lobby.VariantName = modelName;
                Lobby.SetCharMoveState(MoveController.CombatantMoveState.kIdle);
                yield return(null);

                LobbyTexture.enabled = true;
            }
            RenderSettings rs = controller.transform.GetComponentInChildren <RenderSettings>();

            if (rs != null)
            {
                EB.Debug.Log("rendersetting set : {0}", rs.name);
                RenderSettingsManager.Instance.SetActiveRenderSettings(rs.name, rs);
            }
            else
            {
                EB.Debug.LogWarning("rendersetting is null");
            }
            isInitLobby = false;
            Lobby.SetBloomUITexture(LobbyTexture);
            bloom = Lobby.BloomCamera.GetComponent <Max820.Bloom>();
            while (isPlayLight && bloom.thresholdGamma > 0.15f)
            {
                Lobby.BloomCamera.gameObject.CustomSetActive(true);
                bloom.thresholdGamma = Mathf.Lerp(bloom.thresholdGamma, 0.1f, 0.1f);
                yield return(new WaitForEndOfFrame());
            }
            if (!isPlayLight)
            {
                bloom.thresholdGamma = 1.0f;
            }
            yield return(new WaitForSeconds(0.3f));

            if (isplayEntry)
            {
                Lobby.SetCharMoveState(MoveController.CombatantMoveState.kEntry, true);
            }
        }
Example #19
0
        private IEnumerator CreateBuddyModel(string modelName)
        {
            if (string.IsNullOrEmpty(modelName))
            {
                isInitLobby = false;
                yield break;
            }

            if (modelName == ModelName)
            {
                if (Lobby != null)
                {
                    if (!Lobby.mDMono.gameObject.activeSelf)
                    {
                        Lobby.mDMono.gameObject.CustomSetActive(true);
                    }

                    Lobby.SetCharMoveState(MoveController.CombatantMoveState.kIdle);
                    yield return(null);

                    LobbyTexture.enabled = true;
                    Lobby.SetCharMoveState(MoveController.CombatantMoveState.kEntry, true);
                }

                isInitLobby = false;
                yield break;
            }

            ModelName    = modelName;
            isModelReady = false;
            UI3DLobby.PreloadWithCallback(modelName, delegate { isModelReady = true; });

            if (Lobby == null && Loader == null)
            {
                Loader = new GM.AssetLoader <GameObject>("UI3DLobby", controller.gameObject);
                yield return(Loader);

                if (Loader.Success)
                {
                    Loader.Instance.transform.SetParent(LobbyTexture.transform);
                    Lobby = Loader.Instance.GetMonoILRComponent <UI3DLobby>();
                    Lobby.ConnectorTexture  = LobbyTexture;
                    Lobby.CharacterPoolSize = CharacterPoolSize;
                    Camera Camera = Lobby.mDMono.transform.Find("UI3DCamera").GetComponent <Camera>();
                    Camera.orthographicSize = 1.25f;
                }
            }

            while (!isModelReady)
            {
                yield return(null);
            }

            if (Lobby != null)
            {
                if (!Lobby.mDMono.gameObject.activeSelf)
                {
                    Lobby.mDMono.gameObject.CustomSetActive(true);
                }

                Lobby.VariantName = modelName;
                Lobby.SetCharMoveState(MoveController.CombatantMoveState.kIdle);
                yield return(null);

                LobbyTexture.enabled = true;
                Lobby.SetCharMoveState(MoveController.CombatantMoveState.kEntry, true);
            }

            isInitLobby = false;
        }