diff --git a/Assets/Scripts/Core/Objects/Collectibles/TestCollectible/TestCollectible.cs b/Assets/Scripts/Core/Objects/Collectibles/TestCollectible/TestCollectible.cs index 86ae86d36bf426c8e165858d1878446f4694f850..2d334ba1432aef0e184ea33f101ffae9b963792f 100644 --- a/Assets/Scripts/Core/Objects/Collectibles/TestCollectible/TestCollectible.cs +++ b/Assets/Scripts/Core/Objects/Collectibles/TestCollectible/TestCollectible.cs @@ -2,7 +2,7 @@ using UnityEngine; public class TestCollectible : Collectible{ // Static attributes - public static string ObjectIdPrefix = "Player"; + public static string ObjectIdPrefix = "TestCollectible"; // Constructor protected new void Start(){ diff --git a/Assets/Scripts/Core/Objects/Projectiles/Projectile.cs b/Assets/Scripts/Core/Objects/Projectiles/Projectile.cs new file mode 100644 index 0000000000000000000000000000000000000000..712465eff00825ac9c5e807e34e58fea7c037c03 --- /dev/null +++ b/Assets/Scripts/Core/Objects/Projectiles/Projectile.cs @@ -0,0 +1,3 @@ +public class Projectile : AttackObject{ + +} \ No newline at end of file diff --git a/Assets/Scripts/Core/Objects/Projectiles/Projectile.cs.meta b/Assets/Scripts/Core/Objects/Projectiles/Projectile.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..e0f9b5c519a09787ff40d7a085b41a56fee71fe0 --- /dev/null +++ b/Assets/Scripts/Core/Objects/Projectiles/Projectile.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 155e444c6e73b404981a30f674ebbe98 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Core/Objects/Projectiles/TestProjectile.meta b/Assets/Scripts/Core/Objects/Projectiles/TestProjectile.meta new file mode 100644 index 0000000000000000000000000000000000000000..47ac0ae6555db0fdb921994e2b1876e758e6a130 --- /dev/null +++ b/Assets/Scripts/Core/Objects/Projectiles/TestProjectile.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e0692a4893eed1143a9ffbe66c0d6767 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Core/Objects/Projectiles/TestProjectile/TestProjectile.cs b/Assets/Scripts/Core/Objects/Projectiles/TestProjectile/TestProjectile.cs new file mode 100644 index 0000000000000000000000000000000000000000..590825f761503cac58a46cd3594d981be159e4e7 --- /dev/null +++ b/Assets/Scripts/Core/Objects/Projectiles/TestProjectile/TestProjectile.cs @@ -0,0 +1,3 @@ +public class TestProjectile : Projectile{ + +} \ No newline at end of file diff --git a/Assets/Scripts/Core/Objects/Projectiles/TestProjectile/TestProjectile.cs.meta b/Assets/Scripts/Core/Objects/Projectiles/TestProjectile/TestProjectile.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..cbc956aacccbfd18204dfdb42d1829992b3c6be2 --- /dev/null +++ b/Assets/Scripts/Core/Objects/Projectiles/TestProjectile/TestProjectile.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 42130989abf222142803c893c15fda1d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Library/BaseClasses/EntityObject/AttackEntity.cs b/Assets/Scripts/Library/BaseClasses/EntityObject/AttackEntity.cs index 5b77ced02201a574821d0e8d252e6ab3a5949cfc..82afa3232dff40438312b0911ab638d0b228d922 100644 --- a/Assets/Scripts/Library/BaseClasses/EntityObject/AttackEntity.cs +++ b/Assets/Scripts/Library/BaseClasses/EntityObject/AttackEntity.cs @@ -1,7 +1,7 @@ using System; using UnityEngine; -public class AttackEntity : WorldObject, IAttack{ +public class AttackEntity : WorldEntity, IAttack{ // Attributes [SerializeField] private float damage; [SerializeField] private float knockbackPower; diff --git a/Assets/Scripts/Library/BaseClasses/EntityObject/AttackObject.cs b/Assets/Scripts/Library/BaseClasses/EntityObject/AttackObject.cs index 940b3447aa0853f4c4c2ac90f00ded37807ee5d8..8c23b46ac6b552df5ecadecd87d6dc277d00504c 100644 --- a/Assets/Scripts/Library/BaseClasses/EntityObject/AttackObject.cs +++ b/Assets/Scripts/Library/BaseClasses/EntityObject/AttackObject.cs @@ -1,7 +1,8 @@ using System; using UnityEngine; -public class AttackObject : WorldObject, IAttack{ +// TODO: Review whether attack object should be classified as a world object +public class AttackObject : MonoBehaviour, IAttack{ // Attributes [SerializeField] private float damage; [SerializeField] private float knockbackPower; diff --git a/Assets/Scripts/Library/Util/ObjectFactory.cs b/Assets/Scripts/Library/Util/ObjectFactory.cs index bbe48929784f371aad5a38e5c2a4d9a05789b75d..3f5a7d748123a0a1e750b155825792fbf049fef2 100644 --- a/Assets/Scripts/Library/Util/ObjectFactory.cs +++ b/Assets/Scripts/Library/Util/ObjectFactory.cs @@ -49,7 +49,7 @@ public static class ObjectFactory{ int renderingOrder = 0, string objectName = "Unnamed Object" ){ - GameObject prefabObject = CreateObject(prefabPath, parent, position, scale, rotation, renderingOrder, objectName); + GameObject prefabObject = CreateObject(prefabPath, parent == null? ObjectManager.instance.transform : parent, position, scale, rotation, renderingOrder, objectName); if(!prefabObject.TryGetComponent<IAttack>(out var attackObject)) Debug.LogError("Loaded prefab is not an IAttack: " + prefabPath); attackObject.Damage = damage; @@ -75,14 +75,13 @@ public static class ObjectFactory{ public static Collectible CreateCollectibleObject( string prefabPath, - Transform parent = null, Vector3? position = null, Vector3? scale = null, Quaternion? rotation = null, int renderingOrder = 0, string objectName = "Unnamed Object" ){ - GameObject prefabObject = CreateObject(prefabPath, parent == null? ObjectManager.instance.transform : parent, position, scale, rotation, renderingOrder, objectName); + GameObject prefabObject = CreateObject(prefabPath, ObjectManager.instance.transform, position, scale, rotation, renderingOrder, objectName); if(!prefabObject.TryGetComponent<Collectible>(out var collectible)) Debug.LogError("Loaded prefab is not a Collectible: " + prefabPath); prefabObject.layer = LayerMask.NameToLayer(GameEnvironmentConfig.LAYER_COLLECTIBLE); @@ -91,14 +90,13 @@ public static class ObjectFactory{ public static WorldEntity CreateEntity( string prefabPath, - Transform parent = null, Vector3? position = null, Vector3? scale = null, Quaternion? rotation = null, int renderingOrder = 0, string objectName = "Unnamed Object" ){ - GameObject prefabObject = CreateObject(prefabPath, parent == null? EntityManager.instance.transform : parent, position, scale, rotation, renderingOrder, objectName); + GameObject prefabObject = CreateObject(prefabPath, EntityManager.instance.transform, position, scale, rotation, renderingOrder, objectName); if(!prefabObject.TryGetComponent<WorldEntity>(out var entity)) Debug.LogError("Loaded prefab is not an entity: " + prefabPath); return entity; }