Ejemplo n.º 1
0
 void DrawMap()
 {
     foreach (Room room in rooms)
     {
         if (room == null)
         {
             continue; //skip where there is no room
         }
         Vector2 drawPos = room.gridPos;
         drawPos.x *= 22;//aspect ratio of map sprite
         drawPos.y *= 12;
         drawPos.y -= 0.5f;
         //create map obj and assign its variables
         MapSelector mapper = mapSelector.GetComponent <MapSelector>();
         mapper.type  = room.type;
         mapper.up    = room.doorTop;
         mapper.down  = room.doorBot;
         mapper.right = room.doorRight;
         mapper.left  = room.doorLeft;
         mapper.gameObject.transform.parent = mapRoot;
         mapper.PickRoom();
         GameObject       roomObj       = (GameObject)Object.Instantiate(mapper.getRoom(), drawPos, Quaternion.identity);
         CameraTriggerEnd centerTrigger = roomObj.transform.Find("Center").GetComponent <CameraTriggerEnd>();
         centerTrigger.isStartingRoom = room.isStartingRoom;
         if (room.isEndingRoom)
         {
             GameObject exit = (GameObject)Object.Instantiate(levelExit, drawPos, Quaternion.identity);
             exit.transform.SetParent(roomObj.transform);
             centerTrigger.isSafeRoom = true;
             room.cameraPosition      = roomObj.transform.position;
             room.setRoom(roomObj);
             continue;
         }
         if (Random.value < 0.1 && !safeRoomExists && !room.isStartingRoom)
         {
             // roomObj.transform.Find("Enemy Spawner").gameObject.GetComponent<EnemySpawner>().isSafeRoom = true;
             centerTrigger.isSafeRoom = true;
             GameObject s  = (GameObject)Object.Instantiate(storage, drawPos, Quaternion.identity);
             GameObject s1 = (GameObject)Object.Instantiate(shop, drawPos + new Vector2(-7f, 3f), Quaternion.identity);
             s.transform.SetParent(roomObj.transform);
             s.transform.SetParent(roomObj.transform);
             safeRoomExists = true;
         }
         else if (Random.value < chestRoomChance && !room.isStartingRoom)
         {
             // roomObj.transform.Find("Enemy Spawner").gameObject.GetComponent<EnemySpawner>().isSafeRoom = true;
             centerTrigger.isSafeRoom = true;
             GameObject s = (GameObject)Object.Instantiate(chest, drawPos, Quaternion.identity);
             s.transform.SetParent(roomObj.transform);
         }
         else
         {
             centerTrigger.isSafeRoom = false;
         }
         room.cameraPosition = roomObj.transform.position;
         room.setRoom(roomObj);
     }
 }