public bool excuteLeaveRoomEvent(RoomInterface ri, Character chara) { EventInterface eventI = ri.getEvent(constant.LEAVE_EVENT); //show ui string selectCode = showMessageUi(eventI.getEventBeginInfo(), eventI.getSelectItem()); EventResult result = eventI.excute(chara, selectCode); showMessageUi(eventI.getEventEndInfo(result.getResultCode()), null); return(result.getStatus()); }
public bool excuteFallRoomEvent(EventInterface eventI, Character chara) { this.eventI = eventI; if (this.eventI != null) { if (chara.isPlayer()) { fallRoomExecuted = false; this.chara = chara; phase = 1; messageUI.getResult().setDone(false); showMessageUi(eventI.getEventBeginInfo(), eventI.getSelectItem()); } else { result = eventI.excute(chara, messageUI.getResult().getResult(), 0); if (result.getResultCode() == EventConstant.FALL_DOWN__EVENT_GOOD) { } else if (result.getResultCode() == EventConstant.FALL_DOWN__EVENT_NORMAL) { roomContraller.findRoomByXYZ(chara.getCurrentRoom()).removeChara(chara); this.roomContraller.setCharaInMiniMap(chara.getCurrentRoom(), chara, false); RoomInterface ri = roomContraller.getRandomDownRoom(); ri.setChara(chara); chara.setCurrentRoom(ri.getXYZ()); this.roomContraller.setCharaInMiniMap(ri.getXYZ(), chara, true); // camCtrl.setTargetPos(upStairRoom.getXYZ(), RoomConstant.ROOM_Y_DOWN, true); } else { RollDiceParam param = new RollDiceParam(this.eventI.getBadDiceNum()); rollVaue = uiManager.showRollDiceImmediately(param); chara.getAbilityInfo()[0] = chara.getAbilityInfo()[0] - rollVaue; roomContraller.findRoomByXYZ(chara.getCurrentRoom()).removeChara(chara); this.roomContraller.setCharaInMiniMap(chara.getCurrentRoom(), chara, false); RoomInterface ri = roomContraller.getRandomDownRoom(); ri.setChara(chara); chara.setCurrentRoom(ri.getXYZ()); this.roomContraller.setCharaInMiniMap(ri.getXYZ(), chara, true); } } } return(true); }
public void excuteLeaveRoomEvent(DoorInterface door, RoomInterface ri, Character chara) { //这个房间有没有离开事件 eventI = ri.getRoomEvent(EventConstant.LEAVE_EVENT); //不为空有事件 if (eventI != null) { Debug.Log("有离开事件"); leaveExecuted = false; this.ri = ri; this.chara = chara; this.door = door; phase = 1; messageUI.getResult().setDone(false); showMessageUi(eventI.getEventBeginInfo(), eventI.getSelectItem()); } else { //为空没有事件 Debug.Log("没有离开事件"); door.playerOpenDoorResult(true); } }
public bool excuteSanCheckEvent(EventInterface eventI, Character chara) { this.eventI = eventI; if (this.eventI != null) { if (chara.isPlayer()) { sanCheckExecuted = false; this.chara = chara; phase = 1; messageUI.getResult().setDone(false); showMessageUi(eventI.getEventBeginInfo(), eventI.getSelectItem()); } else { result = eventI.excute(chara, messageUI.getResult().getResult(), 0); if (result.getResultCode() == EventConstant.SANCHECK_EVENT_GOOD) { chara.getMaxAbilityInfo()[3] = chara.getMaxAbilityInfo()[3] + this.eventI.getGoodValue(); chara.getAbilityInfo()[3] = chara.getAbilityInfo()[3] + this.eventI.getGoodValue(); } else if (result.getResultCode() == EventConstant.SANCHECK_EVENT_NORMAL) { chara.getAbilityInfo()[3] = chara.getAbilityInfo()[3] + this.eventI.getNormalValue(); } else { RollDiceParam param = new RollDiceParam(this.eventI.getBadDiceNum()); rollVaue = uiManager.showRollDiceImmediately(param); chara.getAbilityInfo()[3] = chara.getAbilityInfo()[3] - rollVaue; } } } return(true); }