Esempio n. 1
0
 void Start()
 {
     if (this.dungeonRoomTemplate is RewardRoom)
     {
         RewardRoom roomRemplate = this.dungeonRoomTemplate as RewardRoom;
         // @TODO instantiate all the stuff that's needed
     }
     else if (this.dungeonRoomTemplate is MonsterRoom)
     {
         MonsterRoom roomRemplate = this.dungeonRoomTemplate as MonsterRoom;
         // @TODO instantiate all the stuff that's needed
     }
 }
Esempio n. 2
0
    void LoadRoomAtCoordinate(Vector2Int roomCoordinate)
    {
        IDungeonRoomTemplate roomTemplate = GetOrGenerateRoomTemplateForCoordinate(roomCoordinate);
        var position = ConvertRoomCoordinateToWorldCoordinate(roomCoordinate);

        GameObject  loadedRoom;
        DungeonRoom dungeonRoom;

        if (roomTemplate is RewardRoomTemplate)
        {
            var template = roomTemplate as RewardRoomTemplate;

            loadedRoom = Container.InstantiatePrefab(RewardRoomPrefab);
            RewardRoom room = loadedRoom.GetComponent <RewardRoom>();
            dungeonRoom = room;
        }
        else if (roomTemplate is MonsterRoomTemplate)
        {
            var template = roomTemplate as MonsterRoomTemplate;

            loadedRoom = Container.InstantiatePrefab(MonsterRoomPrefab);
            MonsterRoom room = loadedRoom.GetComponent <MonsterRoom>();
            dungeonRoom = room;

            room.player = this.player;
        }
        else
        {
            throw new System.NotImplementedException($"Unimplemented room template of type {roomTemplate.GetType()}");
        }

        dungeonRoom.transform.transform.position = position;

        dungeonRoom.dungeonRoomTemplate = roomTemplate;
        dungeonRoom.roomCoordinate      = roomCoordinate;

        this.loadedRooms.Add(dungeonRoom);
    }