51 lines
No EOL
1.7 KiB
C#
51 lines
No EOL
1.7 KiB
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using DungeonMapGenerator.Rooms;
|
|
|
|
namespace DungeonMapGenerator
|
|
{
|
|
public static class DungeonLootPopulator
|
|
{
|
|
private const int MONSTER_ROOM_DIAMONDS = 2;
|
|
private const int BOSS_ROOM_DIAMONDS = 6;
|
|
private const int BOSS_ROOM_DAMAGE = 2;
|
|
|
|
public static void GenerateLootInRooms(List<Room> rooms)
|
|
{
|
|
foreach (Room room in rooms)
|
|
{
|
|
switch (room.TypeOfRoom)
|
|
{
|
|
case RoomType.Normal:
|
|
if (Lock.HardLocks.Any(l => l.GetLock() == room.Lock.GetLock()))
|
|
{
|
|
room.AddLoot(LootType.Chest);
|
|
}
|
|
else if (Lock.VeryHardLocks.Any(l => l.GetLock() == room.Lock.GetLock()))
|
|
{
|
|
room.AddLoot(LootType.Diamond);
|
|
}
|
|
break;
|
|
case RoomType.Monster:
|
|
for (int i = 0; i < MONSTER_ROOM_DIAMONDS; i++)
|
|
{
|
|
room.AddLoot(LootType.Diamond);
|
|
}
|
|
break;
|
|
case RoomType.Boss:
|
|
for (int i = 0; i < BOSS_ROOM_DIAMONDS; i++)
|
|
{
|
|
room.AddLoot(LootType.Diamond);
|
|
}
|
|
|
|
for (int i = 0; i < BOSS_ROOM_DAMAGE; i++)
|
|
{
|
|
room.AddLoot(LootType.Damage);
|
|
}
|
|
break;
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
} |