Ejemplo n.º 1
0
    private void doClickDoor()
    {
        if (this.getShowFlag())
        {
            RoomInterface nextRoom = this.getRooController().findRoomByXYZ(getNextRoomXYZ());
            if (nextRoom.checkOpen(getRoundController().getPlayerChara()))
            {
                //检查玩家的行动力
                bool opened = openDoor(getRoundController().getCurrentRoundChar());

                //这里有bug,玩家应该是只能点击 所在房间的几个门,其余房间的门都是不能点击的.
                //生成门时,门启用,但加锁;玩家进入房间,门解锁可点击;玩家离开房间,门加锁不可点击

                if (opened)
                {
                    if (getRoundController().getCurrentRoundChar().isPlayer())
                    {
                        getEventController().excuteLeaveRoomEvent(this, getRoom(), getRoundController().getCurrentRoundChar());
                    }
                    else
                    {
                        bool result = getEventController().excuteLeaveRoomEvent(getRoom(), getRoundController().getCurrentRoundChar());

                        if (result == true)
                        {
                            //离开门成功
                            Debug.Log("离开房间成功");
                            //进入下一个房间


                            //摄像机移动到下一个房间坐标
                            getCameraCtrl().setTargetPos(getNextRoomXYZ());

                            //当前人物坐标移动到下一个房间
                            getRoundController().getCurrentRoundChar().setCurrentRoom(getNextRoomXYZ());

                            //触发进门事件
                            getEventController().excuteEnterRoomEvent(nextRoom, getRoundController().getCurrentRoundChar());  //暂时禁用 运行时有异常
                        }
                        else
                        {
                            //离开失败
                            Debug.Log("离开房间失败");
                            //  FindObjectOfType<MessageUI> ().ShowMessge ("离开房间失败 ",0);
                        }
                    }
                }
            }
            else
            {
                getMSGUI().showMessage("房间被锁的。");
            }
        }
    }