private void NolanMove(Character chara, RoomContraller roomContraller, EventController eventController, DiceRollCtrl diceRoll, APathManager aPathManager, RoundController roundController, BattleController battleController) { Character player = roundController.getPlayerChara(); if (AutoMoveManager.move(chara, roomContraller, eventController, diceRoll, aPathManager, player.getCurrentRoom())) { //找到房间后, 等待后续细节,:根据设定找下一个房间? 开启剧本? 目前直接结束回合 Debug.Log(chara.getName() + "已经到达目标房间 (" + chara.getCurrentRoom()[0] + "," + chara.getCurrentRoom()[1] + ")"); Debug.Log("直接开打,开始疯狂攻击玩家"); battleController.fighte(chara, player); if (typeof(NPC).IsAssignableFrom(chara.GetType())) { Debug.Log("该角色是属于NPC"); NPC npc = (NPC)chara; //角色行动 找物品 } else { Debug.Log("该角色是属于怪物"); }; } }
// Use this for initialization void Start() { mapManager = new MapContraller(); roomManager = GetComponent <RoomContraller> (); //在场景中搜索房间起点 mapSpawnPoint = GameObject.Find("MapSpawnPoint").GetComponent <Transform> (); //生成好的地图数据<房间坐标xy,门的信息> Dictionary <int[], int[]> map = mapManager.genMap(roomLevel, roomAmount); foreach (int[] key in map.Keys) { //预备给新房间的坐标 Vector3 newMap = mapSpawnPoint.position; //根据房间的宽度,水平偏移 if (key [0] != 0) { newMap.x = key [0] * horizonDis; } //根据房间的高度,竖直偏移 if (key [1] != 0) { newMap.y = key [1] * vertiDis; } //z值为0 newMap.z = key[2]; int[] rXYZ = { key[0], key[1], key[2] }; //房间生成器返回新生成的房间 unitMap = roomManager.genRoom(rXYZ, map [key]); //设置新房间的坐标 unitMap.transform.position = newMap; } }
private static bool move(Character chara, RoomContraller roomContraller, EventController eventController, DiceRollCtrl diceRoll, APathManager aPathManager, string targetRoomType, bool goUpOrDown) { // Debug.Log(targetRoomType + ", " + goUpOrDown); RoomInterface targetRoom = roomContraller.findRoomByRoomType(targetRoomType); return(doMove(chara, roomContraller, eventController, diceRoll, aPathManager, targetRoom, goUpOrDown)); }
private void P3Move(Character chara, RoomContraller roomContraller, EventController eventController, DiceRollCtrl diceRoll, APathManager aPathManager, RoundController roundController, BattleController battleController) { NPC npc = (NPC)chara; if (P3Message.Count > 0) { npc.sendMessageToPlayer(P3Message.Dequeue()); } Character kate = roundController.getCharaByName(SystemConstant.P4_NAME); if (!kate.isDead()) { if (AutoMoveManager.move(chara, roomContraller, eventController, diceRoll, aPathManager, kate.getCurrentRoom())) { battleController.fighte(chara, kate); if (kate.isDead()) { P3Message.Enqueue(new string[] { "侦探死了?", "感谢神灵保佑,我永远是您忠实的仆从。", "哼,那个蜘蛛怪怕除虫剂的,随随便便就收拾了。" }); } } } else { AutoMoveManager.move(chara, roomContraller, eventController, diceRoll, aPathManager, roomContraller.getRandomRoom().getXYZ()); } }
public void scriptAction(Character chara, RoomContraller roomContraller, EventController eventController, DiceRollCtrl diceRoll, APathManager aPathManager, RoundController roundController, BattleController battleController) { Character target = roundController.getCharaByName(targetList.Peek()); Debug.Log("target name is " + target.getName()); if (AutoMoveManager.move(chara, roomContraller, eventController, diceRoll, aPathManager, target.getCurrentRoom())) { if (!target.isPlayer()) { battleController.fighte(chara, target); } else { battleController.showBattleUI(target, chara, false); } if (target.isDead()) { if (target.getName() == SystemConstant.P1_NAME) { NPC npc = (NPC)chara; npc.sendMessageToPlayer(new string[] { "阻止我寻找真相的黑心医生已经死了。。。", "你们这群怪物,都必须死!" }); } targetList.Dequeue(); } } else { Debug.Log("return false... finding path."); } }
public void loadInfo(Character chara, P0 p, RoomContraller roomController) { Debug.Log("开始读取记录。。。"); setCrazyFlag(p.CrazyFlag); setAbilityInfo(p.AbilityInfo); setMaxAbilityInfo(p.MaxAbilityInfo); setActionPointrolled(p.ActionPointrolled); setIsDead(p.IsDead); this.setDesc(p.Desc); this.setBoss(p.IsBoss); this.transform.position = new Vector3(p.CharaTransformPositionX, p.CharaTransformPositionY, p.CharaTransformPositionZ);; Debug.Log("读取基本信息完成。。。"); // Debug.Log("开始读取道具信息。。。"); foreach (ItemInfo i in p.Bag) { if (i.Type == ItemConstant.ITEM_TYPE_POTION) { getBag().insertItem(new ItemPotion(i.Code, i.Name, i.Desc)); } } // Debug.Log("读取道具信息完成。。。"); // Debug.Log("开始读取游戏进度信息。。。"); foreach (string roomType in p.TargetRoomlist) { this.getTargetRoomList().Enqueue(roomController.findRoomByRoomType(roomType)); } // Debug.Log("读取游戏进度信息完成。。。"); updateActionPoint(p.ActionPoint); if (this.isPlayer()) { FindObjectOfType <CameraCtrl>().setTargetPos(p.Xyz); } }
// Use this for initialization void Start() { mapManager = new MapContraller(); roomManager = GetComponent <RoomContraller> (); //在场景中搜索房间起点 mapSpawnPoint = GameObject.Find("MapSpawnPoint").GetComponent <Transform> (); //生成好的地图数据<房间坐标xy,门的信息> Dictionary <int[], int[]> map = mapManager.genMap(roomLevel, roomAmount); //根据地图数据,生成新房间 foreach (int[] key in map.Keys) { //新房间在地图中的坐标 int[] rXYZ = new int[] { key[0], key[1], key[2] }; //产生新房间 unitMap = roomManager.genRoom(rXYZ, map [key]); //预备给新房间的坐标 Vector3 newMap = mapSpawnPoint.position; //根据房间的宽度,水平偏移 newMap.x = key [0] * horizonDis; //根据房间的高度,竖直偏移 newMap.y = key [1] * vertiDis; //根据房间的楼层,设定z坐标值 newMap.z = key[2]; //设置新房间在屏幕上的坐标 unitMap.transform.position = newMap; } }
void Start() { roundController = FindObjectOfType <RoundController>(); roomContraller = FindObjectOfType <RoomContraller>(); miniMapUI = FindObjectOfType <MiniMapUI>(); newDi1 = Instantiate(minRoom) as GameObject; newDi1.GetComponent <RectTransform>().SetParent(MinMapPlane.transform); newDi1.GetComponent <RectTransform>().localPosition = showMPos; newDi2 = Instantiate(minRoom) as GameObject; newDi2.GetComponent <RectTransform>().SetParent(MinMapPlane.transform); // newDi2.GetComponent<RectTransform>().localPosition = show2Pos; newDi2.SetActive(false); newDi3 = Instantiate(minRoom) as GameObject; newDi3.GetComponent <RectTransform>().SetParent(MinMapPlane.transform); //newDi3.GetComponent<RectTransform>().localPosition = show1Pos; newDi3.SetActive(false); newDi4 = Instantiate(minRoom) as GameObject; newDi4.GetComponent <RectTransform>().SetParent(MinMapPlane.transform); // newDi4.GetComponent<RectTransform>().localPosition = show1Pos; newDi4.SetActive(false); newDi5 = Instantiate(minRoom) as GameObject; newDi5.GetComponent <RectTransform>().SetParent(MinMapPlane.transform); newDi5.SetActive(false); // newDi5.GetComponent<RectTransform>().localPosition = show1Pos; east = new int[] { 0, 0, 0 }; west = new int[] { 0, 0, 0 }; north = new int[] { 0, 0, 0 }; south = new int[] { 0, 0, 0 }; }
// Use this for initialization void Start() { roundController = FindObjectOfType <RoundController>(); roomContraller = FindObjectOfType <RoomContraller>(); diceRoll = FindObjectOfType <DiceRollCtrl>(); confirmUI = FindObjectOfType <ConfirmManageUI>(); camCtrl = FindObjectOfType <CameraCtrl>(); }
private void P5Move(Character chara, RoomContraller roomContraller, EventController eventController, DiceRollCtrl diceRoll, APathManager aPathManager, RoundController roundController, BattleController battleController) { Character monster = roundController.getCharaByName(SystemConstant.MONSTER1_NAME); string roomType; NPC npc = (NPC)chara; if (this.P5TargetRooms.Count >= 1) { roomType = this.P5TargetRooms.Peek(); if (P5Message.Count > 0) { npc.sendMessageToPlayer(P5Message.Dequeue()); } } else { if (P5Message.Count > 0) { npc.sendMessageToPlayer(P5Message.Dequeue()); } if (monster.isDead()) { if (P5Message.Count > 0) { npc.sendMessageToPlayer(P5Message.Dequeue()); } roomType = roomContraller.getRandomRoom().getRoomType(); } else { roomType = roomContraller.findRoomByXYZ(monster.getCurrentRoom()).getRoomType(); } this.P5TargetRooms.Enqueue(roomType); } if (AutoMoveManager.move(chara, roomContraller, eventController, diceRoll, aPathManager, roomContraller.findRoomByRoomType(roomType).getXYZ())) { this.P5TargetRooms.Dequeue(); if (roomType == RoomConstant.ROOM_TYPE_HOSPITAIL_MINITOR) { npc.sendMessageToPlayer(new string[] { "我在监控室了,这个有台电脑。", "我破解了文件夹,里面有很多照片,有一张很奇怪,大家来看看。" }); } else { if (!monster.isDead()) { battleController.fighte(chara, monster); if (monster.isDead()) { P1Message.Enqueue(new string[] { "那个蜘蛛怪已经死了!。", "那个萝莉侦探还管不管了啊?" }); } } } } }
// Use this for initialization void Start() { roundController = FindObjectOfType <RoundController>(); roomContraller = FindObjectOfType <RoomContraller>(); HiddenRoom01 = FindObjectOfType <H_hiddenRoom>(); camCtrl = FindObjectOfType <CameraCtrl>(); this.setThingCode(ThingConstant.HIDDEN_DOOR_01_CODE); }
// Use this for initialization void Start() { roundController = FindObjectOfType <RoundController>(); roomContraller = FindObjectOfType <RoomContraller>(); camCtrl = FindObjectOfType <CameraCtrl>(); this.setThingCode(ThingConstant.UPSTAIR_ENTER_CODE); }
// Use this for initialization void Start() { roomContraller = FindObjectOfType <RoomContraller>(); diceRoll = FindObjectOfType <DiceRollCtrl>(); eventController = FindObjectOfType <EventController>(); roundController = FindObjectOfType <RoundController>(); battleController = FindObjectOfType <BattleController>(); //duiHuaUImanager = FindObjectOfType<DuiHuaUImanager>(); charaInfoManager = FindObjectOfType <CharaInfoManager>(); setGuangBoListener(FindObjectOfType <GuangBoListener>()); guangBoController = FindObjectOfType <GuangBoController>(); storyController = FindObjectOfType <StoryController>(); bss = new BlackSignStory(); this.setName(SystemConstant.P6_NAME); int[] roomXYZ; setBag(new Bag()); if (this.neworLoad) { roomXYZ = new int[] { 0, 0, RoomConstant.ROOM_Z_GROUND }; setCrazyFlag(false); //for test 4-->9 setAbilityInfo(new int[] { 7, 9, 6, 7 }); setMaxAbilityInfo(new int[] { 7, 9, 6, 7 }); setActionPointrolled(false); setIsDead(false); this.setDesc("外乡人."); this.waitPlan = false; setDistance(0); setCurrentRoom(roomXYZ); // this.setClickMessage(new string[] { "我就是来旅游的。" }); } else { P0 p = loadInfo(this.getName()); roomXYZ = p.Xyz; this.waitPlan = p.WaitPlan; setDistance(0); setCurrentRoom(roomXYZ); loadInfo(this, p, roomContraller); } //游戏一开始 所处的房间 默认房间的坐标为 0,0,0 this.roomContraller.findRoomByXYZ(roomXYZ).setChara(this); this.roomContraller.setCharaInMiniMap(roomXYZ, this, true); this.setClickMessage(this.roomContraller.findRoomByXYZ(roomXYZ).findSomethingNews(this).ToArray()); /* * Item item1 = new ItemTask(ItemConstant.ITEM_CODE_SPEC_Y0006 * , ItemDesConstant.ITEM_CODE_SPEC_Y0006_NAME, ItemDesConstant.ITEM_CODE_SPEC_Y0006_NAME); * this.getBag().insertItem(item1); * Item item2 = new ItemTask(ItemConstant.ITEM_CODE_SPEC_Y0007 * , ItemDesConstant.ITEM_CODE_SPEC_Y0007_NAME, ItemDesConstant.ITEM_CODE_SPEC_Y0007_DES); * this.getBag().insertItem(item2); */ }
// Use this for initialization void Start() { eventController = FindObjectOfType <EventController> (); roundController = FindObjectOfType <RoundController> (); roomContraller = FindObjectOfType <RoomContraller> (); camCtrl = FindObjectOfType <CameraCtrl> (); }
// Use this for initialization void Start() { roundController = FindObjectOfType <RoundController>(); roomContraller = FindObjectOfType <RoomContraller>(); initMapObject = FindObjectOfType <initMap>(); loadingManager = FindObjectOfType <LoadingManager>(); storyController = FindObjectOfType <StoryController>(); thingController = FindObjectOfType <ThingController>(); eventController = FindObjectOfType <EventController>(); taskMananger = FindObjectOfType <TaskMananger>(); }
// Use this for initialization void Start() { roomContraller = FindObjectOfType <RoomContraller>(); diceRoll = FindObjectOfType <DiceRollCtrl>(); eventController = FindObjectOfType <EventController>(); roundController = FindObjectOfType <RoundController>(); battleController = FindObjectOfType <BattleController>(); //duiHuaUImanager = FindObjectOfType<DuiHuaUImanager>(); charaInfoManager = FindObjectOfType <CharaInfoManager>(); setGuangBoListener(FindObjectOfType <GuangBoListener>()); guangBoController = FindObjectOfType <GuangBoController>(); storyController = FindObjectOfType <StoryController>(); bss = new BlackSignStory(); this.setName(SystemConstant.P4_NAME); setDistance(-0.5f); //游戏一开始 所处的房间 默认房间的坐标为 0,0,0 int[] roomXYZ; setBag(new Bag()); if (this.neworLoad) { roomXYZ = new int[] { 0, 0, RoomConstant.ROOM_Z_GROUND }; setCrazyFlag(false); setAbilityInfo(new int[] { 8, 3, 6, 7 }); setMaxAbilityInfo(new int[] { 8, 3, 6, 7 }); setActionPointrolled(false); setIsDead(false); this.setDesc("看似小萝莉,其实是一个出名的侦探。"); this.waitPlan = false; setTargetChara(new List <string>()); getTargetChara().Add(SystemConstant.P2_NAME); // this.setClickMessage(new string[] { "真相只有一个。", "你就是犯人。" }); getTargetRoomList().Enqueue(roomContraller.findRoomByRoomType(RoomConstant.ROOM_TYPE_HOSPITAIL_SURGERY)); getTargetRoomList().Enqueue(roomContraller.findRoomByRoomType(RoomConstant.ROOM_TYPE_HOSPITAIL_TRI_OPERATION)); getTargetRoomList().Enqueue(roomContraller.findRoomByRoomType(RoomConstant.ROOM_TYPE_HOSPITAIL_MORGUE)); getTargetRoomList().Enqueue(roomContraller.findRoomByRoomType(RoomConstant.ROOM_TYPE_HOSPITAIL_STORE)); } else { P0 p = loadInfo(this.getName()); roomXYZ = p.Xyz; this.waitPlan = p.WaitPlan; loadInfo(this, p, roomContraller); } setCurrentRoom(roomXYZ); this.roomContraller.findRoomByXYZ(roomXYZ).setChara(this); this.roomContraller.setCharaInMiniMap(roomXYZ, this, true); //this.setClickMessage(this.roomContraller.findRoomByXYZ(roomXYZ).findSomethingNews(this).ToArray()); // setBoss(true); }
// Use this for initialization public override void init() { Debug.Log("monster init function start begin..."); roomContraller = FindObjectOfType <RoomContraller>(); diceRoll = FindObjectOfType <DiceRollCtrl>(); eventController = FindObjectOfType <EventController>(); roundController = FindObjectOfType <RoundController>(); battleController = FindObjectOfType <BattleController>(); //duiHuaUImanager = FindObjectOfType<DuiHuaUImanager>(); charaInfoManager = FindObjectOfType <CharaInfoManager>(); setGuangBoListener(FindObjectOfType <GuangBoListener>()); guangBoController = FindObjectOfType <GuangBoController>(); storyController = FindObjectOfType <StoryController>(); this.setName(SystemConstant.MONSTER1_NAME); //游戏一开始 所处的房间 默认房间的坐标为 0,0,0 //int[] roomXYZ = { 0, 0, RoomConstant.ROOM_Z_GROUND }; setDistance(-1.5f); setAbilityInfo(new int[] { 7, 7, 1, 1 }); setMaxAbilityInfo(new int[] { 7, 7, 1, 1 }); setActionPointrolled(false); setIsDead(false); Character martin = roundController.getCharaByName(SystemConstant.P5_NAME); Character nolan = roundController.getCharaByName(SystemConstant.P1_NAME); Character jessie = roundController.getCharaByName(SystemConstant.P3_NAME); Character player = roundController.getCharaByName(SystemConstant.P6_NAME); if (martin != null && !martin.isDead()) { targetList.Enqueue(martin); } if (nolan != null && !nolan.isDead()) { targetList.Enqueue(martin); } if (jessie != null && !jessie.isDead()) { targetList.Enqueue(jessie); } if (player != null && !player.isDead()) { targetList.Enqueue(player); } }
public void guangBoAction(Character chara, RoomContraller roomContraller, EventController eventController, DiceRollCtrl diceRoll, APathManager aPathManager, RoundController roundController, BattleController battleController) { actionEnd = false; Debug.Log("执行广播任务,目标是 " + this.targetRoomType); if (AutoMoveManager.move(chara, roomContraller, eventController, diceRoll, aPathManager, this.targetRoomType)) { NPC npc = (NPC)chara; npc.setFollowGuangBoAction(false); if (targetNameList.Contains(chara.getName())) { actionEnd = true; } } ; }
public void scriptAction(Character chara, RoomContraller roomContraller, EventController eventController, DiceRollCtrl diceRoll, APathManager aPathManager, RoundController roundController, BattleController battleController) { if (chara.getName() == SystemConstant.P1_NAME) { P1Move(chara, roomContraller, eventController, diceRoll, aPathManager, roundController, battleController); } else if (chara.getName() == SystemConstant.P3_NAME) { P3Move(chara, roomContraller, eventController, diceRoll, aPathManager, roundController, battleController); } else if (chara.getName() == SystemConstant.P5_NAME) { P5Move(chara, roomContraller, eventController, diceRoll, aPathManager, roundController, battleController); } }
// Use this for initialization void Start() { roomContraller = FindObjectOfType <RoomContraller>(); diceRoll = FindObjectOfType <DiceRollCtrl>(); eventController = FindObjectOfType <EventController>(); roundController = FindObjectOfType <RoundController>(); battleController = FindObjectOfType <BattleController>(); //duiHuaUImanager = FindObjectOfType<DuiHuaUImanager>(); charaInfoManager = FindObjectOfType <CharaInfoManager>(); setGuangBoListener(FindObjectOfType <GuangBoListener>()); guangBoController = FindObjectOfType <GuangBoController>(); this.setName(SystemConstant.P1_NAME); //游戏一开始 所处的房间 默认房间的坐标为 0,0,0 int[] roomXYZ; setBag(new Bag()); if (this.neworLoad) { roomXYZ = new int[] { 0, 0, RoomConstant.ROOM_Z_GROUND }; setCrazyFlag(false); setAbilityInfo(new int[] { 8, 3, 6, 7 }); setMaxAbilityInfo(new int[] { 8, 3, 6, 7 }); setActionPointrolled(false); setIsDead(false); this.waitPlan = false; this.setDesc("一身脏兮兮的白大褂,第一感觉是个跳大神的庸医。"); //this.setClickMessage(new string[] { "", "你就是犯人。" }); getTargetRoomList().Enqueue(roomContraller.getRandomRoom()); getTargetRoomList().Enqueue(roomContraller.findRoomByRoomType(RoomConstant.ROOM_TYPE_HOSPITAIL_COMMON)); } else { P0 p = loadInfo(this.getName()); roomXYZ = p.Xyz; this.waitPlan = p.WaitPlan; loadInfo(this, p, roomContraller); Debug.Log(" idont kone? nolan is dead ?" + this.isDead()); } setDistance(0.5f); setCurrentRoom(roomXYZ); this.roomContraller.findRoomByXYZ(roomXYZ).setChara(this); this.roomContraller.setCharaInMiniMap(roomXYZ, this, true); this.setClickMessage(this.roomContraller.findRoomByXYZ(roomXYZ).findSomethingNews(this).ToArray()); }
// Use this for initialization void Start() { roomContraller = FindObjectOfType <RoomContraller>(); diceRoll = FindObjectOfType <DiceRollCtrl>(); eventController = FindObjectOfType <EventController>(); roundController = FindObjectOfType <RoundController>(); battleController = FindObjectOfType <BattleController>(); //duiHuaUImanager = FindObjectOfType<DuiHuaUImanager>(); charaInfoManager = FindObjectOfType <CharaInfoManager>(); setGuangBoListener(FindObjectOfType <GuangBoListener>()); guangBoController = FindObjectOfType <GuangBoController>(); storyController = FindObjectOfType <StoryController>(); bss = new BlackSignStory(); this.setName(SystemConstant.P5_NAME); setDistance(-2.0f); //游戏一开始 所处的房间 默认房间的坐标为 0,0,0 int[] roomXYZ; setBag(new Bag()); if (this.neworLoad) { roomXYZ = new int[] { 0, 0, RoomConstant.ROOM_Z_GROUND }; setCrazyFlag(false); setAbilityInfo(new int[] { 8, 3, 6, 7 }); setMaxAbilityInfo(new int[] { 8, 3, 6, 7 }); setActionPointrolled(false); setIsDead(false); this.setDesc("沉默寡言,不爱说话的黑客."); this.waitPlan = false; // this.setClickMessage(new string[] { "谁能给我一台电脑?" }); getTargetRoomList().Enqueue(roomContraller.getRandomRoom()); getTargetRoomList().Enqueue(roomContraller.findRoomByRoomType(RoomConstant.ROOM_TYPE_DOWNSTAIR_BACK)); } else { P0 p = loadInfo(this.getName()); roomXYZ = p.Xyz; this.waitPlan = p.WaitPlan; loadInfo(this, p, roomContraller); } setCurrentRoom(roomXYZ); this.roomContraller.findRoomByXYZ(roomXYZ).setChara(this); this.roomContraller.setCharaInMiniMap(roomXYZ, this, true); this.setClickMessage(this.roomContraller.findRoomByXYZ(roomXYZ).findSomethingNews(this).ToArray()); }
// Use this for initialization void Start() { roomContraller = FindObjectOfType <RoomContraller>(); diceRoll = FindObjectOfType <DiceRollCtrl>(); eventController = FindObjectOfType <EventController>(); roundController = FindObjectOfType <RoundController>(); battleController = FindObjectOfType <BattleController>(); //duiHuaUImanager = FindObjectOfType<DuiHuaUImanager>(); charaInfoManager = FindObjectOfType <CharaInfoManager>(); setGuangBoListener(FindObjectOfType <GuangBoListener>()); guangBoController = FindObjectOfType <GuangBoController>(); storyController = FindObjectOfType <StoryController>(); bss = new BlackSignStory(); int[] roomXYZ; this.setName(SystemConstant.P2_NAME); setDistance(1.5f); setBag(new Bag()); //游戏一开始 所处的房间 默认房间的坐标为 0,0,0 if (this.neworLoad) { roomXYZ = new int[] { 0, 0, RoomConstant.ROOM_Z_GROUND }; setCrazyFlag(false); setAbilityInfo(new int[] { 2, 2, 4, 8 }); setMaxAbilityInfo(new int[] { 2, 2, 4, 8 }); setActionPointrolled(false); setIsDead(false); this.waitPlan = false; this.setDesc("活力充沛,爱开玩笑的冒险家。"); } else { P0 p = loadInfo(this.getName()); roomXYZ = p.Xyz; this.waitPlan = p.WaitPlan; loadInfo(this, p, roomContraller); } setCurrentRoom(roomXYZ); this.roomContraller.findRoomByXYZ(roomXYZ).setChara(this); this.roomContraller.setCharaInMiniMap(roomXYZ, this, true); this.setClickMessage(this.roomContraller.findRoomByXYZ(roomXYZ).findSomethingNews(this).ToArray()); }
private void genDownMap() { // Debug.Log("init map begin"); mapManager = new MapContraller(); roomManager = GetComponent <RoomContraller>(); //在场景中搜索房间起点 mapSpawnDownPoint = GameObject.Find("MapSpawnDownPoint").GetComponent <Transform>(); //生成好的地图数据<房间坐标xy,门的信息> if (neworLoad) { this.mapDown = mapManager.genMap(RoomConstant.ROOM_Z_DOWN, roomAmount); } else { this.mapDown = genMap(Application.persistentDataPath + "/Save/SaveData3.sav"); } // Debug.Log("map count: " + map.Count); //根据地图数据,生成新房间 foreach (int[] key in mapDown.Keys) { //新房间在地图中的坐标 int[] rXYZ = new int[] { key[0], key[1], key[2] }; //产生新房间 // Debug.Log(rXYZ[0] +","+ rXYZ[1] + "," + rXYZ[2]); unitMap = roomManager.genRoom(rXYZ, mapDown[key]); //预备给新房间的坐标 Vector3 newMap = mapSpawnDownPoint.position; //根据房间的宽度,水平偏移 newMap.x = key[0] * horizonDis; //根据房间的高度,竖直偏移 newMap.y = RoomConstant.ROOM_Y_DOWN + key[1] * vertiDis - 0.85f; //根据房间的楼层,设定z坐标值 newMap.z = key[2]; //设置新房间在屏幕上的坐标 unitMap.transform.position = newMap; } genMinMap(mapDown, RoomConstant.ROOM_Z_DOWN); }
// Use this for initialization void Start() { roomContraller = FindObjectOfType <RoomContraller>(); eventController = FindObjectOfType <EventController>(); this.guangBoListener = FindObjectOfType <GuangBoListener>(); player = FindObjectOfType <Player>(); nolan = FindObjectOfType <Nolan>(); ben = FindObjectOfType <Ben>(); kate = FindObjectOfType <Kate>(); martin = FindObjectOfType <Martin>(); jessie = FindObjectOfType <Jessie>(); if (newOrLoad) { //目前是写死。。后面需要改为程序控制添加 游戏人数 setEndRound(player); setEndRound(nolan); setEndRound(ben); setEndRound(jessie); setEndRound(kate); setEndRound(martin); roundCount = 1; player.setActionPointrolled(true); } else { Debug.Log("laod this game round begin "); string datapath = Application.persistentDataPath + "/Save/SaveData0.sav"; SaveData data = (SaveData)IOHelper.GetData(datapath, typeof(SaveData)); // foreach (string name in data.CharaNames) // player.setActionPointrolled(data.P6.ActionPointrolled); setEndRound(player); setEndRound(nolan); Debug.Log("nolan is dead? " + nolan.isDead()); setEndRound(ben); setEndRound(jessie); setEndRound(kate); setEndRound(martin); roundCount = data.RoundCount; Debug.Log("laod this game round end "); } // Debug.Log(playChara.getName() + " round this game"); if (player.isPlayer()) { this.playerChara = player; } else if (nolan.isPlayer()) { this.playerChara = nolan; } else if (ben.isPlayer()) { this.playerChara = ben; } else if (kate.isPlayer()) { this.playerChara = kate; } else if (martin.isPlayer()) { this.playerChara = martin; } else if (jessie.isPlayer()) { this.playerChara = jessie; } isRoundEnd = false; playChara = this.getNextCharecter(); Debug.Log(playChara.getName() + " begin load round this game"); }
void Start() { leaveExecuted = true; roomContraller = FindObjectOfType <RoomContraller>(); camCtrl = FindObjectOfType <CameraCtrl>(); }
private void BenMove(Character chara, RoomContraller roomContraller, EventController eventController, DiceRollCtrl diceRoll, APathManager aPathManager, RoundController roundController, BattleController battleController) { AutoMoveManager.move(chara, roomContraller, eventController, diceRoll, aPathManager, new int[] { 0, 0, 0 }); }
public void scriptAction(Character chara, RoomContraller roomContraller, EventController eventController, DiceRollCtrl diceRoll, APathManager aPathManager, RoundController roundController, BattleController battleController) { BenMove(chara, roomContraller, eventController, diceRoll, aPathManager, roundController, battleController); }
// Use this for initializ void Start() { player = FindObjectOfType <Player>(); roomContraller = FindObjectOfType <RoomContraller>(); }
public void sendGuangBoToOwner(NPC npc, RoomContraller roomContraller, RoundController roundController) { string targetRoomName = roomContraller.findRoomByRoomType(this.getGuangBoTargetVaule()).getRoomName(); npc.sendMessageToPlayer(new string[] { npc.getName() + " :我准备听从" + this.getGuangBoOwnerName() + "的意见去" + targetRoomName + "看看" }); }
public Stack <Node> findPath(RoomInterface intiRoom, RoomInterface targetNode, RoomContraller roundController) { openList.Clear(); closeList.Clear(); // Debug.Log(" intiRoom Room is " + intiRoom.getXYZ()[0] + "," + intiRoom.getXYZ()[1]); // Debug.Log(" targetNode Room is " + targetNode.getXYZ()[0] + "," + targetNode.getXYZ()[1]); bool finded = false; Node initNode = new Node(intiRoom.getXYZ()[0], intiRoom.getXYZ()[1], intiRoom.getXYZ()[2]); initNode.G = 10; initNode.H = (System.Math.Abs(initNode.xy[0] - targetNode.getXYZ()[0]) + System.Math.Abs(initNode.xy[1] - targetNode.getXYZ()[1])) * 10; initNode.F = initNode.G + initNode.H; openList.Add(initNode); while (!finded) { //计算起始位置周围的F值 currentNode = getLessestNode(openList); // Debug.Log(" currentNode Room is " + currentNode.xy[0] + "," + currentNode.xy[1]); closeList.Add(currentNode); if (currentNode.xy[0] == targetNode.getXYZ()[0] && currentNode.xy[1] == targetNode.getXYZ()[1]) { // Debug.Log("I got the targetRoom!!!!"); finded = true; break; } RoomInterface currentRoom = roundController.findRoomByXYZ(currentNode.xy); // Debug.Log(" currentRoom Room is " + currentRoom.getXYZ()[0] + "," + currentRoom.getXYZ()[1]); if (currentRoom.getNorthDoor().GetComponent <DoorInterface>().getShowFlag()) { node = new Node(currentRoom.getXYZ()[0], currentRoom.getXYZ()[1] + 1, currentRoom.getXYZ()[2]); if (!this.containClose(node, closeList)) { node.G = 10 + currentNode.G; node.H = (System.Math.Abs(node.xy[0] - targetNode.getXYZ()[0]) + System.Math.Abs(node.xy[1] - targetNode.getXYZ()[1])) * 10; if (roundController.findRoomByXYZ(node.xy).isLock()) { node.H = node.H + 50; } node.F = node.G + node.H; node.parent = currentNode; openList.Add(node); } } if (currentRoom.getSouthDoor().GetComponent <DoorInterface>().getShowFlag()) { node = new Node(currentRoom.getXYZ()[0], currentRoom.getXYZ()[1] - 1, currentRoom.getXYZ()[2]); if (!this.containClose(node, closeList)) { node.G = 10 + currentNode.G; node.H = (System.Math.Abs(node.xy[0] - targetNode.getXYZ()[0]) + System.Math.Abs(node.xy[1] - targetNode.getXYZ()[1])) * 10; if (roundController.findRoomByXYZ(node.xy).isLock()) { node.H = node.H + 50; } node.F = node.G + node.H; node.parent = currentNode; openList.Add(node); } } if (currentRoom.getEastDoor().GetComponent <DoorInterface>().getShowFlag()) { node = new Node(currentRoom.getXYZ()[0] + 1, currentRoom.getXYZ()[1], currentRoom.getXYZ()[2]); if (!this.containClose(node, closeList)) { node.G = 10 + currentNode.G; node.H = (System.Math.Abs(node.xy[0] - targetNode.getXYZ()[0]) + System.Math.Abs(node.xy[1] - targetNode.getXYZ()[1])) * 10; if (roundController.findRoomByXYZ(node.xy).isLock()) { node.H = node.H + 50; } node.F = node.G + node.H; node.parent = currentNode; openList.Add(node); } } if (currentRoom.getWestDoor().GetComponent <DoorInterface>().getShowFlag()) { node = new Node(currentRoom.getXYZ()[0] - 1, currentRoom.getXYZ()[1], currentRoom.getXYZ()[2]); if (!this.containClose(node, closeList)) { node.G = 10 + currentNode.G; node.H = (System.Math.Abs(node.xy[0] - targetNode.getXYZ()[0]) + System.Math.Abs(node.xy[1] - targetNode.getXYZ()[1])) * 10; if (roundController.findRoomByXYZ(node.xy).isLock()) { node.H = node.H + 50; } node.F = node.G + node.H; node.parent = currentNode; openList.Add(node); } } // Debug.Log("openList.Count " + openList.Count); } Stack <Node> paths = genPath(initNode, currentNode); return(paths); }