Exemple #1
0
    IEnumerator nextRoomCoroutine(CollisionBehaviour cb)
    {
        SMovableObject mainRole = MainGameData.MainRole;

        mainRole.enabled = false;
        mainRole.SetKinematic(true);
        unregisterEvent();
        mCurRoom.OnExitRoom();
        //try get next room
        DRoom nextRoom = mCurRoom.GetJointRoom(cb);

        if (nextRoom == null)
        {
            //TODO: Be Random After
            GameObject go = Instantiate(Rooms[0]) as GameObject;
            nextRoom = go.GetComponent <DRoom>();
            nextRoom.Init();
            CollisionBehaviour nextCb = nextRoom.AlignmentOtherRoom(cb, mCurRoom.CenterPos);
            mCurRoom.JointRoom(cb, nextRoom);
            nextRoom.JointRoom(nextCb, mCurRoom);
        }
        StartCoroutine(mainRoleCutScene(nextRoom.CenterPos));
        yield return(StartCoroutine(SCameraMgr.Instance.moveToPos(nextRoom.CenterPos)));

        while (mRoleCurSceneEnable == true)
        {
            yield return(null);
        }
        mCurRoom = nextRoom;
        registerEvent();
        mCurRoom.OnEnterRoom();
        mainRole.SetKinematic(false);
        mainRole.enabled = true;
    }
Exemple #2
0
    // Use this for initialization
    void Start()
    {
        mInput = this.gameObject.AddComponent <SInput>();
        InputReceiver  inputRecObj = MainRoleModel.AddComponent <InputReceiver>();
        SMovableObject moveObj     = MainRoleModel.AddComponent <SMovableObject>();

        inputRecObj.MovableObject = moveObj;
        mInput.InputReceiver      = inputRecObj;

        //Camera init
        gameObject.AddComponent <SCameraMgr>();
    }
Exemple #3
0
    IEnumerator mainRoleCutScene(Vector3 pos)
    {
        mRoleCurSceneEnable = true;
        SMovableObject mainRole = MainGameData.MainRole;

        while ((mainRole.CurPos - pos).sqrMagnitude > 0.01f)
        {
            mainRole.MoveTo(Vector3.Lerp(mainRole.CurPos, pos, 0.1f));
            yield return(null);
        }
        mainRole.MoveTo(pos);
        mRoleCurSceneEnable = false;
    }
Exemple #4
0
    // Use this for initialization
    void Start()
    {
        mInput = this.gameObject.AddComponent <SInput>();
        InputReceiver  inputRecObj = MainRoleModel.AddComponent <InputReceiver>();
        SMovableObject moveObj     = MainRoleModel.AddComponent <SMovableObject>();

        inputRecObj.MovableObject = moveObj;
        mInput.InputReceiver      = inputRecObj;

        //Camera init
        gameObject.AddComponent <SCameraMgr>();

        //Dungeon init
        GameObject go = Instantiate(DungeonMgrPrefab) as GameObject;

        Common.changGOParent(go, gameObject);

        moveObj.MoveTo(DungeonMgr.Instance.CurRoomPos());

        //MainGameData init
        MainGameData.MainRole = moveObj;
    }