Update layers for GameObjects and add EnemyDeathBehavior class

This commit is contained in:
2025-07-11 22:23:42 +02:00
parent 355add5a33
commit 7640c59e43
5 changed files with 262 additions and 10 deletions

View File

@@ -352,7 +352,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 523621673}
m_Layer: 0
m_Layer: 6
m_Name: Fire point
m_TagString: Untagged
m_Icon: {fileID: 0}
@@ -555,7 +555,7 @@ GameObject:
m_Component:
- component: {fileID: 869793959}
- component: {fileID: 869793960}
m_Layer: 0
m_Layer: 6
m_Name: Circle
m_TagString: Untagged
m_Icon: {fileID: 0}
@@ -646,7 +646,10 @@ GameObject:
- component: {fileID: 1261447601}
- component: {fileID: 1261447600}
- component: {fileID: 1261447605}
m_Layer: 0
- component: {fileID: 1261447608}
- component: {fileID: 1261447607}
- component: {fileID: 1261447606}
m_Layer: 6
m_Name: Player
m_TagString: Player
m_Icon: {fileID: 0}
@@ -783,6 +786,47 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
mainCamera: {fileID: 519420031}
--- !u!114 &1261447606
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1261447599}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b46c8a98e30a405eb2d287515609ecda, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &1261447607
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1261447599}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5fa2924c6ed8486bbfa95c439bf9e421, type: 3}
m_Name:
m_EditorClassIdentifier:
character: {fileID: 1261447603}
deathBehavior:
_implementer: {fileID: 1261447606}
--- !u!114 &1261447608
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1261447599}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9139aea24fd54a5eb0f5fc1556478cb6, type: 3}
m_Name:
m_EditorClassIdentifier:
character: {fileID: 1261447603}
initialHealth: 100
--- !u!1 &1370658698
GameObject:
m_ObjectHideFlags: 0
@@ -793,7 +837,7 @@ GameObject:
m_Component:
- component: {fileID: 1370658699}
- component: {fileID: 1370658700}
m_Layer: 0
m_Layer: 6
m_Name: Triangle
m_TagString: Untagged
m_Icon: {fileID: 0}
@@ -871,6 +915,147 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &1414795143
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1414795144}
- component: {fileID: 1414795145}
m_Layer: 0
m_Name: Capsule
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1414795144
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1414795143}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.21374999, y: 0.6375, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1516289535}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &1414795145
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1414795143}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Sprite: {fileID: -9095717837082945937, guid: 207ee8102dd4143d288186ef0be518ee, type: 3}
m_Color: {r: 1, g: 0.023584902, b: 0.51480997, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 2}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &1516289534
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1516289535}
- component: {fileID: 1516289536}
m_Layer: 0
m_Name: Melee Weapon
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1516289535
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1516289534}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -0.168, y: -0.498, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1414795144}
m_Father: {fileID: 2062887720}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1516289536
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1516289534}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e4ff53f671604189b15fac28115b2b70, type: 3}
m_Name:
m_EditorClassIdentifier:
character: {fileID: 2062887717}
weaponStats:
damage: 2
attackSpeed: 1
range: 0.1
damageType: 0
targetMask:
serializedVersion: 2
m_Bits: 64
--- !u!1 &1636516554
GameObject:
m_ObjectHideFlags: 0
@@ -881,7 +1066,7 @@ GameObject:
m_Component:
- component: {fileID: 1636516555}
- component: {fileID: 1636516556}
m_Layer: 0
m_Layer: 6
m_Name: Weapon
m_TagString: Untagged
m_Icon: {fileID: 0}
@@ -916,7 +1101,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: fd9cdb55272f45ab9c60a948a56e01f5, type: 3}
m_Name:
m_EditorClassIdentifier:
cooldown: 1
character: {fileID: 1261447603}
weaponStats:
damage: 3
@@ -938,6 +1122,9 @@ GameObject:
- component: {fileID: 2062887718}
- component: {fileID: 2062887717}
- component: {fileID: 2062887716}
- component: {fileID: 2062887723}
- component: {fileID: 2062887722}
- component: {fileID: 2062887721}
m_Layer: 0
m_Name: Test Enemy
m_TagString: Enemy
@@ -990,11 +1177,11 @@ Rigidbody2D:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2062887715}
m_BodyType: 0
m_BodyType: 1
m_Simulated: 1
m_UseFullKinematicContacts: 0
m_UseAutoMass: 0
m_Mass: 1
m_Mass: 60
m_LinearDamping: 0
m_AngularDamping: 0.05
m_GravityScale: 0
@@ -1069,8 +1256,50 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 401545663}
- {fileID: 1516289535}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &2062887721
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2062887715}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 73900af7351645fdb19d016d621feb35, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &2062887722
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2062887715}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5fa2924c6ed8486bbfa95c439bf9e421, type: 3}
m_Name:
m_EditorClassIdentifier:
character: {fileID: 2062887717}
deathBehavior:
_implementer: {fileID: 2062887721}
--- !u!114 &2062887723
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2062887715}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9139aea24fd54a5eb0f5fc1556478cb6, type: 3}
m_Name:
m_EditorClassIdentifier:
character: {fileID: 2062887717}
initialHealth: 100
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0

View File

@@ -0,0 +1,15 @@
using Interfaces;
using UnityEngine;
namespace Systems
{
public class EnemyDeathBehavior : MonoBehaviour, IDeathBehavior
{
public void Die()
{
Destroy(gameObject);
// later let's add particle effects, sound effects, etc.
// and give player experience points
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 73900af7351645fdb19d016d621feb35
timeCreated: 1752264813

View File

@@ -20,8 +20,14 @@ namespace Weapons
if (hit.gameObject == character.gameObject) continue;
var damage = GetFinalDamage();
health.TakeDamage(damage);
health?.TakeDamage(damage);
}
}
private void OnDrawGizmosSelected()
{
Gizmos.color = Color.red;
Gizmos.DrawWireSphere(transform.position, GetFinalRange());
}
}
}

View File

@@ -11,7 +11,6 @@ namespace Weapons
{
private float timer;
[SerializeField] private float cooldown = 1f;
[SerializeField] protected Character character;
[OdinSerialize, InlineProperty] public WeaponStats weaponStats = new();