Made children spawn as UI elements

This commit is contained in:
Pasha Bibko
2026-01-13 10:27:24 +00:00
parent 8b648fd690
commit fcbbed1db8
2 changed files with 41 additions and 3 deletions

View File

@@ -519,7 +519,8 @@ RectTransform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children: []
m_Children:
- {fileID: 1867692259}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@@ -595,6 +596,41 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1867692258
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1867692259}
m_Layer: 5
m_Name: SampleChild
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1867692259
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1867692258}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1539476655}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &2038986851
GameObject:
m_ObjectHideFlags: 0
@@ -624,6 +660,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 83fa400829eb6494796e00cfbb1c5d71, type: 3}
m_Name:
m_EditorClassIdentifier:
<SampleChild>k__BackingField: {fileID: 1867692258}
<GameCanvas>k__BackingField: {fileID: 1539476654}
--- !u!4 &2038986853
Transform:
m_ObjectHideFlags: 0

View File

@@ -8,6 +8,7 @@ namespace InterfaceOff
{
private List<Type> WindowTypes { get; } = new();
[field: SerializeField] private GameObject SampleChild { get; set; }
[field: SerializeField] private Canvas GameCanvas { get; set; }
private void Awake()
@@ -34,9 +35,8 @@ namespace InterfaceOff
{
if (Input.GetKeyDown(KeyCode.Space))
{
GameObject go = Instantiate(SampleChild, GameCanvas.transform);
Type type = WindowTypes.GetRandom();
GameObject go = new();
go.transform.SetParent(GameCanvas.transform);
WindowBase windowBase = go.AddComponent(type) as WindowBase;
if (DebugUtils.IsNull(windowBase))