Compare commits

..

2 Commits

Author SHA1 Message Date
Pasha Bibko
37e4ee8273 Made children randomly spawn 2026-01-13 10:42:09 +00:00
Pasha Bibko
e700523706 Added WindowComponents class 2026-01-13 10:33:34 +00:00
7 changed files with 126 additions and 2 deletions

View File

@@ -435,6 +435,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 1539476655}
- component: {fileID: 1539476656}
- component: {fileID: 1539476654}
- component: {fileID: 1539476653}
- component: {fileID: 1539476652}
@@ -528,6 +529,19 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!114 &1539476656
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1539476651}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e090ce5928c145c0b2e514412bc9cdb2, type: 3}
m_Name:
m_EditorClassIdentifier:
<GameCanvas>k__BackingField: {fileID: 1539476654}
--- !u!1 &1683319378
GameObject:
m_ObjectHideFlags: 0
@@ -605,13 +619,16 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 1867692259}
- component: {fileID: 1867692262}
- component: {fileID: 1867692261}
- component: {fileID: 1867692260}
m_Layer: 5
m_Name: SampleChild
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &1867692259
RectTransform:
m_ObjectHideFlags: 0
@@ -631,6 +648,57 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1867692260
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1867692258}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1867692261
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1867692258}
m_CullTransparentMesh: 1
--- !u!114 &1867692262
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1867692258}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5a14e8386dd24e3793287ff572cb78f8, type: 3}
m_Name:
m_EditorClassIdentifier:
<WindowImage>k__BackingField: {fileID: 1867692260}
--- !u!1 &2038986851
GameObject:
m_ObjectHideFlags: 0

View File

@@ -0,0 +1,32 @@
using UnityEngine;
namespace InterfaceOff
{
public class CanvasManager : MonoBehaviour
{
[field: SerializeField] public Canvas GameCanvas { get; private set; }
public static CanvasManager Instance { get; private set; }
private void Awake()
{
if (DebugUtils.IsNull(Instance))
{
Instance = this;
return;
}
Debug.LogError("Multiple instances of Canvas Manager have been found");
}
public static Vector3 GetRandomPositionOnCanvas()
{
Rect rect = Instance.GameCanvas.pixelRect;
float x = Random.Range(rect.xMin, rect.xMax);
float y = Random.Range(rect.yMin, rect.yMax);
return new Vector3(x, y, 0f);
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: e090ce5928c145c0b2e514412bc9cdb2
timeCreated: 1768300347

View File

@@ -4,8 +4,11 @@ namespace InterfaceOff
{
public abstract class WindowBase : MonoBehaviour
{
public WindowComponents Components { get; set; }
public void InstantiateWindowBase()
{
transform.position = CanvasManager.GetRandomPositionOnCanvas();
}
}
}

View File

@@ -0,0 +1,10 @@
using UnityEngine;
using UnityEngine.UI;
namespace InterfaceOff
{
public class WindowComponents : MonoBehaviour
{
[field: SerializeField] public Image WindowImage { get; private set; }
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 5a14e8386dd24e3793287ff572cb78f8
timeCreated: 1768300161

View File

@@ -35,16 +35,21 @@ namespace InterfaceOff
{
if (Input.GetKeyDown(KeyCode.Space))
{
/* Creates the gameobject with a random class */
GameObject go = Instantiate(SampleChild, GameCanvas.transform);
Type type = WindowTypes.GetRandom();
go.SetActive(true);
Type type = WindowTypes.GetRandom();
WindowBase windowBase = go.AddComponent(type) as WindowBase;
/* Checks it created correctly before instantiating further */
if (DebugUtils.IsNull(windowBase))
{
Debug.LogError("How did this happen");
return;
}
windowBase.Components = go.GetComponent<WindowComponents>();
windowBase.InstantiateWindowBase();
}
}