|
@@ -13,6 +13,9 @@ namespace KairoEngine.UI
|
|
|
{
|
|
|
public override string name => "UI Module";
|
|
|
|
|
|
+ [FoldoutGroup("@name"), InlineEditor(InlineEditorObjectFieldModes.Boxed), LabelText("UI Library"), NonSerialized, ShowInInspector]
|
|
|
+ public UiSystemLibrary library;
|
|
|
+
|
|
|
public UiSystemModule(GameConfig config) : base(config)
|
|
|
{
|
|
|
this.gameConfig = config;
|
|
@@ -23,12 +26,11 @@ namespace KairoEngine.UI
|
|
|
public override void Load(Transform parent)
|
|
|
{
|
|
|
Transform uiParent = CreateUiManager(parent);
|
|
|
- Debug.Log("UI System has been loaded");
|
|
|
}
|
|
|
|
|
|
public override void Reset()
|
|
|
{
|
|
|
-
|
|
|
+ library = null;
|
|
|
}
|
|
|
|
|
|
public override void Destroy()
|
|
@@ -42,11 +44,15 @@ namespace KairoEngine.UI
|
|
|
GameObject uiObj;
|
|
|
if(UiTransform == null)
|
|
|
{
|
|
|
- uiObj = GameObject.Instantiate(new GameObject(), new Vector3(), Quaternion.identity, parent);
|
|
|
+ uiObj = new GameObject();
|
|
|
+ uiObj.transform.position = new Vector3();
|
|
|
+ uiObj.transform.rotation = Quaternion.identity;
|
|
|
+ uiObj.transform.parent = parent;
|
|
|
uiObj.name = "UI";
|
|
|
}
|
|
|
else uiObj = UiTransform.gameObject;
|
|
|
uiObj.AddComponent<UiManager>();
|
|
|
+ if(library != null) library.Load(uiObj.transform);
|
|
|
return uiObj.transform;
|
|
|
}
|
|
|
|
|
@@ -63,8 +69,15 @@ namespace KairoEngine.UI
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public override void OnBeforeSerialize(ObjectSerializer serializer) { }
|
|
|
- public override void OnBeforeDeserialize(ObjectSerializer serializer) { }
|
|
|
+ public override void OnBeforeSerialize(ObjectSerializer serializer)
|
|
|
+ {
|
|
|
+ if(library != null) serializer.AddScriptableObject("UiModule_UiSystemLibrary", library);
|
|
|
+ }
|
|
|
+
|
|
|
+ public override void OnBeforeDeserialize(ObjectSerializer serializer)
|
|
|
+ {
|
|
|
+ library = (UiSystemLibrary)serializer.GetScriptableObject("UiModule_UiSystemLibrary");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|