diff --git a/Assets/Asset Store/Bandits - Pixel Art/Demo/Bandit.cs b/Assets/Asset Store/Bandits - Pixel Art/Demo/BanditFromAssetStore.cs similarity index 98% rename from Assets/Asset Store/Bandits - Pixel Art/Demo/Bandit.cs rename to Assets/Asset Store/Bandits - Pixel Art/Demo/BanditFromAssetStore.cs index 99b58f35c982d6d40f1a9f4d5994ec9d750957e5..0cc8d524742f5af9bfc77d88c5543a587dbe25d2 100644 --- a/Assets/Asset Store/Bandits - Pixel Art/Demo/Bandit.cs +++ b/Assets/Asset Store/Bandits - Pixel Art/Demo/BanditFromAssetStore.cs @@ -1,7 +1,7 @@ using UnityEngine; using System.Collections; -public class Bandit : MonoBehaviour { +public class BanditFromAssetStore : MonoBehaviour { [SerializeField] float m_speed = 4.0f; [SerializeField] float m_jumpForce = 7.5f; diff --git a/Assets/Asset Store/Bandits - Pixel Art/Demo/Bandit.cs.meta b/Assets/Asset Store/Bandits - Pixel Art/Demo/BanditFromAssetStore.cs.meta similarity index 100% rename from Assets/Asset Store/Bandits - Pixel Art/Demo/Bandit.cs.meta rename to Assets/Asset Store/Bandits - Pixel Art/Demo/BanditFromAssetStore.cs.meta diff --git a/Assets/Prefabs/Fighters.meta b/Assets/Prefabs/Fighters.meta new file mode 100644 index 0000000000000000000000000000000000000000..94a1a0a668aab53df0145c1d1d7dba342c1afa64 --- /dev/null +++ b/Assets/Prefabs/Fighters.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9b6fd2424d7cf0a44b1fcb4801054e96 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Fighters/AntiPlayer.prefab b/Assets/Prefabs/Fighters/AntiPlayer.prefab new file mode 100644 index 0000000000000000000000000000000000000000..c0b004d428ed310afd7bae0be86d861b06f6dc79 --- /dev/null +++ b/Assets/Prefabs/Fighters/AntiPlayer.prefab @@ -0,0 +1,494 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &111755813442870902 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2900218875308588589} + - component: {fileID: 827722496337519530} + - component: {fileID: 2090642674025853698} + m_Layer: 0 + m_Name: GroundSensor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2900218875308588589 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111755813442870902} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -0.02, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8413529789942519730} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!58 &827722496337519530 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111755813442870902} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0.1} + serializedVersion: 2 + m_Radius: 0.05 +--- !u!114 &2090642674025853698 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111755813442870902} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f2a8bdc7f41b704693ad497097f30dc, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &6323719953710832613 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8413529789942519730} + - component: {fileID: 9043920546160527475} + - component: {fileID: 7070326077254508316} + - component: {fileID: 2655505060201611074} + - component: {fileID: 2954181336601895002} + - component: {fileID: 8942925490989933264} + - component: {fileID: 9117128348835321587} + m_Layer: 0 + m_Name: AntiPlayer + m_TagString: AntiPlayer + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8413529789942519730 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6323719953710832613} + 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_Children: + - {fileID: 2900218875308588589} + - {fileID: 4393510860592810054} + - {fileID: 7646082782773197330} + - {fileID: 351674194244795142} + - {fileID: 3233824457707053878} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &9043920546160527475 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6323719953710832613} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0f5034bc83802944c9bca57c55e08978, type: 3} + m_Name: + m_EditorClassIdentifier: + m_speed: 4 + m_jumpForce: 7.5 + m_rollForce: 6 + m_noBlood: 0 + m_slideDust: {fileID: 1038168246061390451, guid: 8b8c8cc6774fb074cb9139cc631b108e, type: 3} +--- !u!114 &7070326077254508316 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6323719953710832613} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ca5db483a17a43a4a855b15d3478a474, type: 3} + m_Name: + m_EditorClassIdentifier: + baseHealth: 100 + baseAttackSpeed: 1 + baseAttackDamage: 10 + baseArmor: 1 + currentHealth: 100 +--- !u!95 &2655505060201611074 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6323719953710832613} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 3c2a5b7097b0fe44394328c0bdb9252e, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!212 &2954181336601895002 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6323719953710832613} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + 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: 21300000, guid: ae297123f091bbf4e8f1835eb98fb293, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2, y: 2} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!50 &8942925490989933264 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6323719953710832613} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0.5 + m_AngularDrag: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 1 + m_Constraints: 4 +--- !u!61 &9117128348835321587 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6323719953710832613} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0.662} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0} + oldSize: {x: 3.125, y: 1.71875} + newSize: {x: 2, y: 2} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.73, y: 1.2} + m_EdgeRadius: 0 +--- !u!1 &7087049454815086010 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7646082782773197330} + - component: {fileID: 1011138383611117998} + - component: {fileID: 2724002377843051195} + m_Layer: 0 + m_Name: WallSensor_R2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7646082782773197330 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7087049454815086010} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.375, y: 1.15, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8413529789942519730} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!58 &1011138383611117998 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7087049454815086010} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0.1} + serializedVersion: 2 + m_Radius: 0.05 +--- !u!114 &2724002377843051195 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7087049454815086010} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f2a8bdc7f41b704693ad497097f30dc, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &7967423529762950208 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3233824457707053878} + - component: {fileID: 1306675150133841448} + - component: {fileID: 7644162722278263769} + m_Layer: 0 + m_Name: WallSensor_L2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3233824457707053878 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7967423529762950208} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.378, y: 1.15, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8413529789942519730} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!58 &1306675150133841448 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7967423529762950208} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0.1} + serializedVersion: 2 + m_Radius: 0.05 +--- !u!114 &7644162722278263769 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7967423529762950208} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f2a8bdc7f41b704693ad497097f30dc, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &8631832243428726876 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4393510860592810054} + - component: {fileID: 3960872287899394342} + - component: {fileID: 4862588835780617305} + m_Layer: 0 + m_Name: WallSensor_R1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4393510860592810054 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8631832243428726876} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.375, y: 0.15, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8413529789942519730} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!58 &3960872287899394342 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8631832243428726876} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0.1} + serializedVersion: 2 + m_Radius: 0.05 +--- !u!114 &4862588835780617305 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8631832243428726876} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f2a8bdc7f41b704693ad497097f30dc, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &9013660374251658338 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 351674194244795142} + - component: {fileID: 5359120195630597513} + - component: {fileID: 2193030436431168656} + m_Layer: 0 + m_Name: WallSensor_L1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &351674194244795142 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9013660374251658338} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.378, y: 0.15, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8413529789942519730} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!58 &5359120195630597513 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9013660374251658338} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0.1} + serializedVersion: 2 + m_Radius: 0.05 +--- !u!114 &2193030436431168656 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9013660374251658338} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f2a8bdc7f41b704693ad497097f30dc, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Prefabs/Fighters/AntiPlayer.prefab.meta b/Assets/Prefabs/Fighters/AntiPlayer.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..5b8a0cc19ab314c00dcd5fd9b8e078c43503b4ed --- /dev/null +++ b/Assets/Prefabs/Fighters/AntiPlayer.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9e615cebeff6ff041862cc173d80dee5 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Fighters/Bandit.prefab b/Assets/Prefabs/Fighters/Bandit.prefab new file mode 100644 index 0000000000000000000000000000000000000000..cfa6ee483b0522814550aab131669f96cf4c8af6 --- /dev/null +++ b/Assets/Prefabs/Fighters/Bandit.prefab @@ -0,0 +1,259 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1689866831511430 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4805181885227780} + - component: {fileID: 114850797635947820} + - component: {fileID: 6293755257358992638} + - component: {fileID: 95346456782871180} + - component: {fileID: 212259381048184306} + - component: {fileID: 50512961935941442} + - component: {fileID: 61252362154681264} + m_Layer: 0 + m_Name: Bandit + m_TagString: Enemy + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4805181885227780 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1689866831511430} + 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_Children: + - {fileID: 4269114208525818} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &114850797635947820 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1689866831511430} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ba8b435a8dc3f604e9a13c4acd7081c2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_speed: 4 + m_jumpForce: 7.5 +--- !u!114 &6293755257358992638 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1689866831511430} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1c408494b11a35b45870c08f9a137a63, type: 3} + m_Name: + m_EditorClassIdentifier: + baseHealth: 100 + baseAttackSpeed: 1 + baseAttackDamage: 10 + baseArmor: 1 + currentHealth: 100 + playerNearDistance: 3.75 + playerDistanceToAttack: 1.25 +--- !u!95 &95346456782871180 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1689866831511430} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: b95265f99b6d90e438df1308a89c8bab, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!212 &212259381048184306 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1689866831511430} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + 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: 21300000, guid: f2ed27d6c1c3ccc48959bcca269d88f0, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!50 &50512961935941442 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1689866831511430} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0.5 + m_AngularDrag: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 4 +--- !u!61 &61252362154681264 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1689866831511430} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: -0.02, y: 0.662} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0} + oldSize: {x: 1.5, y: 1.5} + newSize: {x: 1.28, y: 1} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.8, y: 1.2} + m_EdgeRadius: 0 +--- !u!1 &1943394156383696 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4269114208525818} + - component: {fileID: 114926350374723154} + - component: {fileID: 61368513597639598} + m_Layer: 0 + m_Name: GroundSensor + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4269114208525818 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1943394156383696} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.02, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4805181885227780} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &114926350374723154 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1943394156383696} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4beb47d3f52622a4db6bba0f8809ce39, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!61 &61368513597639598 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1943394156383696} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.16, y: 0.03} + m_EdgeRadius: 0 diff --git a/Assets/Prefabs/Fighters/Bandit.prefab.meta b/Assets/Prefabs/Fighters/Bandit.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..acaaccab1d054dd706ba1b9b84c812551341effc --- /dev/null +++ b/Assets/Prefabs/Fighters/Bandit.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 47f4e1f4f52a8ea4e8c4afb1cce6a3f5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Fighters/Tank.prefab b/Assets/Prefabs/Fighters/Tank.prefab new file mode 100644 index 0000000000000000000000000000000000000000..3aa9efa14551d12efabc3ac297875787f0bd6e54 --- /dev/null +++ b/Assets/Prefabs/Fighters/Tank.prefab @@ -0,0 +1,259 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1287205349689962 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4532010589869964} + - component: {fileID: 114204724084870448} + - component: {fileID: 61751993304262736} + m_Layer: 0 + m_Name: GroundSensor + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4532010589869964 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1287205349689962} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.02, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4588935210562790} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &114204724084870448 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1287205349689962} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4beb47d3f52622a4db6bba0f8809ce39, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!61 &61751993304262736 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1287205349689962} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.16, y: 0.03} + m_EdgeRadius: 0 +--- !u!1 &1463392086428580 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4588935210562790} + - component: {fileID: 114999745408315450} + - component: {fileID: 1594948182104342364} + - component: {fileID: 95734438044755836} + - component: {fileID: 212652212501150786} + - component: {fileID: 50959880312528810} + - component: {fileID: 61346583712760016} + m_Layer: 0 + m_Name: Tank + m_TagString: Enemy + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4588935210562790 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1463392086428580} + 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_Children: + - {fileID: 4532010589869964} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &114999745408315450 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1463392086428580} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ba8b435a8dc3f604e9a13c4acd7081c2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_speed: 4 + m_jumpForce: 7.5 +--- !u!114 &1594948182104342364 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1463392086428580} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cc9e5e98342a39d44b2c12649634d9ca, type: 3} + m_Name: + m_EditorClassIdentifier: + baseHealth: 100 + baseAttackSpeed: 1 + baseAttackDamage: 10 + baseArmor: 1 + currentHealth: 100 + playerNearDistance: 3.75 + playerDistanceToAttack: 1.25 +--- !u!95 &95734438044755836 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1463392086428580} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 22100000, guid: b810f2280bb2a6b4cbf996716e6e3d55, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!212 &212652212501150786 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1463392086428580} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + 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: 21300000, guid: 317b8365a4649ab459f6cb58ec8f9f18, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!50 &50959880312528810 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1463392086428580} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0.5 + m_AngularDrag: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 4 +--- !u!61 &61346583712760016 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1463392086428580} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: -0.02, y: 0.662} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0} + oldSize: {x: 1.5, y: 1.5} + newSize: {x: 1.28, y: 1} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.8, y: 1.2} + m_EdgeRadius: 0 diff --git a/Assets/Prefabs/Fighters/Tank.prefab.meta b/Assets/Prefabs/Fighters/Tank.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..c8e9269210c5b721461d16c07a243d2f728e9c24 --- /dev/null +++ b/Assets/Prefabs/Fighters/Tank.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 24b6178ea31b57743ac5b5b95a7d8cf8 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Fighters.meta b/Assets/Scripts/Fighters.meta new file mode 100644 index 0000000000000000000000000000000000000000..0945d35462bc7264a5045d25114ae13fb03ca4da --- /dev/null +++ b/Assets/Scripts/Fighters.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cffa259a0b5be9841b55c371e296b071 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Fighters/AntiPlayer.cs b/Assets/Scripts/Fighters/AntiPlayer.cs new file mode 100644 index 0000000000000000000000000000000000000000..4fed837e2aaa734a4838e58a09b781d38b4bd1dd --- /dev/null +++ b/Assets/Scripts/Fighters/AntiPlayer.cs @@ -0,0 +1,15 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class AntiPlayer : Fighter +{ + + string[] attacks = new string[] { "Attack1", "Attack2", "Attack3" }; + + protected override void Attack() + { + animator.SetTrigger(attacks[Random.Range(0, attacks.Length)]); + } + +} diff --git a/Assets/Scripts/Fighters/AntiPlayer.cs.meta b/Assets/Scripts/Fighters/AntiPlayer.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..a9ce24b8dcd7fc773ab6fb173bf998169d5cadfa --- /dev/null +++ b/Assets/Scripts/Fighters/AntiPlayer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ca5db483a17a43a4a855b15d3478a474 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Fighters/Bandit.cs b/Assets/Scripts/Fighters/Bandit.cs new file mode 100644 index 0000000000000000000000000000000000000000..81865ecf77d23f7cfbadcedc02f3fe53ef1739ad --- /dev/null +++ b/Assets/Scripts/Fighters/Bandit.cs @@ -0,0 +1,53 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Bandit : Fighter +{ + + [SerializeField, Tooltip("When the AntiPlayer is closer than this value, change to a combat idle anim")] + float playerNearDistance = 3.75f; + [SerializeField, Tooltip("How close the AntiPlayer has to be in order for this Bandit to start attacking")] + float playerDistanceToAttack = 1.25f; + + GameObject antiPlayer; + SpriteRenderer spriteRenderer; + + protected override void Awake() + { + base.Awake(); + spriteRenderer = GetComponent<SpriteRenderer>(); + antiPlayer = GameObject.FindGameObjectWithTag("AntiPlayer"); + } + + protected override void Update() + { + base.Update(); + if (GetDistanceToAntiPlayer() < playerNearDistance) + { + animator.SetInteger("AnimState", 1); // Combat Idle + } + else + { + animator.SetInteger("AnimState", 0); // Idle + } + // animator.SetInteger("AnimState", 2); // Run + + // Always face the AntiPlayer + spriteRenderer.flipX = transform.position.x < antiPlayer.transform.position.x; + } + + protected override void Attack() + { + if (GetDistanceToAntiPlayer() < playerDistanceToAttack) + { + animator.SetTrigger("Attack"); + } + } + + float GetDistanceToAntiPlayer() + { + return Vector3.Distance(transform.position, antiPlayer.transform.position); + } + +} diff --git a/Assets/Scripts/Fighters/Bandit.cs.meta b/Assets/Scripts/Fighters/Bandit.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..186e044f67f9e7a80c48e2ed17f9e7eb7823fb8d --- /dev/null +++ b/Assets/Scripts/Fighters/Bandit.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1c408494b11a35b45870c08f9a137a63 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Fighter.cs b/Assets/Scripts/Fighters/Fighter.cs similarity index 88% rename from Assets/Scripts/Fighter.cs rename to Assets/Scripts/Fighters/Fighter.cs index 078202b480350cf6679206e19f09da3142db045e..2fced3b898f502f82135b6e61ce00a257cfbea76 100644 --- a/Assets/Scripts/Fighter.cs +++ b/Assets/Scripts/Fighters/Fighter.cs @@ -13,13 +13,13 @@ public abstract class Fighter : MonoBehaviour { [SerializeField] int baseHealth = 100; - [SerializeField, Tooltip("Attack every x ms")] int baseAttackSpeed = 1000; + [SerializeField, Tooltip("Attack every x seconds")] float baseAttackSpeed = 1f; [SerializeField] int baseAttackDamage = 10; [SerializeField] int baseArmor = 1; public List<IFighterCallback> callbacks = new List<IFighterCallback>(); - protected int currentHealth = 100; + [SerializeField] protected int currentHealth = 100; protected Animator animator; protected bool alive { get => currentHealth > 0; } protected FighterTypes fighterType; @@ -44,11 +44,9 @@ public abstract class Fighter : MonoBehaviour { timeSinceLastAttack += Time.deltaTime; var timeUntilNextAttack = baseAttackSpeed - timeSinceLastAttack; - if (timeUntilNextAttack <= 0) + if (timeUntilNextAttack <= 0) // TODO only attack when near opposing faction { Attack(); - // TODO delegate to subclass? Some attack animations take time to charge up. - animator.SetTrigger("Attack"); timeSinceLastAttack = -timeUntilNextAttack; // To account for overshoot } } @@ -56,6 +54,10 @@ public abstract class Fighter : MonoBehaviour public void DealDamage(int dmg) { + if (!alive) + { + return; + } var actualDamage = Mathf.Max(0, Mathf.RoundToInt(dmg - baseArmor * GetStats().armorMultiplier)); currentHealth = Mathf.Max(currentHealth - actualDamage, 0); if (currentHealth == 0) diff --git a/Assets/Scripts/Fighter.cs.meta b/Assets/Scripts/Fighters/Fighter.cs.meta similarity index 100% rename from Assets/Scripts/Fighter.cs.meta rename to Assets/Scripts/Fighters/Fighter.cs.meta diff --git a/Assets/Scripts/Fighters/Tank.cs b/Assets/Scripts/Fighters/Tank.cs new file mode 100644 index 0000000000000000000000000000000000000000..43866350ccde5c67af8029b84d7112168e0b8cf8 --- /dev/null +++ b/Assets/Scripts/Fighters/Tank.cs @@ -0,0 +1,53 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Tank : Fighter +{ + + [SerializeField, Tooltip("When the AntiPlayer is closer than this value, change to a combat idle anim")] + float playerNearDistance = 3.75f; + [SerializeField, Tooltip("How close the AntiPlayer has to be in order for this Bandit to start attacking")] + float playerDistanceToAttack = 1.25f; + + GameObject antiPlayer; + SpriteRenderer spriteRenderer; + + protected override void Awake() + { + base.Awake(); + spriteRenderer = GetComponent<SpriteRenderer>(); + antiPlayer = GameObject.FindGameObjectWithTag("AntiPlayer"); + } + + protected override void Update() + { + base.Update(); + if (GetDistanceToAntiPlayer() < playerNearDistance) + { + animator.SetInteger("AnimState", 1); // Combat Idle + } + else + { + animator.SetInteger("AnimState", 0); // Idle + } + // animator.SetInteger("AnimState", 2); // Run + + // Always face the AntiPlayer + spriteRenderer.flipX = transform.position.x < antiPlayer.transform.position.x; + } + + protected override void Attack() + { + if (GetDistanceToAntiPlayer() < playerDistanceToAttack) + { + animator.SetTrigger("Attack"); + } + } + + float GetDistanceToAntiPlayer() + { + return Vector3.Distance(transform.position, antiPlayer.transform.position); + } + +} diff --git a/Assets/Scripts/Fighters/Tank.cs.meta b/Assets/Scripts/Fighters/Tank.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..303a8d159c6cd78759f170bb0fcd4f4dd8cfa000 --- /dev/null +++ b/Assets/Scripts/Fighters/Tank.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cc9e5e98342a39d44b2c12649634d9ca +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 7293ae40949cf9860ccb6721e511841e84ccd95e..00a4a98eb2f843a49456653a82c2239af490ae2b 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -3,7 +3,9 @@ --- !u!78 &1 TagManager: serializedVersion: 2 - tags: [] + tags: + - AntiPlayer + - Enemy layers: - Default - TransparentFX