|
@@ -13,10 +13,18 @@ namespace KairoEngine.Core.ModuleSystem
|
|
|
[CreateAssetMenu(fileName = "GameConfig", menuName = "KairoEngine/GameConfig"), HideMonoScript]
|
|
|
public class GameConfig : ScriptableObject, ISerializationCallbackReceiver
|
|
|
{
|
|
|
+ [Title("Game Modules", "List of game system modules in load order")]
|
|
|
[ListDrawerSettings(DraggableItems = false, HideRemoveButton = true, ShowPaging = false)]
|
|
|
[ShowInInspector, NonSerialized, OnValueChanged("StartModule"), OnInspectorInit("StartModule")]
|
|
|
public List<GameModule> modules = new List<GameModule>();
|
|
|
|
|
|
+ [OnInspectorInit("GetModuleNames"), OnValueChanged("AddNewModule")]
|
|
|
+ [ValueDropdown("possibleModules", IsUniqueList = false)]
|
|
|
+ [LabelText("Add New Module")]
|
|
|
+ [NonSerialized]
|
|
|
+ public GameModule newModule;
|
|
|
+
|
|
|
+ [Title("Startup Configurations", "List of configurations to be set up when the game starts")]
|
|
|
[InlineProperty, HideLabel] public ConfigOptionsManager configOptions = new ConfigOptionsManager();
|
|
|
|
|
|
private void StartModule()
|
|
@@ -31,11 +39,7 @@ namespace KairoEngine.Core.ModuleSystem
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- [OnInspectorInit("GetModuleNames"), OnValueChanged("AddNewModule")]
|
|
|
- [ValueDropdown("possibleModules", IsUniqueList = false)]
|
|
|
- [LabelText("Add New Module")]
|
|
|
- [NonSerialized]
|
|
|
- public GameModule newModule;
|
|
|
+
|
|
|
|
|
|
[NonSerialized] private IEnumerable possibleModules = new ValueDropdownList<GameModule>();
|
|
|
|