From e67e603fe77ea4a9554f1a0337f104f6941f9d14 Mon Sep 17 00:00:00 2001 From: DerTyp187 Date: Tue, 28 Sep 2021 13:14:37 +0200 Subject: [PATCH 1/8] Item Scriptable Object, Basic Resource Manager --- Assets/Scenes/SampleScene.unity | 15 +++++++++++++++ Assets/Scripts/Resources.meta | 8 ++++++++ Assets/Scripts/Resources/Items.meta | 8 ++++++++ Assets/Scripts/Resources/Items/Wood.asset | 17 +++++++++++++++++ .../Scripts/Resources/Items/Wood.asset.meta | 8 ++++++++ Assets/Scripts/Resources/Scripts.meta | 8 ++++++++ Assets/Scripts/Resources/Scripts/Item.cs | 14 ++++++++++++++ Assets/Scripts/Resources/Scripts/Item.cs.meta | 11 +++++++++++ .../Resources/Scripts/ResourceManager.cs | 19 +++++++++++++++++++ .../Resources/Scripts/ResourceManager.cs.meta | 11 +++++++++++ 10 files changed, 119 insertions(+) create mode 100644 Assets/Scripts/Resources.meta create mode 100644 Assets/Scripts/Resources/Items.meta create mode 100644 Assets/Scripts/Resources/Items/Wood.asset create mode 100644 Assets/Scripts/Resources/Items/Wood.asset.meta create mode 100644 Assets/Scripts/Resources/Scripts.meta create mode 100644 Assets/Scripts/Resources/Scripts/Item.cs create mode 100644 Assets/Scripts/Resources/Scripts/Item.cs.meta create mode 100644 Assets/Scripts/Resources/Scripts/ResourceManager.cs create mode 100644 Assets/Scripts/Resources/Scripts/ResourceManager.cs.meta diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 861dc90..1630527 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -1093,6 +1093,7 @@ GameObject: - component: {fileID: 1861247505} - component: {fileID: 1861247504} - component: {fileID: 1861247506} + - component: {fileID: 1861247507} m_Layer: 0 m_Name: GameManager m_TagString: Untagged @@ -1143,6 +1144,20 @@ MonoBehaviour: eventObject: {fileID: 8681335675325213624, guid: 240f676d062888042ac64a67d71aaa9d, type: 3} parentEventObject: {fileID: 1690461076} events: [] +--- !u!114 &1861247507 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1861247503} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 241231c1be475704d8a3fded0c1a9d63, type: 3} + m_Name: + m_EditorClassIdentifier: + itemList: + - {fileID: 11400000, guid: 89329e8fd5243144e83e179fb10df382, type: 2} --- !u!1001 &7029954222161724659 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Resources.meta b/Assets/Scripts/Resources.meta new file mode 100644 index 0000000..744b1b7 --- /dev/null +++ b/Assets/Scripts/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c318b4d6ca7f8af44b4234e942d6725f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Resources/Items.meta b/Assets/Scripts/Resources/Items.meta new file mode 100644 index 0000000..10d4e4b --- /dev/null +++ b/Assets/Scripts/Resources/Items.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6dd941a22f986e3439f2aaa7c5219004 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Resources/Items/Wood.asset b/Assets/Scripts/Resources/Items/Wood.asset new file mode 100644 index 0000000..d197ff1 --- /dev/null +++ b/Assets/Scripts/Resources/Items/Wood.asset @@ -0,0 +1,17 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 232c60ba7df6f074d9c92fa97215e412, type: 3} + m_Name: Wood + m_EditorClassIdentifier: + name: Wood + icon: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0} + isDefaultItem: 0 diff --git a/Assets/Scripts/Resources/Items/Wood.asset.meta b/Assets/Scripts/Resources/Items/Wood.asset.meta new file mode 100644 index 0000000..9e0a0de --- /dev/null +++ b/Assets/Scripts/Resources/Items/Wood.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 89329e8fd5243144e83e179fb10df382 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Resources/Scripts.meta b/Assets/Scripts/Resources/Scripts.meta new file mode 100644 index 0000000..b51586f --- /dev/null +++ b/Assets/Scripts/Resources/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d06f1d835d44a674cbb2ca674e31830d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Resources/Scripts/Item.cs b/Assets/Scripts/Resources/Scripts/Item.cs new file mode 100644 index 0000000..5896407 --- /dev/null +++ b/Assets/Scripts/Resources/Scripts/Item.cs @@ -0,0 +1,14 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +[CreateAssetMenu(fileName = "New Item", menuName = "Resources/Item")] +public class Item : ScriptableObject +{ + new public string name = "New Item"; + public string uuid = "new_item"; + public Sprite icon = null; + public bool isDefaultItem = false; + + +} diff --git a/Assets/Scripts/Resources/Scripts/Item.cs.meta b/Assets/Scripts/Resources/Scripts/Item.cs.meta new file mode 100644 index 0000000..8b231c9 --- /dev/null +++ b/Assets/Scripts/Resources/Scripts/Item.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 232c60ba7df6f074d9c92fa97215e412 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Resources/Scripts/ResourceManager.cs b/Assets/Scripts/Resources/Scripts/ResourceManager.cs new file mode 100644 index 0000000..692af2b --- /dev/null +++ b/Assets/Scripts/Resources/Scripts/ResourceManager.cs @@ -0,0 +1,19 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class ResourceManager: MonoBehaviour +{ + [SerializeField] private List itemList; + + public void Remove(Item item) + { + itemList.Remove(item); + } + + public void Add(Item item) + { + itemList.Add(item); + } + +} diff --git a/Assets/Scripts/Resources/Scripts/ResourceManager.cs.meta b/Assets/Scripts/Resources/Scripts/ResourceManager.cs.meta new file mode 100644 index 0000000..3137592 --- /dev/null +++ b/Assets/Scripts/Resources/Scripts/ResourceManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 241231c1be475704d8a3fded0c1a9d63 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: From d0d5b7666952dad958652b2581a7dcca7bcc0dc0 Mon Sep 17 00:00:00 2001 From: DerTyp187 Date: Tue, 28 Sep 2021 13:39:01 +0200 Subject: [PATCH 2/8] Update ResourceManager --- Assets/Scripts/Resources/Items/Stone.asset | 18 ++++++++++++++++++ .../Scripts/Resources/Items/Stone.asset.meta | 8 ++++++++ .../Resources/Scripts/ResourceManager.cs | 14 ++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 Assets/Scripts/Resources/Items/Stone.asset create mode 100644 Assets/Scripts/Resources/Items/Stone.asset.meta diff --git a/Assets/Scripts/Resources/Items/Stone.asset b/Assets/Scripts/Resources/Items/Stone.asset new file mode 100644 index 0000000..8ac7886 --- /dev/null +++ b/Assets/Scripts/Resources/Items/Stone.asset @@ -0,0 +1,18 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 232c60ba7df6f074d9c92fa97215e412, type: 3} + m_Name: Stone + m_EditorClassIdentifier: + name: New Item + uuid: new_item + icon: {fileID: 0} + isDefaultItem: 0 diff --git a/Assets/Scripts/Resources/Items/Stone.asset.meta b/Assets/Scripts/Resources/Items/Stone.asset.meta new file mode 100644 index 0000000..e315421 --- /dev/null +++ b/Assets/Scripts/Resources/Items/Stone.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9309bb620f211124297c6d9da498fca1 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Resources/Scripts/ResourceManager.cs b/Assets/Scripts/Resources/Scripts/ResourceManager.cs index 692af2b..752b6c0 100644 --- a/Assets/Scripts/Resources/Scripts/ResourceManager.cs +++ b/Assets/Scripts/Resources/Scripts/ResourceManager.cs @@ -16,4 +16,18 @@ public class ResourceManager: MonoBehaviour itemList.Add(item); } + public int Count(Item item) + { + int count = 0; + + foreach(Item i in itemList) + { + if(i == item) + { + count += 1; + } + } + + return count; + } } From 435c59821e25c43b732249ff79ac952e158ce481 Mon Sep 17 00:00:00 2001 From: DerTyp187 Date: Tue, 28 Sep 2021 13:51:22 +0200 Subject: [PATCH 3/8] Update ResourceManager.cs --- Assets/Scripts/Resources/Scripts/ResourceManager.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Assets/Scripts/Resources/Scripts/ResourceManager.cs b/Assets/Scripts/Resources/Scripts/ResourceManager.cs index 752b6c0..a1f16bb 100644 --- a/Assets/Scripts/Resources/Scripts/ResourceManager.cs +++ b/Assets/Scripts/Resources/Scripts/ResourceManager.cs @@ -6,6 +6,9 @@ public class ResourceManager: MonoBehaviour { [SerializeField] private List itemList; + + // Count All Resources of all storage buildings + /* public void Remove(Item item) { itemList.Remove(item); @@ -14,7 +17,7 @@ public class ResourceManager: MonoBehaviour public void Add(Item item) { itemList.Add(item); - } + }*/ public int Count(Item item) { From 2dbed6bdc09a2dadd2ae270b54c9add86ffbb1b8 Mon Sep 17 00:00:00 2001 From: DerTyp187 Date: Tue, 28 Sep 2021 14:38:03 +0200 Subject: [PATCH 4/8] update buildings --- Assets/Scripts/Building/Building.cs | 2 +- Assets/Scripts/Building/BuildingBlueprint.cs | 1 + Assets/Scripts/Building/House/HouseBlueprint.cs | 8 +++++++- Assets/Scripts/Building/House/HouseBuildingScript.cs | 3 ++- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Assets/Scripts/Building/Building.cs b/Assets/Scripts/Building/Building.cs index 615ecc3..4e43350 100644 --- a/Assets/Scripts/Building/Building.cs +++ b/Assets/Scripts/Building/Building.cs @@ -4,7 +4,7 @@ using UnityEngine; public abstract class Building : MonoBehaviour { - + public abstract string GetTitle(); public abstract string GetDescription(); diff --git a/Assets/Scripts/Building/BuildingBlueprint.cs b/Assets/Scripts/Building/BuildingBlueprint.cs index 89ae7ea..bd5a873 100644 --- a/Assets/Scripts/Building/BuildingBlueprint.cs +++ b/Assets/Scripts/Building/BuildingBlueprint.cs @@ -14,6 +14,7 @@ public abstract class BuildingBlueprint : MonoBehaviour Ray ray; public abstract void Init(); + public abstract void WhileColliding(); public abstract void WhileNotColliding(); diff --git a/Assets/Scripts/Building/House/HouseBlueprint.cs b/Assets/Scripts/Building/House/HouseBlueprint.cs index caf2653..caf1ed2 100644 --- a/Assets/Scripts/Building/House/HouseBlueprint.cs +++ b/Assets/Scripts/Building/House/HouseBlueprint.cs @@ -4,23 +4,29 @@ using UnityEngine; public class HouseBlueprint : BuildingBlueprint { - public Material collisionMat; + public Material collisionMat; public Material blueprintMat; + + private Transform houseCube; public override void Init() { + //Haus cube ím Obj -> hier wird es benutzt zum material ändern houseCube = gameObject.transform.Find("HouseCube"); } public override void WhileColliding() { + //Wenn es collidet soll der HouseCube IM Object verändert werden! + //Das ist bei jedem Building anders houseCube.GetComponent().material = collisionMat; } public override void WhileNotColliding() { + //Das selbe wie bei "WhileColliding" houseCube.GetComponent().material = blueprintMat; } } diff --git a/Assets/Scripts/Building/House/HouseBuildingScript.cs b/Assets/Scripts/Building/House/HouseBuildingScript.cs index efd1cb7..c22b939 100644 --- a/Assets/Scripts/Building/House/HouseBuildingScript.cs +++ b/Assets/Scripts/Building/House/HouseBuildingScript.cs @@ -3,7 +3,8 @@ using System.Collections.Generic; using UnityEngine; public class HouseBuildingScript : Building -{ +{ + [SerializeField] private string title = "House"; [SerializeField] private string description = "A place for people to live in."; From 99830d476fdf1cfc869ab68b295e2d44b262555e Mon Sep 17 00:00:00 2001 From: DerTyp187 Date: Thu, 30 Sep 2021 08:41:59 +0200 Subject: [PATCH 5/8] Updated Building.cs --- Assets/Scripts/Building/Building.cs | 6 ++---- .../Building/House/HouseBuildingScript.cs | 18 ++++++------------ Assets/Scripts/Building/InfoSign.cs | 2 -- Assets/Scripts/Building/Types.meta | 8 ++++++++ .../Scripts/Building/Types/StorageBuilding.cs | 8 ++++++++ .../Building/Types/StorageBuilding.cs.meta | 11 +++++++++++ Packages/manifest.json | 6 +++--- Packages/packages-lock.json | 8 ++++---- ProjectSettings/ProjectVersion.txt | 4 ++-- 9 files changed, 44 insertions(+), 27 deletions(-) create mode 100644 Assets/Scripts/Building/Types.meta create mode 100644 Assets/Scripts/Building/Types/StorageBuilding.cs create mode 100644 Assets/Scripts/Building/Types/StorageBuilding.cs.meta diff --git a/Assets/Scripts/Building/Building.cs b/Assets/Scripts/Building/Building.cs index 4e43350..504b843 100644 --- a/Assets/Scripts/Building/Building.cs +++ b/Assets/Scripts/Building/Building.cs @@ -4,9 +4,7 @@ using UnityEngine; public abstract class Building : MonoBehaviour { - - public abstract string GetTitle(); - public abstract string GetDescription(); - + public string title = "New Building"; + public string description = "A cool new building"; } diff --git a/Assets/Scripts/Building/House/HouseBuildingScript.cs b/Assets/Scripts/Building/House/HouseBuildingScript.cs index c22b939..9902331 100644 --- a/Assets/Scripts/Building/House/HouseBuildingScript.cs +++ b/Assets/Scripts/Building/House/HouseBuildingScript.cs @@ -3,17 +3,11 @@ using System.Collections.Generic; using UnityEngine; public class HouseBuildingScript : Building -{ - - [SerializeField] private string title = "House"; - [SerializeField] private string description = "A place for people to live in."; +{ + private void Start() + { + title = "House"; + description = "A place to live in"; + } - public override string GetTitle() - { - return title; - } - public override string GetDescription() - { - return description; - } } diff --git a/Assets/Scripts/Building/InfoSign.cs b/Assets/Scripts/Building/InfoSign.cs index 23075ef..50dbacf 100644 --- a/Assets/Scripts/Building/InfoSign.cs +++ b/Assets/Scripts/Building/InfoSign.cs @@ -19,8 +19,6 @@ public class InfoSign : Interactable public override void Interact() { - Debug.Log(parentBuilding.GetTitle()); - Debug.Log("interact"); } } diff --git a/Assets/Scripts/Building/Types.meta b/Assets/Scripts/Building/Types.meta new file mode 100644 index 0000000..432b404 --- /dev/null +++ b/Assets/Scripts/Building/Types.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: efcc2aca90f2a2b4eb81b54c475f3df4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Building/Types/StorageBuilding.cs b/Assets/Scripts/Building/Types/StorageBuilding.cs new file mode 100644 index 0000000..be9ecca --- /dev/null +++ b/Assets/Scripts/Building/Types/StorageBuilding.cs @@ -0,0 +1,8 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class StorageBuilding : Building +{ + +} diff --git a/Assets/Scripts/Building/Types/StorageBuilding.cs.meta b/Assets/Scripts/Building/Types/StorageBuilding.cs.meta new file mode 100644 index 0000000..cb3acbd --- /dev/null +++ b/Assets/Scripts/Building/Types/StorageBuilding.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9cd3101a861849b4f97e2f4f499d7d46 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/manifest.json b/Packages/manifest.json index 395e7d7..f83d9a4 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,12 +1,12 @@ { "dependencies": { "com.unity.collab-proxy": "1.9.0", - "com.unity.ide.rider": "2.0.7", + "com.unity.ide.rider": "3.0.7", "com.unity.ide.visualstudio": "2.0.11", - "com.unity.ide.vscode": "1.2.3", + "com.unity.ide.vscode": "1.2.4", "com.unity.test-framework": "1.1.29", "com.unity.textmeshpro": "3.0.6", - "com.unity.timeline": "1.4.8", + "com.unity.timeline": "1.5.6", "com.unity.ugui": "1.0.0", "com.unity.modules.ai": "1.0.0", "com.unity.modules.androidjni": "1.0.0", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index f25244e..316e621 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -15,11 +15,11 @@ "url": "https://packages.unity.com" }, "com.unity.ide.rider": { - "version": "2.0.7", + "version": "3.0.7", "depth": 0, "source": "registry", "dependencies": { - "com.unity.test-framework": "1.1.1" + "com.unity.ext.nunit": "1.0.6" }, "url": "https://packages.unity.com" }, @@ -33,7 +33,7 @@ "url": "https://packages.unity.com" }, "com.unity.ide.vscode": { - "version": "1.2.3", + "version": "1.2.4", "depth": 0, "source": "registry", "dependencies": {}, @@ -60,7 +60,7 @@ "url": "https://packages.unity.com" }, "com.unity.timeline": { - "version": "1.4.8", + "version": "1.5.6", "depth": 0, "source": "registry", "dependencies": { diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt index 5650251..fe1188f 100644 --- a/ProjectSettings/ProjectVersion.txt +++ b/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 2020.3.18f1 -m_EditorVersionWithRevision: 2020.3.18f1 (a7d1c678663c) +m_EditorVersion: 2021.1.22f1 +m_EditorVersionWithRevision: 2021.1.22f1 (a137e5fb0427) From 15203c52ad57400d40a83d54c474ee656a0cea08 Mon Sep 17 00:00:00 2001 From: DerTyp187 Date: Thu, 30 Sep 2021 20:44:50 +0200 Subject: [PATCH 6/8] Added Basic ResourceManagement --- Assets/Scenes/SampleScene.unity | 119 +++++++++++++++++- .../Buildings.meta} | 6 +- .../Building/{ => Buildings}/House.meta | 0 .../{ => Buildings}/House/HouseBlueprint.cs | 0 .../House/HouseBlueprint.cs.meta | 0 .../House/HouseBuildingScript.cs | 0 .../House/HouseBuildingScript.cs.meta | 0 .../House/HouseConstruction.cs | 0 .../House/HouseConstruction.cs.meta | 0 .../Buildings/Warehouse.meta} | 6 +- .../Buildings/Warehouse/WarehouseBuilding.cs | 13 ++ .../Warehouse/WarehouseBuilding.cs.meta | 11 ++ .../Scripts/Building/Types/StorageBuilding.cs | 93 +++++++++++++- Assets/Scripts/Resources/Items/Stone.asset | 18 --- Assets/Scripts/Resources/Items/StoneItem.cs | 13 ++ .../Scripts/Resources/Items/StoneItem.cs.meta | 11 ++ Assets/Scripts/Resources/Items/Wood.asset | 17 --- Assets/Scripts/Resources/Items/WoodItem.cs | 13 ++ .../Scripts/Resources/Items/WoodItem.cs.meta | 11 ++ Assets/Scripts/Resources/Scripts/Item.cs | 13 +- .../Resources/Scripts/ResourceManager.cs | 68 +++++++--- ProjectSettings/TagManager.asset | 1 + 22 files changed, 347 insertions(+), 66 deletions(-) rename Assets/Scripts/{Resources/Items/Stone.asset.meta => Building/Buildings.meta} (52%) rename Assets/Scripts/Building/{ => Buildings}/House.meta (100%) rename Assets/Scripts/Building/{ => Buildings}/House/HouseBlueprint.cs (100%) rename Assets/Scripts/Building/{ => Buildings}/House/HouseBlueprint.cs.meta (100%) rename Assets/Scripts/Building/{ => Buildings}/House/HouseBuildingScript.cs (100%) rename Assets/Scripts/Building/{ => Buildings}/House/HouseBuildingScript.cs.meta (100%) rename Assets/Scripts/Building/{ => Buildings}/House/HouseConstruction.cs (100%) rename Assets/Scripts/Building/{ => Buildings}/House/HouseConstruction.cs.meta (100%) rename Assets/Scripts/{Resources/Items/Wood.asset.meta => Building/Buildings/Warehouse.meta} (52%) create mode 100644 Assets/Scripts/Building/Buildings/Warehouse/WarehouseBuilding.cs create mode 100644 Assets/Scripts/Building/Buildings/Warehouse/WarehouseBuilding.cs.meta delete mode 100644 Assets/Scripts/Resources/Items/Stone.asset create mode 100644 Assets/Scripts/Resources/Items/StoneItem.cs create mode 100644 Assets/Scripts/Resources/Items/StoneItem.cs.meta delete mode 100644 Assets/Scripts/Resources/Items/Wood.asset create mode 100644 Assets/Scripts/Resources/Items/WoodItem.cs create mode 100644 Assets/Scripts/Resources/Items/WoodItem.cs.meta diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 1630527..6fd65bf 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 705507994} - m_IndirectSpecularColor: {r: 0.2277222, g: 0.2251251, b: 0.2237271, a: 1} + m_IndirectSpecularColor: {r: 0.5996083, g: 0.5927744, b: 0.588867, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -382,6 +382,7 @@ Transform: - {fileID: 1667291200} - {fileID: 1238304666} - {fileID: 1300620966} + - {fileID: 763358974} m_Father: {fileID: 0} m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -638,6 +639,119 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} +--- !u!1 &763358969 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 763358974} + - component: {fileID: 763358973} + - component: {fileID: 763358972} + - component: {fileID: 763358971} + - component: {fileID: 763358970} + m_Layer: 0 + m_Name: Warehouse + m_TagString: StorageBuilding + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &763358970 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 763358969} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8a48bc1459390b4459fbf54ad16b50f9, type: 3} + m_Name: + m_EditorClassIdentifier: + title: New Building + description: A cool new building + inventory: [] + inventorySpace: 0 +--- !u!65 &763358971 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 763358969} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &763358972 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 763358969} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &763358973 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 763358969} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &763358974 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 763358969} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 84.6, y: 21, z: 29.60771} + m_LocalScale: {x: 10, y: 10, z: 10} + m_Children: [] + m_Father: {fileID: 317073667} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1048269303 GameObject: m_ObjectHideFlags: 0 @@ -1156,8 +1270,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 241231c1be475704d8a3fded0c1a9d63, type: 3} m_Name: m_EditorClassIdentifier: - itemList: - - {fileID: 11400000, guid: 89329e8fd5243144e83e179fb10df382, type: 2} + storageBuildings: [] --- !u!1001 &7029954222161724659 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Resources/Items/Stone.asset.meta b/Assets/Scripts/Building/Buildings.meta similarity index 52% rename from Assets/Scripts/Resources/Items/Stone.asset.meta rename to Assets/Scripts/Building/Buildings.meta index e315421..4393ec4 100644 --- a/Assets/Scripts/Resources/Items/Stone.asset.meta +++ b/Assets/Scripts/Building/Buildings.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: 9309bb620f211124297c6d9da498fca1 -NativeFormatImporter: +guid: 67b1c241d94696c409ad579573961232 +folderAsset: yes +DefaultImporter: externalObjects: {} - mainObjectFileID: 11400000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Scripts/Building/House.meta b/Assets/Scripts/Building/Buildings/House.meta similarity index 100% rename from Assets/Scripts/Building/House.meta rename to Assets/Scripts/Building/Buildings/House.meta diff --git a/Assets/Scripts/Building/House/HouseBlueprint.cs b/Assets/Scripts/Building/Buildings/House/HouseBlueprint.cs similarity index 100% rename from Assets/Scripts/Building/House/HouseBlueprint.cs rename to Assets/Scripts/Building/Buildings/House/HouseBlueprint.cs diff --git a/Assets/Scripts/Building/House/HouseBlueprint.cs.meta b/Assets/Scripts/Building/Buildings/House/HouseBlueprint.cs.meta similarity index 100% rename from Assets/Scripts/Building/House/HouseBlueprint.cs.meta rename to Assets/Scripts/Building/Buildings/House/HouseBlueprint.cs.meta diff --git a/Assets/Scripts/Building/House/HouseBuildingScript.cs b/Assets/Scripts/Building/Buildings/House/HouseBuildingScript.cs similarity index 100% rename from Assets/Scripts/Building/House/HouseBuildingScript.cs rename to Assets/Scripts/Building/Buildings/House/HouseBuildingScript.cs diff --git a/Assets/Scripts/Building/House/HouseBuildingScript.cs.meta b/Assets/Scripts/Building/Buildings/House/HouseBuildingScript.cs.meta similarity index 100% rename from Assets/Scripts/Building/House/HouseBuildingScript.cs.meta rename to Assets/Scripts/Building/Buildings/House/HouseBuildingScript.cs.meta diff --git a/Assets/Scripts/Building/House/HouseConstruction.cs b/Assets/Scripts/Building/Buildings/House/HouseConstruction.cs similarity index 100% rename from Assets/Scripts/Building/House/HouseConstruction.cs rename to Assets/Scripts/Building/Buildings/House/HouseConstruction.cs diff --git a/Assets/Scripts/Building/House/HouseConstruction.cs.meta b/Assets/Scripts/Building/Buildings/House/HouseConstruction.cs.meta similarity index 100% rename from Assets/Scripts/Building/House/HouseConstruction.cs.meta rename to Assets/Scripts/Building/Buildings/House/HouseConstruction.cs.meta diff --git a/Assets/Scripts/Resources/Items/Wood.asset.meta b/Assets/Scripts/Building/Buildings/Warehouse.meta similarity index 52% rename from Assets/Scripts/Resources/Items/Wood.asset.meta rename to Assets/Scripts/Building/Buildings/Warehouse.meta index 9e0a0de..350249d 100644 --- a/Assets/Scripts/Resources/Items/Wood.asset.meta +++ b/Assets/Scripts/Building/Buildings/Warehouse.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: 89329e8fd5243144e83e179fb10df382 -NativeFormatImporter: +guid: 03d0b1e434e28de4f9f37f90abf6d095 +folderAsset: yes +DefaultImporter: externalObjects: {} - mainObjectFileID: 11400000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Scripts/Building/Buildings/Warehouse/WarehouseBuilding.cs b/Assets/Scripts/Building/Buildings/Warehouse/WarehouseBuilding.cs new file mode 100644 index 0000000..d10f24b --- /dev/null +++ b/Assets/Scripts/Building/Buildings/Warehouse/WarehouseBuilding.cs @@ -0,0 +1,13 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class WarehouseBuilding : StorageBuilding +{ + + private void Start() + { + inventorySpace = 500; + } + +} diff --git a/Assets/Scripts/Building/Buildings/Warehouse/WarehouseBuilding.cs.meta b/Assets/Scripts/Building/Buildings/Warehouse/WarehouseBuilding.cs.meta new file mode 100644 index 0000000..6904f09 --- /dev/null +++ b/Assets/Scripts/Building/Buildings/Warehouse/WarehouseBuilding.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8a48bc1459390b4459fbf54ad16b50f9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Building/Types/StorageBuilding.cs b/Assets/Scripts/Building/Types/StorageBuilding.cs index be9ecca..7514cc8 100644 --- a/Assets/Scripts/Building/Types/StorageBuilding.cs +++ b/Assets/Scripts/Building/Types/StorageBuilding.cs @@ -4,5 +4,96 @@ using UnityEngine; public class StorageBuilding : Building { - + [SerializeField] private List inventory = new List(); + public int inventorySpace; + + + public void Add(Item item) + { + if(GetFreeSpace() >= item.count) + { + bool added = false; + //Check if the Item can get stacked + foreach (Item i in inventory) + { + if (i.uuid == item.uuid) + { + i.count += item.count; + added = true; + return; + } + added = false; + + + } + + //If foreach does not work just ADD (List is empty) + if (!added) + { + inventory.Add(item); + } + + } + else + { + Debug.Log("Inventory Full"); + } + + //TODO mach wenn nicht ganz voll, dass dann so viele items added werden wie platz ist + //Sonst wird bei 20 Holz KOMPLETT nein gesagt weil/obowhl 19 Space noch da ist + } + + public void Remove(Item item) + { + //Check if the Item can get stacked + foreach (Item i in inventory) + { + if (i.uuid == item.uuid) + { + if(i.count > item.count) + { + i.count -= item.count; + }else if(i.count <= item.count) + { + //!!!Muss eventuell später anders gehandelt werden!!! + inventory.Remove(i); //Wenn du mehr entfernst als im Inventar ist, dann wird das Item einfach komplett removed + } + } + } + } + + public int GetCountOfItem(Item item) + { + int count = 0; + foreach(Item i in inventory) + { + if(i.uuid == item.uuid) + { + count += i.count; + } + } + return count; + + } + + public int GetUsedSpace() + { + int usedSpace = 0; + + foreach(Item item in inventory) + { + usedSpace += item.count; + } + + return usedSpace; + } + + public int GetFreeSpace() + { + return inventorySpace - GetUsedSpace(); + } + public List Getinventory() + { + return inventory; + } } diff --git a/Assets/Scripts/Resources/Items/Stone.asset b/Assets/Scripts/Resources/Items/Stone.asset deleted file mode 100644 index 8ac7886..0000000 --- a/Assets/Scripts/Resources/Items/Stone.asset +++ /dev/null @@ -1,18 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 232c60ba7df6f074d9c92fa97215e412, type: 3} - m_Name: Stone - m_EditorClassIdentifier: - name: New Item - uuid: new_item - icon: {fileID: 0} - isDefaultItem: 0 diff --git a/Assets/Scripts/Resources/Items/StoneItem.cs b/Assets/Scripts/Resources/Items/StoneItem.cs new file mode 100644 index 0000000..d8f0695 --- /dev/null +++ b/Assets/Scripts/Resources/Items/StoneItem.cs @@ -0,0 +1,13 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class StoneItem : Item +{ + public StoneItem(int c = 1) + { + count = c; + name = "Stone"; + uuid = "item_stone"; + } +} diff --git a/Assets/Scripts/Resources/Items/StoneItem.cs.meta b/Assets/Scripts/Resources/Items/StoneItem.cs.meta new file mode 100644 index 0000000..bacb5d2 --- /dev/null +++ b/Assets/Scripts/Resources/Items/StoneItem.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 437c0f4d48ae7a441beeaf0c3b7376a6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Resources/Items/Wood.asset b/Assets/Scripts/Resources/Items/Wood.asset deleted file mode 100644 index d197ff1..0000000 --- a/Assets/Scripts/Resources/Items/Wood.asset +++ /dev/null @@ -1,17 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 232c60ba7df6f074d9c92fa97215e412, type: 3} - m_Name: Wood - m_EditorClassIdentifier: - name: Wood - icon: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0} - isDefaultItem: 0 diff --git a/Assets/Scripts/Resources/Items/WoodItem.cs b/Assets/Scripts/Resources/Items/WoodItem.cs new file mode 100644 index 0000000..2b84c41 --- /dev/null +++ b/Assets/Scripts/Resources/Items/WoodItem.cs @@ -0,0 +1,13 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class WoodItem : Item +{ + public WoodItem(int c = 1) + { + count = c; + name = "Wood"; + uuid = "item_wood"; + } +} diff --git a/Assets/Scripts/Resources/Items/WoodItem.cs.meta b/Assets/Scripts/Resources/Items/WoodItem.cs.meta new file mode 100644 index 0000000..be6f9f0 --- /dev/null +++ b/Assets/Scripts/Resources/Items/WoodItem.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7e095dfc35783fe418bcfddbdf69924f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Resources/Scripts/Item.cs b/Assets/Scripts/Resources/Scripts/Item.cs index 5896407..693b25b 100644 --- a/Assets/Scripts/Resources/Scripts/Item.cs +++ b/Assets/Scripts/Resources/Scripts/Item.cs @@ -2,13 +2,16 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -[CreateAssetMenu(fileName = "New Item", menuName = "Resources/Item")] -public class Item : ScriptableObject +[System.Serializable] +public class Item { - new public string name = "New Item"; + public string name = "New Item"; public string uuid = "new_item"; public Sprite icon = null; - public bool isDefaultItem = false; + public int count = 1; - + public Item(int c = 1) + { + count = c; + } } diff --git a/Assets/Scripts/Resources/Scripts/ResourceManager.cs b/Assets/Scripts/Resources/Scripts/ResourceManager.cs index a1f16bb..541f05a 100644 --- a/Assets/Scripts/Resources/Scripts/ResourceManager.cs +++ b/Assets/Scripts/Resources/Scripts/ResourceManager.cs @@ -4,33 +4,69 @@ using UnityEngine; public class ResourceManager: MonoBehaviour { - [SerializeField] private List itemList; + [SerializeField] private GameObject[] storageBuildings; - - // Count All Resources of all storage buildings - /* - public void Remove(Item item) + private void Start() { - itemList.Remove(item); + storageBuildings = GameObject.FindGameObjectsWithTag("StorageBuilding"); } - - public void Add(Item item) + + /* + private void Update() { - itemList.Add(item); + if (Input.GetKeyDown(KeyCode.K)) + { + Item wood = new WoodItem(10); + storageBuildings[0].GetComponent().Add(wood); + } + + if (Input.GetKeyDown(KeyCode.I)) + { + Item stone = new StoneItem(12); + storageBuildings[0].GetComponent().Add(stone); + } + + if (Input.GetKeyDown(KeyCode.L)) + { + GetAllResources(); + } }*/ - public int Count(Item item) - { - int count = 0; - foreach(Item i in itemList) + public List GetAllResources() + { + List inventory = new List(); + + //Für jedes StorageBuilding + foreach(GameObject b in storageBuildings) { - if(i == item) + List buildingInv = b.GetComponent().Getinventory(); + + //Add items to already existing item += + foreach (Item item in buildingInv) + { + foreach(Item i in inventory) + { + if(i.uuid == item.uuid) + { + i.count += item.count; + buildingInv.Remove(item); + } + } + } + + //Add den Rest + foreach(Item item in buildingInv) { - count += 1; + inventory.Add(item); } } - return count; + /* + Debug.Log(inventory); + Debug.Log(inventory[0].count); + Debug.Log(inventory[1].count);*/ + + return inventory; } } diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index f85a7cf..b388863 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -9,6 +9,7 @@ TagManager: - Building - Terrain - Blueprint + - StorageBuilding layers: - Default - TransparentFX From 8692827990f0e7173055f65cfa2cfae7d1a4e8db Mon Sep 17 00:00:00 2001 From: DerTyp187 Date: Fri, 1 Oct 2021 10:41:11 +0200 Subject: [PATCH 7/8] Added TerrainGenerator (Hit Terrain y)) --- Assets/Scenes/SampleScene.unity | 21 +++++++++++ Assets/Scripts/NPC.meta | 8 +++++ Assets/Scripts/NPC/TerrainGenerator.cs | 40 +++++++++++++++++++++ Assets/Scripts/NPC/TerrainGenerator.cs.meta | 11 ++++++ 4 files changed, 80 insertions(+) create mode 100644 Assets/Scripts/NPC.meta create mode 100644 Assets/Scripts/NPC/TerrainGenerator.cs create mode 100644 Assets/Scripts/NPC/TerrainGenerator.cs.meta diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 6fd65bf..33a058a 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -963,6 +963,10 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 1118460100164241581, guid: 613866d46c759a848b2a462973745a74, type: 3} + propertyPath: m_LocalPosition.x + value: 36.7 + objectReference: {fileID: 0} - target: {fileID: 5179206290616997027, guid: 613866d46c759a848b2a462973745a74, type: 3} propertyPath: m_Name value: House @@ -1208,6 +1212,7 @@ GameObject: - component: {fileID: 1861247504} - component: {fileID: 1861247506} - component: {fileID: 1861247507} + - component: {fileID: 1861247508} m_Layer: 0 m_Name: GameManager m_TagString: Untagged @@ -1271,6 +1276,18 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: storageBuildings: [] +--- !u!114 &1861247508 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1861247503} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3f1735c997ccb39408dfa8bf3790319f, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &7029954222161724659 PrefabInstance: m_ObjectHideFlags: 0 @@ -1387,5 +1404,9 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 8390537189371922023, guid: 6a86db7765f277243b912c20f451dc47, type: 3} + propertyPath: m_LocalPosition.z + value: -18.4 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 6a86db7765f277243b912c20f451dc47, type: 3} diff --git a/Assets/Scripts/NPC.meta b/Assets/Scripts/NPC.meta new file mode 100644 index 0000000..48c1eb5 --- /dev/null +++ b/Assets/Scripts/NPC.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3cbe760ab4339094882e9b35d42a7d39 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/NPC/TerrainGenerator.cs b/Assets/Scripts/NPC/TerrainGenerator.cs new file mode 100644 index 0000000..a58f52b --- /dev/null +++ b/Assets/Scripts/NPC/TerrainGenerator.cs @@ -0,0 +1,40 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class TerrainGenerator : MonoBehaviour +{ + public (float y, bool isTerrain) GetTerrainHit(float x, float z) + { + float y = 0; + bool isTerrain = false; + Vector3 position = new Vector3(x, 50, z); + + + RaycastHit hit; + + if(Physics.Raycast(position, Vector3.down, out hit, Mathf.Infinity)) + { + if(hit.transform.tag == "Terrain") + { + Debug.Log("Terrain Hit"); + y = hit.point.y; + Debug.Log(hit.point.y); + isTerrain = true; + } + else + { + y = hit.point.y; + } + + } + else + { + Debug.Log("Terrain not Hit"); + } + + + + return (y, isTerrain); + } +} diff --git a/Assets/Scripts/NPC/TerrainGenerator.cs.meta b/Assets/Scripts/NPC/TerrainGenerator.cs.meta new file mode 100644 index 0000000..dbe05f0 --- /dev/null +++ b/Assets/Scripts/NPC/TerrainGenerator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3f1735c997ccb39408dfa8bf3790319f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: From 96fdac4acc1b1a6bf08fba1d71f52b8ab3d53f35 Mon Sep 17 00:00:00 2001 From: DerTyp187 Date: Fri, 1 Oct 2021 11:11:58 +0200 Subject: [PATCH 8/8] ResourceText --- Assets/Scripts/Building/Building.cs | 8 +++++ .../Buildings/House/HouseBuildingScript.cs | 1 + .../Scripts/Building/Types/StorageBuilding.cs | 5 ++- Assets/Scripts/ResourceUiTextScript.cs | 35 +++++++++++++++++++ Assets/Scripts/ResourceUiTextScript.cs.meta | 11 ++++++ .../Resources/Scripts/ResourceManager.cs | 6 ++-- Assets/Scripts/TimeTextScript.cs | 5 +-- 7 files changed, 65 insertions(+), 6 deletions(-) create mode 100644 Assets/Scripts/ResourceUiTextScript.cs create mode 100644 Assets/Scripts/ResourceUiTextScript.cs.meta diff --git a/Assets/Scripts/Building/Building.cs b/Assets/Scripts/Building/Building.cs index 504b843..63c02e7 100644 --- a/Assets/Scripts/Building/Building.cs +++ b/Assets/Scripts/Building/Building.cs @@ -7,4 +7,12 @@ public abstract class Building : MonoBehaviour public string title = "New Building"; public string description = "A cool new building"; + public enum BuildingType + { + Housing, + Storage, + Decoration + } + + public BuildingType buildingType; } diff --git a/Assets/Scripts/Building/Buildings/House/HouseBuildingScript.cs b/Assets/Scripts/Building/Buildings/House/HouseBuildingScript.cs index 9902331..a7734a8 100644 --- a/Assets/Scripts/Building/Buildings/House/HouseBuildingScript.cs +++ b/Assets/Scripts/Building/Buildings/House/HouseBuildingScript.cs @@ -8,6 +8,7 @@ public class HouseBuildingScript : Building { title = "House"; description = "A place to live in"; + buildingType = BuildingType.Housing; } } diff --git a/Assets/Scripts/Building/Types/StorageBuilding.cs b/Assets/Scripts/Building/Types/StorageBuilding.cs index 7514cc8..55f3dde 100644 --- a/Assets/Scripts/Building/Types/StorageBuilding.cs +++ b/Assets/Scripts/Building/Types/StorageBuilding.cs @@ -7,7 +7,10 @@ public class StorageBuilding : Building [SerializeField] private List inventory = new List(); public int inventorySpace; - + public void Start() + { + buildingType = BuildingType.Storage; + } public void Add(Item item) { if(GetFreeSpace() >= item.count) diff --git a/Assets/Scripts/ResourceUiTextScript.cs b/Assets/Scripts/ResourceUiTextScript.cs new file mode 100644 index 0000000..ff3ac1a --- /dev/null +++ b/Assets/Scripts/ResourceUiTextScript.cs @@ -0,0 +1,35 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class ResourceUiTextScript : MonoBehaviour +{ + private ResourceManager resourceManager; + + + private string str = ""; + private TMPro.TextMeshProUGUI textResource; + + private void Start() + { + resourceManager = GameObject.Find("GameManager").GetComponent(); + textResource = GetComponent(); + } + void Update() + { + List inventory = new List(); + inventory = resourceManager.GetAllResources(); + str = ""; + foreach(Item i in inventory) + { + if(i != null) + { + str += i.count.ToString() + " " + i.name + "\n"; + } + + } + + textResource.text = str; + } +} diff --git a/Assets/Scripts/ResourceUiTextScript.cs.meta b/Assets/Scripts/ResourceUiTextScript.cs.meta new file mode 100644 index 0000000..94d93a1 --- /dev/null +++ b/Assets/Scripts/ResourceUiTextScript.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fcb96c8b7ecf3554ab9aea050b13d5b1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Resources/Scripts/ResourceManager.cs b/Assets/Scripts/Resources/Scripts/ResourceManager.cs index 541f05a..d8af4ea 100644 --- a/Assets/Scripts/Resources/Scripts/ResourceManager.cs +++ b/Assets/Scripts/Resources/Scripts/ResourceManager.cs @@ -5,13 +5,13 @@ using UnityEngine; public class ResourceManager: MonoBehaviour { [SerializeField] private GameObject[] storageBuildings; - + private void Start() { storageBuildings = GameObject.FindGameObjectsWithTag("StorageBuilding"); } - /* + private void Update() { if (Input.GetKeyDown(KeyCode.K)) @@ -30,7 +30,7 @@ public class ResourceManager: MonoBehaviour { GetAllResources(); } - }*/ + } public List GetAllResources() diff --git a/Assets/Scripts/TimeTextScript.cs b/Assets/Scripts/TimeTextScript.cs index 235a4c2..1ef499a 100644 --- a/Assets/Scripts/TimeTextScript.cs +++ b/Assets/Scripts/TimeTextScript.cs @@ -5,18 +5,19 @@ using UnityEngine.UI; public class TimeTextScript : MonoBehaviour { - [SerializeField] private GameObject GamerManager; + private GameObject GameManager; private string timeStr = ""; private Text timeText; private void Start() { + GameManager = GameObject.Find("GameManager"); timeText = GetComponent(); } void Update() { - timeStr = GamerManager.GetComponent().GetTimeString(); + timeStr = GameManager.GetComponent().GetTimeString(); timeText.text = timeStr; } }