UNFINISHED Implemented procedural dice generation. Way too hard

This commit is contained in:
Max 2025-02-17 16:51:45 +01:00
parent ea1ca7a0cd
commit 03f0f7859e
43 changed files with 13909 additions and 57 deletions

Binary file not shown.

View file

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: a9fb44c02fd9e0043a5a54660bfc4a95

View file

@ -86,7 +86,6 @@ GameObject:
- component: {fileID: 9187907134033443523}
- component: {fileID: 3406749035128918688}
- component: {fileID: 4547043864789539458}
- component: {fileID: 3534050844455123390}
- component: {fileID: 1770509300873928573}
- component: {fileID: 4019891345885281529}
m_Layer: 0
@ -150,20 +149,6 @@ MonoBehaviour:
diamonds: 0
damage: 0
chest: 0
--- !u!114 &3534050844455123390
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2435349004046080434}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0f021f4903d50cb4b8bea2c40701ad58, type: 3}
m_Name:
m_EditorClassIdentifier:
blockingRoom: {fileID: 0}
number: 7
--- !u!212 &1770509300873928573
SpriteRenderer:
m_ObjectHideFlags: 0

View file

@ -86,7 +86,6 @@ GameObject:
- component: {fileID: 9187907134033443523}
- component: {fileID: 3406749035128918688}
- component: {fileID: 4547043864789539458}
- component: {fileID: 3914409103375474668}
- component: {fileID: 1770509300873928573}
- component: {fileID: 4019891345885281529}
- component: {fileID: -1465197196826248026}
@ -151,20 +150,6 @@ MonoBehaviour:
diamonds: 0
damage: 0
chest: 0
--- !u!114 &3914409103375474668
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2435349004046080434}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0f021f4903d50cb4b8bea2c40701ad58, type: 3}
m_Name:
m_EditorClassIdentifier:
blockingRoom: {fileID: 0}
number: 7
--- !u!212 &1770509300873928573
SpriteRenderer:
m_ObjectHideFlags: 0

View file

@ -11,7 +11,6 @@ GameObject:
- component: {fileID: 9187907134033443523}
- component: {fileID: 849256457500513523}
- component: {fileID: 6904757263627452010}
- component: {fileID: 840456052578583509}
- component: {fileID: 1770509300873928573}
- component: {fileID: 4019891345885281529}
- component: {fileID: -1465197196826248026}
@ -74,20 +73,6 @@ MonoBehaviour:
diamonds: 0
damage: 0
chest: 0
--- !u!114 &840456052578583509
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2435349004046080434}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0f021f4903d50cb4b8bea2c40701ad58, type: 3}
m_Name:
m_EditorClassIdentifier:
blockingRoom: {fileID: 0}
number: 7
--- !u!212 &1770509300873928573
SpriteRenderer:
m_ObjectHideFlags: 0

View file

@ -28,12 +28,14 @@ namespace DungeonGenerator
GameObject bossRoomGO = PrefabUtility.InstantiatePrefab(bossRoomPrefab, gameObject.transform) as GameObject;
bossRoomGO.transform.position = ConvertToUnityPosition(map.GetBossRoom().GetCenterOfRoom(), map.Width, map.Height);
AddLockToRoomObject(bossRoomGO, map.GetBossRoom().Lock.GetLock());
_roomIdToGameObject[map.GetBossRoom().Id] = bossRoomGO;
foreach (var monsterRoom in map.GetMonsterRooms())
{
GameObject monsterRoomGO = PrefabUtility.InstantiatePrefab(monsterRoomPrefab, gameObject.transform) as GameObject;
monsterRoomGO.transform.position = ConvertToUnityPosition(monsterRoom.GetCenterOfRoom(), map.Width, map.Height);
AddLockToRoomObject(monsterRoomGO, monsterRoom.Lock.GetLock());
_roomIdToGameObject[monsterRoom.Id] = monsterRoomGO;
}
@ -41,6 +43,7 @@ namespace DungeonGenerator
{
GameObject normalRoomGO = PrefabUtility.InstantiatePrefab(normalRoomPrefab, gameObject.transform) as GameObject;
normalRoomGO.transform.position = ConvertToUnityPosition(normalRoom.GetCenterOfRoom(), map.Width, map.Height);
AddLockToRoomObject(normalRoomGO, normalRoom.Lock.GetLock());
_roomIdToGameObject[normalRoom.Id] = normalRoomGO;
}
@ -49,6 +52,7 @@ namespace DungeonGenerator
GameObject entranceRoomGO = PrefabUtility.InstantiatePrefab(normalRoomPrefab, gameObject.transform) as GameObject;
entranceRoomGO.transform.position = ConvertToUnityPosition(entranceRoom.GetCenterOfRoom(), map.Width, map.Height);
entranceRoomGO.GetComponent<Room>().IsEntrance = true;
AddLockToRoomObject(entranceRoomGO, entranceRoom.Lock.GetLock());
_roomIdToGameObject[entranceRoom.Id] = entranceRoomGO;
}
@ -70,5 +74,35 @@ namespace DungeonGenerator
return new Vector3(newX, newY, 0f);
}
private void AddLockToRoomObject(GameObject room, string lockString)
{
NumberLock _lock;
switch (lockString)
{
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
case "10":
case "11":
case "12":
_lock = room.AddComponent<NumberLock>();
_lock.SetNumber(Int32.Parse(lockString));
break;
case "=":
room.AddComponent<MatchingDiceLock>();
break;
case null:
Debug.Log("Lock for room was null when imported. Using 1 as lock");
_lock = room.AddComponent<NumberLock>();
_lock.SetNumber(1);
break;
}
}
}
}

View file

@ -14,6 +14,11 @@ public class NumberLock : Lock
return false;
}
public void SetNumber(int num)
{
number = num;
}
public int GetNumber()
{
return number;