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("房间被锁的。"); } } }