mirror of
https://github.com/DerTyp7/industrialize-unity.git
synced 2025-10-30 12:57:11 +01:00
menus
This commit is contained in:
34
Assets/Scripts/Dictionaries/Dictionary.cs
Normal file
34
Assets/Scripts/Dictionaries/Dictionary.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public abstract class Dictionary<TEntryType> : MonoBehaviour
|
||||
{
|
||||
public List<TEntryType> entries = new List<TEntryType>();
|
||||
|
||||
public abstract TEntryType GetEntryById(string id);
|
||||
|
||||
public static Dictionary<TEntryType> instance { get; private set; }
|
||||
|
||||
protected virtual void Awake()
|
||||
{
|
||||
if (instance != null)
|
||||
{
|
||||
Destroy(gameObject);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
instance = this;
|
||||
}
|
||||
}
|
||||
|
||||
public void Register(TEntryType entry)
|
||||
{
|
||||
entries.Add(entry);
|
||||
}
|
||||
|
||||
public void Unregister(TEntryType entry)
|
||||
{
|
||||
entries.Remove(entry);
|
||||
}
|
||||
}
|
||||
11
Assets/Scripts/Dictionaries/Dictionary.cs.meta
Normal file
11
Assets/Scripts/Dictionaries/Dictionary.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 91e3cdff7aa9942418807375897e5f48
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
5
Assets/Scripts/Dictionaries/MenuDictionary.cs
Normal file
5
Assets/Scripts/Dictionaries/MenuDictionary.cs
Normal file
@@ -0,0 +1,5 @@
|
||||
public class MenuDictionary : Dictionary<Menu>
|
||||
{
|
||||
// Menus are registering themselves automatically
|
||||
public override Menu GetEntryById(string id) => entries.Find(entry => entry.id == id);
|
||||
}
|
||||
11
Assets/Scripts/Dictionaries/MenuDictionary.cs.meta
Normal file
11
Assets/Scripts/Dictionaries/MenuDictionary.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 94c491aaa69fd3d48bcf5a531dd3b70a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
4
Assets/Scripts/Dictionaries/PlacedObjectsDictionary.cs
Normal file
4
Assets/Scripts/Dictionaries/PlacedObjectsDictionary.cs
Normal file
@@ -0,0 +1,4 @@
|
||||
public class PlacedObjectsDictionary : Dictionary<PlacedObjectTypeSO>
|
||||
{
|
||||
public override PlacedObjectTypeSO GetEntryById(string id) => entries.Find(entry => entry.id == id);
|
||||
}
|
||||
11
Assets/Scripts/Dictionaries/PlacedObjectsDictionary.cs.meta
Normal file
11
Assets/Scripts/Dictionaries/PlacedObjectsDictionary.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 748e32c584e86ec4cb77c80b50b8c58f
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user