Skip to content

Commit 46c0c3e

Browse files
committed
Config added
1 parent 5b1f30b commit 46c0c3e

2 files changed

Lines changed: 42 additions & 0 deletions

File tree

Config.cs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#if ODIN_INSPECTOR
2+
using Sirenix.OdinInspector;
3+
#endif
4+
using UnityEngine;
5+
6+
public abstract class Config
7+
#if ODIN_INSPECTOR
8+
: SerializedScriptableObject
9+
#else
10+
: ScriptableObject
11+
#endif
12+
{
13+
private static Config[] _configs = null;
14+
15+
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]
16+
private static void Load() =>
17+
_configs = Resources.LoadAll<Config>("");
18+
19+
public static T Get<T>() where T : Config
20+
{
21+
for (int i = 0; i < _configs.Length; i++)
22+
{
23+
var config = _configs[i];
24+
25+
if (config is T)
26+
return config as T;
27+
}
28+
29+
return null;
30+
}
31+
}

Config.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)