refactor!: IGameObject removed
This commit is contained in:
@@ -2,7 +2,7 @@ namespace Syntriax.Engine.Core.Abstract;
|
||||
|
||||
public static class TransformExtensions
|
||||
{
|
||||
public static Vector2D TransformVector2D(this ITransform transform, Vector2D vector)
|
||||
public static Vector2D TransformVector2D(this ITransform2D transform, Vector2D vector)
|
||||
=> vector.Scale(transform.Scale)
|
||||
.Rotate(transform.Rotation * Math.DegreeToRadian)
|
||||
.Add(transform.Position);
|
||||
|
@@ -57,7 +57,7 @@ public static class BehaviourControllerExtensions
|
||||
if (behaviourController.GetBehaviour<T>() is T behaviour)
|
||||
return behaviour;
|
||||
|
||||
controller = controller.GameObject.Transform.Parent?.GameObject.BehaviourController;
|
||||
controller = controller.HierarchyObject.Parent?.BehaviourController;
|
||||
}
|
||||
|
||||
return default;
|
||||
@@ -87,8 +87,8 @@ public static class BehaviourControllerExtensions
|
||||
if (behaviourController.GetBehaviour<T>() is T localBehaviour)
|
||||
return localBehaviour;
|
||||
|
||||
foreach (ITransform transform in behaviourController.GameObject.Transform)
|
||||
if (GetBehaviourInChildren<T>(transform.GameObject.BehaviourController) is T behaviour)
|
||||
foreach (IHierarchyObject child in behaviourController.HierarchyObject)
|
||||
if (GetBehaviourInChildren<T>(child.BehaviourController) is T behaviour)
|
||||
return behaviour;
|
||||
|
||||
return default;
|
||||
|
@@ -7,29 +7,29 @@ namespace Syntriax.Engine.Core;
|
||||
|
||||
public static class BehaviourExtensions
|
||||
{
|
||||
public static T? FindBehaviour<T>(this IEnumerable<IGameObject> gameObjects) where T : class
|
||||
public static T? FindBehaviour<T>(this IEnumerable<IHierarchyObject> hierarchyObjects) where T : class
|
||||
{
|
||||
foreach (IGameObject gameObject in gameObjects)
|
||||
if (gameObject.BehaviourController.GetBehaviour<T>() is T behaviour)
|
||||
foreach (IHierarchyObject hierarchyObject in hierarchyObjects)
|
||||
if (hierarchyObject.BehaviourController.GetBehaviour<T>() is T behaviour)
|
||||
return behaviour;
|
||||
|
||||
return default;
|
||||
}
|
||||
|
||||
public static bool TryFindBehaviour<T>(this IEnumerable<IGameObject> gameObjects, [NotNullWhen(returnValue: true)] out T? behaviour) where T : class
|
||||
public static bool TryFindBehaviour<T>(this IEnumerable<IHierarchyObject> hierarchyObjects, [NotNullWhen(returnValue: true)] out T? behaviour) where T : class
|
||||
{
|
||||
behaviour = FindBehaviour<T>(gameObjects);
|
||||
behaviour = FindBehaviour<T>(hierarchyObjects);
|
||||
return behaviour is not null;
|
||||
}
|
||||
|
||||
public static void FindBehaviours<T>(this IEnumerable<IGameObject> gameObjects, List<T> behaviours) where T : class
|
||||
public static void FindBehaviours<T>(this IEnumerable<IHierarchyObject> hierarchyObjects, List<T> behaviours) where T : class
|
||||
{
|
||||
behaviours.Clear();
|
||||
List<T> cache = [];
|
||||
|
||||
foreach (IGameObject gameObject in gameObjects)
|
||||
foreach (IHierarchyObject hierarchyObject in hierarchyObjects)
|
||||
{
|
||||
gameObject.BehaviourController.GetBehaviours(cache);
|
||||
hierarchyObject.BehaviourController.GetBehaviours(cache);
|
||||
behaviours.AddRange(cache);
|
||||
}
|
||||
}
|
||||
|
@@ -4,6 +4,6 @@ namespace Syntriax.Engine.Core;
|
||||
|
||||
public static class GameManagerExtensions
|
||||
{
|
||||
public static IGameObject InstantiateGameObject(this IGameManager gameManager, params object?[]? args)
|
||||
=> gameManager.InstantiateGameObject<GameObject>(args);
|
||||
public static IHierarchyObject InstantiateHierarchyObject(this IGameManager gameManager, params object?[]? args)
|
||||
=> gameManager.InstantiateHierarchyObject<HierarchyObject>(args);
|
||||
}
|
||||
|
@@ -1,12 +0,0 @@
|
||||
using Syntriax.Engine.Core.Abstract;
|
||||
|
||||
namespace Syntriax.Engine.Core;
|
||||
|
||||
public static class GameObjectExtensions
|
||||
{
|
||||
public static IGameObject SetGameObject(this IGameObject gameObject, string name)
|
||||
{
|
||||
gameObject.Name = name;
|
||||
return gameObject;
|
||||
}
|
||||
}
|
@@ -7,6 +7,12 @@ namespace Syntriax.Engine.Core;
|
||||
|
||||
public static class HierarchyObjectExtensions
|
||||
{
|
||||
public static IHierarchyObject SetHierarchyObject(this IHierarchyObject hierarchyObject, string name)
|
||||
{
|
||||
hierarchyObject.Name = name;
|
||||
return hierarchyObject;
|
||||
}
|
||||
|
||||
public static T? FindObject<T>(this IEnumerable<IHierarchyObject> hierarchyObjects) where T : class
|
||||
{
|
||||
foreach (IHierarchyObject hierarchyObject in hierarchyObjects)
|
||||
|
@@ -4,7 +4,7 @@ namespace Syntriax.Engine.Core;
|
||||
|
||||
public static class TransformExtensions
|
||||
{
|
||||
public static ITransform SetTransform(this ITransform transform,
|
||||
public static ITransform2D SetTransform(this ITransform2D transform,
|
||||
Vector2D? position = null, float? rotation = null, Vector2D? scale = null,
|
||||
Vector2D? localPosition = null, float? localRotation = null, Vector2D? localScale = null)
|
||||
{
|
||||
|
Reference in New Issue
Block a user