Ejemplo n.º 1
0
        public void Start()
        {
            mInstanceBase = InstanceBaseManager.instance.Find(InstanceID);

            if (null == mInstanceBase)
            {
                Logger.LogError($"找不到副本配置 id -> {InstanceID}");
                return;
            }

            var tmpUnitCtrl = Game.ControllerMgr.Get <UnitController>();

            Game.WindowsMgr.ShowWindow <FadeWnd, bool, bool>(true, false);

            Game.TimerMgr.AddTimer(0.5f, obj => {
                Game.WindowsMgr.CloseWindow <InstanceWnd>();
                mLocalPlayer = new LocalPlayer();
                mLocalPlayer.Init(1003, 1);
                mLocalPlayer.SetPosition(new Vector3(1000, 0, 0));
                GameObject.DontDestroyOnLoad(mLocalPlayer.UGameObject);
                ACT.ActionSystem.Instance.ActUnitMgr.Add(mLocalPlayer);
                ACT.ActionSystem.Instance.ActUnitMgr.LocalPlayer = mLocalPlayer;
                tmpUnitCtrl.SetLocalPlayer(mLocalPlayer);
                Game.WindowsMgr.ShowWindow <FightMainWnd>();
                SceneLoader.Instance.LoadSceneAsync(mInstanceBase.SceneName, OnSceneLoaded);
            }, null);
        }
Ejemplo n.º 2
0
        void OnSceneLoaded()
        {
            Game.WindowsMgr.ShowWindow <FadeWnd, bool, bool>(false, true);

            GameObject tmpSceneMaskGo = GameObject.Find("SceneMask");

            mSceneMaskSprs.Clear();
            if (null != tmpSceneMaskGo)
            {
                for (int i = 0, max = tmpSceneMaskGo.transform.childCount; i < max; ++i)
                {
                    SpriteRenderer tmpSprRender = tmpSceneMaskGo.transform.GetChild(i).GetComponent <SpriteRenderer>();

                    if (null != tmpSprRender)
                    {
                        mSceneMaskSprs.Add(tmpSprRender);
                        tmpSprRender.color = Color.clear;
                    }
                }
            }

            GameObject tmpInstanceRoot = GameObject.Find("InstanceRoot");

            mTriggerCount = 0;
            GameObject tmpTransferGo = Utility.GameObj.Find(tmpInstanceRoot, "Transfer");

            if (tmpTransferGo)
            {
                mTriggerCount += tmpTransferGo.transform.childCount;
                for (int i = 0, max = tmpTransferGo.transform.childCount; i < max; ++i)
                {
                    TriggerListener.Get(tmpTransferGo.transform.GetChild(i).gameObject).OnEnter = OnTriggerEnterTransfer;
                }
            }

            GameObject tmpTriggerGo = Utility.GameObj.Find(tmpInstanceRoot, "Trigger");

            if (tmpTriggerGo)
            {
                mTriggerCount += tmpTriggerGo.transform.childCount;
                for (int i = 0, max = tmpTriggerGo.transform.childCount; i < max; ++i)
                {
                    TriggerListener.Get(tmpTriggerGo.transform.GetChild(i).gameObject).OnEnter = OnTriggerEnterTrigger;
                }
            }

            GameObject tmpBornPosGo = Utility.GameObj.Find(tmpInstanceRoot, "BornPos");

            if (tmpBornPosGo)
            {
                mLocalPlayer.SetPosition(tmpBornPosGo.transform.position);
                mLocalPlayer.Controller.RepositionCamera();
            }
        }