From 199450f198be318d5b12932d7123704312bad01c Mon Sep 17 00:00:00 2001 From: Robin Ruud Kristensen <robin1998@hotmail.no> Date: Wed, 26 Oct 2022 09:00:57 +0200 Subject: [PATCH] generate map on scene --- MrBigsock/Assets/Code/Map.meta | 8 ++++ MrBigsock/Assets/Code/Map/AbstractMapGen.cs | 37 ++++++++++++++++++ .../Assets/Code/Map/AbstractMapGen.cs.meta | 11 ++++++ .../Assets/Code/Map/NeighbourMapGenerator.cs | 38 +++++++++++++++++++ .../Code/Map/NeighbourMapGenerator.cs.meta | 11 ++++++ .../Assets/Code/Map/TilemapGenerator.cs.meta | 11 ++++++ 6 files changed, 116 insertions(+) create mode 100644 MrBigsock/Assets/Code/Map.meta create mode 100644 MrBigsock/Assets/Code/Map/AbstractMapGen.cs create mode 100644 MrBigsock/Assets/Code/Map/AbstractMapGen.cs.meta create mode 100644 MrBigsock/Assets/Code/Map/NeighbourMapGenerator.cs create mode 100644 MrBigsock/Assets/Code/Map/NeighbourMapGenerator.cs.meta create mode 100644 MrBigsock/Assets/Code/Map/TilemapGenerator.cs.meta diff --git a/MrBigsock/Assets/Code/Map.meta b/MrBigsock/Assets/Code/Map.meta new file mode 100644 index 00000000..dcac9727 --- /dev/null +++ b/MrBigsock/Assets/Code/Map.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 74feb499403b4aa41a830a61dba8f194 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/MrBigsock/Assets/Code/Map/AbstractMapGen.cs b/MrBigsock/Assets/Code/Map/AbstractMapGen.cs new file mode 100644 index 00000000..51fc8431 --- /dev/null +++ b/MrBigsock/Assets/Code/Map/AbstractMapGen.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using Unity.VisualScripting; +using UnityEngine; + +namespace Bigsock +{ + public abstract class AbstractMapGen : MonoBehaviour + { + [SerializeField] + protected TilemapGenerator tilemapGenerator = null; + [SerializeField] + protected int RoomCount; + + //Depricated + public void GenerateMap() + { + //tilemapVisualizer.Clear(); + RunProceduralGeneration(); + } + + public void Generate() + { + //tilemapGenerator.Clear(); + RunProceduralGeneration(); + } + + public void ClearMap() + { + tilemapGenerator.Clear(RoomCount, true); + //tilemapVisualizer.Clear(); + } + + public abstract void RunProceduralGeneration(); + } +} \ No newline at end of file diff --git a/MrBigsock/Assets/Code/Map/AbstractMapGen.cs.meta b/MrBigsock/Assets/Code/Map/AbstractMapGen.cs.meta new file mode 100644 index 00000000..8b8a1cbc --- /dev/null +++ b/MrBigsock/Assets/Code/Map/AbstractMapGen.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 725e1e4aadc26ea4295922b37086eaeb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/MrBigsock/Assets/Code/Map/NeighbourMapGenerator.cs b/MrBigsock/Assets/Code/Map/NeighbourMapGenerator.cs new file mode 100644 index 00000000..a17b139e --- /dev/null +++ b/MrBigsock/Assets/Code/Map/NeighbourMapGenerator.cs @@ -0,0 +1,38 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace Bigsock +{ + public class NeighbourMapGenerator : AbstractMapGen + { + [SerializeField] + protected NeigbourSO[] mapParam; + + private static List<int[,]> roomList = new List<int[,]>(); + + public override void RunProceduralGeneration() + { + + for (int i = 0; i <= RoomCount - 1; i++) + { + int randomMap = Random.Range(0, mapParam.Length); + int[,] map = tilemapGenerator.GenerateArray(mapParam[randomMap].width, mapParam[randomMap].height, mapParam[randomMap].empty); + roomList.Add(map); + tilemapGenerator.RenderMap(roomList[i],i); + } + /* + int randomMap = Random.Range(0, mapParam.Length); + int[,] map = tilemapGenerator.GenerateArray(mapParam[randomMap].width, mapParam[randomMap].height, mapParam[randomMap].empty); + roomList.Add(map); + tilemapGenerator.RenderMap(roomList[0]);*/ + + tilemapGenerator.polyCollider(roomList[0], 0); + } + + public static int[,] GetRoomList(int i) + { + return roomList[i]; + } + } +} \ No newline at end of file diff --git a/MrBigsock/Assets/Code/Map/NeighbourMapGenerator.cs.meta b/MrBigsock/Assets/Code/Map/NeighbourMapGenerator.cs.meta new file mode 100644 index 00000000..a4ad0f60 --- /dev/null +++ b/MrBigsock/Assets/Code/Map/NeighbourMapGenerator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 960d72caa307da4499b26afcf1a028ad +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/MrBigsock/Assets/Code/Map/TilemapGenerator.cs.meta b/MrBigsock/Assets/Code/Map/TilemapGenerator.cs.meta new file mode 100644 index 00000000..a2ff5b8a --- /dev/null +++ b/MrBigsock/Assets/Code/Map/TilemapGenerator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: afb5afdf97765df4284fda5971c18543 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: -- GitLab