void UpdateDoor(RoadInfo info) { try { int childCount = DoorArea.transform.childCount; for (int i = 0; i < childCount; i++) { switch (DungeonGenerator.Instance.CurrentDungeon) { case StateDef.DungeonType.cove: case StateDef.DungeonType.crypts: DoorArea.transform.GetChild(i).GetComponent <UITexture>().mainTexture = (Texture)ResMgr.Instance.LoadAssetFromResource(GetDungeonPath() + string.Format(CommonDefine.DungeonDoor, DungeonGenerator.Instance.CurrentDungeon.ToString())); break; default: Debug.logger.LogError("Dungeon", "没有这个类型的门"); break; } RoomInfo neibour = info.GetNeibourRoom(DungeonGenerator.Instance.CurrentDir); if (neibour == null) { Debug.logger.LogError("Neibour", "road neibour room " + info.NeighbourRooms.Count); } if (info.BuildDir == DungeonGenerator.Instance.CurrentDir) { //如果是跟所造路同方向,那么进门处的坐标就是当前路的起始坐标 if (i == 0) { DoorArea.transform.GetChild(i).GetComponent <DoorView>().Init(info.X, info.Y); } else if (i == 1) { DoorArea.transform.GetChild(i).GetComponent <DoorView>().Init(neibour.X, neibour.Y); } } else { //如果是跟所造路反方向,那么进门处的坐标就是当前路的出口坐标 if (i == 0) { DoorArea.transform.GetChild(i).GetComponent <DoorView>().Init(neibour.X, neibour.Y); } else if (i == 1) { DoorArea.transform.GetChild(i).GetComponent <DoorView>().Init(info.X, info.Y); } } } } catch (System.Exception ex) { Debug.logger.Log(ex.Message); } }