diff --git a/Assets/Models/Basic/Animations/Basic.controller b/Assets/Models/Basic/Animations/Basic.controller index ad18fd02355d9f260b8f8eaa847a5e1b2571c0e2..b7c2463ff752b87904cc6483847d88bf36b06120 100644 --- a/Assets/Models/Basic/Animations/Basic.controller +++ b/Assets/Models/Basic/Animations/Basic.controller @@ -79,19 +79,19 @@ AnimatorController: m_Name: Basic serializedVersion: 5 m_AnimatorParameters: - - m_Name: walk_param + - m_Name: Walk_param m_Type: 9 m_DefaultFloat: 0 m_DefaultInt: 0 m_DefaultBool: 0 m_Controller: {fileID: 0} - - m_Name: idle_param + - m_Name: Idle_param m_Type: 9 m_DefaultFloat: 0 m_DefaultInt: 0 m_DefaultBool: 0 m_Controller: {fileID: 0} - - m_Name: sprint_param + - m_Name: Sprint_param m_Type: 9 m_DefaultFloat: 0 m_DefaultInt: 0 @@ -119,7 +119,7 @@ AnimatorStateTransition: m_Name: m_Conditions: - m_ConditionMode: 1 - m_ConditionEvent: sprint_param + m_ConditionEvent: Sprint_param m_EventTreshold: 0 m_DstStateMachine: {fileID: 0} m_DstState: {fileID: 216794943233935662} @@ -194,7 +194,7 @@ AnimatorStateTransition: m_Name: m_Conditions: - m_ConditionMode: 1 - m_ConditionEvent: walk_param + m_ConditionEvent: Walk_param m_EventTreshold: 0 m_DstStateMachine: {fileID: 0} m_DstState: {fileID: 5134214328135974500} @@ -219,7 +219,7 @@ AnimatorStateTransition: m_Name: m_Conditions: - m_ConditionMode: 1 - m_ConditionEvent: walk_param + m_ConditionEvent: Walk_param m_EventTreshold: 0 m_DstStateMachine: {fileID: 0} m_DstState: {fileID: 5134214328135974500} @@ -376,7 +376,7 @@ AnimatorStateTransition: m_Name: m_Conditions: - m_ConditionMode: 1 - m_ConditionEvent: idle_param + m_ConditionEvent: Idle_param m_EventTreshold: 0 m_DstStateMachine: {fileID: 0} m_DstState: {fileID: 7334495444875549740} diff --git a/Assets/Resources/Prefabs/Collectibles/TestCollectible.meta b/Assets/Resources/Prefabs/Collectibles/TestCollectible.meta new file mode 100644 index 0000000000000000000000000000000000000000..a0288b265af5956c40ed4ec3a8f5f2010e7c41a1 --- /dev/null +++ b/Assets/Resources/Prefabs/Collectibles/TestCollectible.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1426de7d01c8ca341848b04b939bd9ff +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Collectibles/TestCollectible/Animations.meta b/Assets/Resources/Prefabs/Collectibles/TestCollectible/Animations.meta new file mode 100644 index 0000000000000000000000000000000000000000..d61897b60d89044d23ab9b2dbd24c0c7e6d303fc --- /dev/null +++ b/Assets/Resources/Prefabs/Collectibles/TestCollectible/Animations.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ac05b56fa5d08a5429b7e3a35146dd45 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Collectibles/TestCollectible.prefab b/Assets/Resources/Prefabs/Collectibles/TestCollectible/TestCollectible.prefab similarity index 100% rename from Assets/Resources/Prefabs/Collectibles/TestCollectible.prefab rename to Assets/Resources/Prefabs/Collectibles/TestCollectible/TestCollectible.prefab diff --git a/Assets/Resources/Prefabs/Collectibles/TestCollectible.prefab.meta b/Assets/Resources/Prefabs/Collectibles/TestCollectible/TestCollectible.prefab.meta similarity index 100% rename from Assets/Resources/Prefabs/Collectibles/TestCollectible.prefab.meta rename to Assets/Resources/Prefabs/Collectibles/TestCollectible/TestCollectible.prefab.meta diff --git a/Assets/Resources/Prefabs/Environment.meta b/Assets/Resources/Prefabs/Environment.meta new file mode 100644 index 0000000000000000000000000000000000000000..b4109c108e5dba97c90aa5becb3b7e686be7118d --- /dev/null +++ b/Assets/Resources/Prefabs/Environment.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 205b6225969da8e4bae4c81ef593baa4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Environment/TestInteractable.meta b/Assets/Resources/Prefabs/Environment/TestInteractable.meta new file mode 100644 index 0000000000000000000000000000000000000000..a369b9b0588335d196f03b84072a36447923c9a6 --- /dev/null +++ b/Assets/Resources/Prefabs/Environment/TestInteractable.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cdceda7f1e218c84e9fa621940e3ce18 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Environment/TestInteractable/TestInteractable.prefab b/Assets/Resources/Prefabs/Environment/TestInteractable/TestInteractable.prefab new file mode 100644 index 0000000000000000000000000000000000000000..19478644b37acb9a71cc9d7a8042cf8921205731 --- /dev/null +++ b/Assets/Resources/Prefabs/Environment/TestInteractable/TestInteractable.prefab @@ -0,0 +1,196 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &5938789937870366390 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8784878119171665620} + - component: {fileID: 7833412508114504922} + - component: {fileID: 7910034603869321074} + - component: {fileID: 7395825880064783078} + - component: {fileID: 6685900256318991376} + m_Layer: 0 + m_Name: Model + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8784878119171665620 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5938789937870366390} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3345887698500519422} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7833412508114504922 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5938789937870366390} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &7910034603869321074 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5938789937870366390} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, 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: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &7395825880064783078 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5938789937870366390} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!95 &6685900256318991376 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5938789937870366390} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 0} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!1 &7848228299116585289 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3345887698500519422} + - component: {fileID: 6285618725572213290} + - component: {fileID: 8838369842862591701} + m_Layer: 12 + m_Name: TestInteractable + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3345887698500519422 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7848228299116585289} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8784878119171665620} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6285618725572213290 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7848228299116585289} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: afc0fd7c16afe4a42a82353df9b3a73b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!65 &8838369842862591701 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7848228299116585289} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: -1, y: 0.5, z: 0} diff --git a/Assets/Resources/Prefabs/Environment/TestInteractable/TestInteractable.prefab.meta b/Assets/Resources/Prefabs/Environment/TestInteractable/TestInteractable.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..39a6435b5b572f1472ea5de6d00cf62539c678df --- /dev/null +++ b/Assets/Resources/Prefabs/Environment/TestInteractable/TestInteractable.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c98b222ded23bb24690e674886e5741a +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations.meta b/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations.meta new file mode 100644 index 0000000000000000000000000000000000000000..e4aaff731b7760af323d8ebc10326b77a4ab3d39 --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5293e747addf9b24d988dcb3f1152a20 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAnimator.controller b/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAnimator.controller new file mode 100644 index 0000000000000000000000000000000000000000..1d53dd5d7d1483fd246adce4a112baeb8cc03292 --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAnimator.controller @@ -0,0 +1,156 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1107 &-7269437133143438300 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: -3107778627061189562} + m_Position: {x: 310, y: 120, z: 0} + - serializedVersion: 1 + m_State: {fileID: -4939630507117564808} + m_Position: {x: 310, y: 0, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: -3107778627061189562} +--- !u!1102 &-4939630507117564808 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: TestWeaponAttack + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 7779578295501471183} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 995f4cb0103324743949d5c430b427d4, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &-3107778627061189562 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: TestWeaponIdle + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 1543260411605107280} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: d70a28206dd239b4c9cdb5df7eb4dc15, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: TestWeaponAnimator + serializedVersion: 5 + m_AnimatorParameters: + - m_Name: AlternateAttack_param + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: -7269437133143438300} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1101 &1543260411605107280 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: AlternateAttack_param + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -4939630507117564808} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &7779578295501471183 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -3107778627061189562} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 diff --git a/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAnimator.controller.meta b/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAnimator.controller.meta new file mode 100644 index 0000000000000000000000000000000000000000..52aa2266202aa11723ac70addb8f7d075e09cfd3 --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAnimator.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 240e48418e1611c46a18fa4fd9cbe79f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAttack.anim b/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAttack.anim new file mode 100644 index 0000000000000000000000000000000000000000..f0cc5c1997b22b09f6df42898ffd5335a3a13c15 --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAttack.anim @@ -0,0 +1,409 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: TestWeaponAttack + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: 0, y: -60, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 1 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: 0, y: 0, z: 0.5} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 1 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0.5 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: -60 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_EulerEditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAttack.anim.meta b/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAttack.anim.meta new file mode 100644 index 0000000000000000000000000000000000000000..9ce44f4034fc329dbb137091bde37408a738e86c --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAttack.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 995f4cb0103324743949d5c430b427d4 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponIdle.anim b/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponIdle.anim new file mode 100644 index 0000000000000000000000000000000000000000..95fb1053b298a263457b32280d0cb480e299629b --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponIdle.anim @@ -0,0 +1,53 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: TestWeaponIdle + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: [] + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponIdle.anim.meta b/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponIdle.anim.meta new file mode 100644 index 0000000000000000000000000000000000000000..87351edcc6fbe04e184356529438a6b2f2afa48c --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponIdle.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d70a28206dd239b4c9cdb5df7eb4dc15 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 4c19e5e8343a76f955090776877c98da680d2605..c06c9a050523dd4f5f3ae9b3d77872fd466b1f9d 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -152,10 +152,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 277e6d37ad3220543a05009070b3a2b8, type: 3} m_Name: m_EditorClassIdentifier: - backButton: 27 - attackButton: 122 - attackAlternateButton: 120 - interactButton: 120 --- !u!4 &6125823 Transform: m_ObjectHideFlags: 0 @@ -171,6 +167,32 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &111203058 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 5423466746631264166, guid: 1a7698227caac3d429dceb8aa5056502, type: 3} + m_PrefabInstance: {fileID: 4718921866596059802} + m_PrefabAsset: {fileID: 0} +--- !u!95 &111203062 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 111203058} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 240e48418e1611c46a18fa4fd9cbe79f, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 --- !u!1 &117855954 GameObject: m_ObjectHideFlags: 0 @@ -323,111 +345,6 @@ Transform: - {fileID: 2127634081} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &315870489 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 315870490} - - component: {fileID: 315870493} - - component: {fileID: 315870492} - - component: {fileID: 315870491} - m_Layer: 0 - m_Name: Model - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &315870490 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 315870489} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0.5, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1628232501} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!65 &315870491 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 315870489} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 3 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!23 &315870492 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 315870489} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10303, 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: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &315870493 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 315870489} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &484130344 GameObject: m_ObjectHideFlags: 0 @@ -1261,73 +1178,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c54dc993f0d1e36499ea37e182a87cbc, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1 &1628232500 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1628232501} - - component: {fileID: 1628232503} - - component: {fileID: 1628232502} - m_Layer: 12 - m_Name: TestInteractable - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1628232501 +--- !u!4 &1628232501 stripped Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1628232500} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 3, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 315870490} - m_Father: {fileID: 1098815287} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!65 &1628232502 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1628232500} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 1 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 3 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: -1, y: 0.5, z: 0} ---- !u!114 &1628232503 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 3345887698500519422, guid: c98b222ded23bb24690e674886e5741a, type: 3} + m_PrefabInstance: {fileID: 8676018873226186172} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1628232500} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: afc0fd7c16afe4a42a82353df9b3a73b, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1 &2127634080 GameObject: m_ObjectHideFlags: 0 @@ -1558,8 +1413,68 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 5423466746631264166, guid: 1a7698227caac3d429dceb8aa5056502, type: 3} + insertIndex: -1 + addedObject: {fileID: 111203062} m_SourcePrefab: {fileID: 100100000, guid: 1a7698227caac3d429dceb8aa5056502, type: 3} +--- !u!1001 &8676018873226186172 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1098815287} + m_Modifications: + - target: {fileID: 3345887698500519422, guid: c98b222ded23bb24690e674886e5741a, type: 3} + propertyPath: m_LocalPosition.x + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 3345887698500519422, guid: c98b222ded23bb24690e674886e5741a, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3345887698500519422, guid: c98b222ded23bb24690e674886e5741a, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3345887698500519422, guid: c98b222ded23bb24690e674886e5741a, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3345887698500519422, guid: c98b222ded23bb24690e674886e5741a, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3345887698500519422, guid: c98b222ded23bb24690e674886e5741a, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3345887698500519422, guid: c98b222ded23bb24690e674886e5741a, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3345887698500519422, guid: c98b222ded23bb24690e674886e5741a, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3345887698500519422, guid: c98b222ded23bb24690e674886e5741a, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3345887698500519422, guid: c98b222ded23bb24690e674886e5741a, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7848228299116585289, guid: c98b222ded23bb24690e674886e5741a, type: 3} + propertyPath: m_Name + value: TestInteractable + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c98b222ded23bb24690e674886e5741a, type: 3} --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Config/GameEnvironmentConfig.cs b/Assets/Scripts/Config/GameEnvironmentConfig.cs index 32f35ec8c6c248d2b8d2dce2a85502529f3d2046..419338145faf806569c9810035f0d380b1cd399a 100644 --- a/Assets/Scripts/Config/GameEnvironmentConfig.cs +++ b/Assets/Scripts/Config/GameEnvironmentConfig.cs @@ -7,9 +7,10 @@ public static class GameEnvironmentConfig{ public static readonly string TAG_GROUND = "Ground"; // Layers + public static readonly string LAYER_PLAYER = "Player"; public static readonly string LAYER_ENEMY = "Enemy"; public static readonly string LAYER_PLAYER_ATTACK = "PlayerAttack"; - public static readonly string LAYER_PLAYER = "Player"; public static readonly string LAYER_ENEMY_ATTACK = "EnemyAttack"; + public static readonly string LAYER_ENVIRONMENT_ATTACK = "EnvironmentAttack"; public static readonly string LAYER_COLLECTIBLE = "Collectible"; } \ No newline at end of file diff --git a/Assets/Scripts/Core/Game/Data/GameInput.cs b/Assets/Scripts/Core/Game/Data/GameInput.cs index 1bb69dd5f1ca1450177d03a8580b4421377703d2..d9b880e4d465c3ce4f251038754904e73d9e0f9c 100644 --- a/Assets/Scripts/Core/Game/Data/GameInput.cs +++ b/Assets/Scripts/Core/Game/Data/GameInput.cs @@ -7,8 +7,8 @@ public class GameInput : MonoBehaviour { // Attributes [NonSerialized] public KeyCode backButton = KeyCode.Escape; - [NonSerialized] public KeyCode attackButton = KeyCode.Z; - [NonSerialized] public KeyCode attackAlternateButton = KeyCode.X; + [NonSerialized] public KeyCode attackButton = KeyCode.Mouse0; + [NonSerialized] public KeyCode attackAlternateButton = KeyCode.Mouse1; [NonSerialized] public KeyCode interactButton = KeyCode.C; // Constructor diff --git a/Assets/Scripts/Core/Objects/Weapons/NoWeapon.meta b/Assets/Scripts/Core/Objects/Weapons/NoWeapon.meta new file mode 100644 index 0000000000000000000000000000000000000000..c80a39ce0568487c643c47bf5323c709b0e9eea4 --- /dev/null +++ b/Assets/Scripts/Core/Objects/Weapons/NoWeapon.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6309525624d1eef4aa40263d1a30dba3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Core/Objects/Weapons/NoWeapon/NoWeapon.cs b/Assets/Scripts/Core/Objects/Weapons/NoWeapon/NoWeapon.cs new file mode 100644 index 0000000000000000000000000000000000000000..cd230ac5f0b7942d6b3173ab62941b9654d8eff7 --- /dev/null +++ b/Assets/Scripts/Core/Objects/Weapons/NoWeapon/NoWeapon.cs @@ -0,0 +1,9 @@ +public class NoWeapon : WeaponObject{ + public override void Attack(){ + return; + } + + public override void AttackAlternate(){ + return; + } +} \ No newline at end of file diff --git a/Assets/Scripts/Core/Objects/Weapons/NoWeapon/NoWeapon.cs.meta b/Assets/Scripts/Core/Objects/Weapons/NoWeapon/NoWeapon.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..4ad79feff935db8df6da7b6acecd6ca1258c66b8 --- /dev/null +++ b/Assets/Scripts/Core/Objects/Weapons/NoWeapon/NoWeapon.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: aeafa263f26404c4a9f653e7d0889d83 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Core/Objects/Weapons/TestWeapon/TestWeapon.cs b/Assets/Scripts/Core/Objects/Weapons/TestWeapon/TestWeapon.cs index 9fce8365e8eafa5be70c30691bcc426ed4249619..0837d0a4221f019c16e975f9baeb8c41a5464dfe 100644 --- a/Assets/Scripts/Core/Objects/Weapons/TestWeapon/TestWeapon.cs +++ b/Assets/Scripts/Core/Objects/Weapons/TestWeapon/TestWeapon.cs @@ -8,23 +8,16 @@ public class TestWeapon : WeaponObject{ // Attribute [SerializeField] private float fireRange = 100; [SerializeField] private float projectileSpeed = 100; + private TestWeaponAnimationController animationController; - // Function - public override void Attack(){ - AttackObject attackHitbox = ObjectFactory.CreateAttackObject( - prefabPath: hitboxPrefab, - damage: MathUtils.CalculateDamage(bearer.BaseDamage, BaseDamage), - knockbackPower: KnockbackPower, - type: bearerType, - knockbackOrigin: transform.position, - parent: transform, - objectName: "TestWeapon Hitbox" - ); - - ObjectFactory.DestroyObject(attackHitbox, 1f); + // Constructor + protected new void Start(){ + base.Start(); + animationController = new TestWeaponAnimationController(this); } - public override void AttackAlternate(){ + // Function + public override void Attack(){ ProjectileObject attackProjectile = ObjectFactory.CreateAttackObject<ProjectileObject>( prefabPath: projectilePrefab, damage: MathUtils.CalculateDamage(bearer.BaseDamage, BaseDamage), @@ -41,4 +34,20 @@ public class TestWeapon : WeaponObject{ ObjectFactory.DestroyObject(attackProjectile, 1f); } + + public override void AttackAlternate(){ + animationController.AnimateAlternateAttack(); + + AttackObject attackHitbox = ObjectFactory.CreateAttackObject( + prefabPath: hitboxPrefab, + damage: MathUtils.CalculateDamage(bearer.BaseDamage, BaseDamage), + knockbackPower: KnockbackPower, + type: bearerType, + knockbackOrigin: transform.position, + parent: animationController.model, + objectName: "TestWeapon Hitbox" + ); + + ObjectFactory.DestroyObject(attackHitbox, 1f); + } } \ No newline at end of file diff --git a/Assets/Scripts/Core/Objects/Weapons/TestWeapon/TestWeaponAnimationController.cs b/Assets/Scripts/Core/Objects/Weapons/TestWeapon/TestWeaponAnimationController.cs new file mode 100644 index 0000000000000000000000000000000000000000..2d07d1305b6fceefc15cf74a10721f30e73ea75f --- /dev/null +++ b/Assets/Scripts/Core/Objects/Weapons/TestWeapon/TestWeaponAnimationController.cs @@ -0,0 +1,19 @@ +using UnityEngine; + +public class TestWeaponAnimationController : AnimationController{ + // Consts + private const string ALTERNATE_ATTACK_TRIGGER = "AlternateAttack_param"; + + // Attributes + private readonly TestWeapon testWeapon; + + // Constructor + public TestWeaponAnimationController(TestWeapon testWeapon) : base(testWeapon){ + this.testWeapon = testWeapon; + } + + // Functions + public void AnimateAlternateAttack(){ + animator.SetBool(ALTERNATE_ATTACK_TRIGGER, true); + } +} \ No newline at end of file diff --git a/Assets/Scripts/Core/Objects/Weapons/TestWeapon/TestWeaponAnimationController.cs.meta b/Assets/Scripts/Core/Objects/Weapons/TestWeapon/TestWeaponAnimationController.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..a018adb33c82e630fc2f5d3f8fb7395885abd9ec --- /dev/null +++ b/Assets/Scripts/Core/Objects/Weapons/TestWeapon/TestWeaponAnimationController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 26eec6d1e0e0b0a44929f9cb67f3c2e2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Core/Objects/Weapons/WeaponObject.cs b/Assets/Scripts/Core/Objects/Weapons/WeaponObject.cs index a9182287caa7c47cd967fceb5876e0286704f6bf..14a7ad93873298f848ea66260191ab398c87f22b 100644 --- a/Assets/Scripts/Core/Objects/Weapons/WeaponObject.cs +++ b/Assets/Scripts/Core/Objects/Weapons/WeaponObject.cs @@ -13,6 +13,7 @@ public abstract class WeaponObject : MonoBehaviour { bearer = GetComponentInParent<IArmed>(); if(bearer is Player) bearerType = AttackObjectType.PLAYER; else if(bearer is EnemyEntity) bearerType = AttackObjectType.ENEMY; + else bearerType = AttackObjectType.ENVIRONMENT; } // Functions diff --git a/Assets/Scripts/Core/Player/PlayerAnimationController.cs b/Assets/Scripts/Core/Player/PlayerAnimationController.cs index d1ff9f092fb2ba42b3f7b2a8b2f6e89a84c66329..ddaf7306aa370fbc499c050c4af9025ef4cfd418 100644 --- a/Assets/Scripts/Core/Player/PlayerAnimationController.cs +++ b/Assets/Scripts/Core/Player/PlayerAnimationController.cs @@ -2,9 +2,9 @@ using UnityEngine; public class PlayerAnimationController : AnimationController{ // Consts - private const string IDLE_TRIGGER = "idle_param"; - private const string WALK_TRIGGER = "walk_param"; - private const string SPRINT_TRIGGER = "sprint_param"; + private const string IDLE_TRIGGER = "Idle_param"; + private const string WALK_TRIGGER = "Walk_param"; + private const string SPRINT_TRIGGER = "Sprint_param"; // Attributes private readonly Player player; diff --git a/Assets/Scripts/Core/Player/PlayerInputController.cs b/Assets/Scripts/Core/Player/PlayerInputController.cs index 4ebfcfcc8fe0c18ef574044eec67615eed409bf3..fb22866ae64f17158a110ca96a8bb20278d41b78 100644 --- a/Assets/Scripts/Core/Player/PlayerInputController.cs +++ b/Assets/Scripts/Core/Player/PlayerInputController.cs @@ -31,6 +31,7 @@ public class PlayerInputController{ } else if(Input.GetKeyDown(GameInput.instance.interactButton)){ Debug.Log("Player is interacting"); + if(player.stateController.currentInteractables.Count == 0 ) return; IInteractable interactable = player.stateController.currentInteractables[player.stateController.currentInteractables.Count - 1]; interactable.Interact(); } diff --git a/Assets/Scripts/Library/BaseClasses/Controller/AnimationController.cs b/Assets/Scripts/Library/BaseClasses/Controller/AnimationController.cs index cb89f776155f632cbecda63c81a644ac1f8834d0..d9c668ff2097b040e7e63d055034961d63061feb 100644 --- a/Assets/Scripts/Library/BaseClasses/Controller/AnimationController.cs +++ b/Assets/Scripts/Library/BaseClasses/Controller/AnimationController.cs @@ -6,9 +6,13 @@ public abstract class AnimationController { public MeshRenderer meshRenderer; public Animator animator; - public AnimationController(MonoBehaviour dummy){ - model = dummy.transform.Find("Model"); + public AnimationController(MonoBehaviour animable){ + model = animable.transform.Find("Model"); animator = model.GetComponent<Animator>(); meshRenderer = model.GetComponent<MeshRenderer>(); + + if(model == null) Debug.LogWarning("Animated object of " + animable.name + " does not have a model"); + if(animator == null) Debug.LogWarning("Animated object of " + animable.name + " does not have an animator in its model"); + if(meshRenderer == null) Debug.LogWarning("Animated object of " + animable.name + " does not have an meshRenderer in its model"); } } \ No newline at end of file diff --git a/Assets/Scripts/Library/BaseClasses/EntityObject/WorldEntity.cs b/Assets/Scripts/Library/BaseClasses/EntityObject/WorldEntity.cs index be0e40ef715a6ecc0aa6bfe4627af1407c808b1f..4be30a75f5a0b9c9e9d13965e814781b19dd7361 100644 --- a/Assets/Scripts/Library/BaseClasses/EntityObject/WorldEntity.cs +++ b/Assets/Scripts/Library/BaseClasses/EntityObject/WorldEntity.cs @@ -25,6 +25,9 @@ public class WorldEntity : WorldObject, IRigid { protected void Start(){ rigidbody = GetComponent<Rigidbody>(); collider = GetComponent<Collider>(); + + if(rigidbody == null) Debug.LogWarning("Rigid entity " + name + " does not have a rigidbody"); + if(collider == null) Debug.LogWarning("Rigid entity " + name + " does not have a collider"); } // Functions diff --git a/Assets/Scripts/Library/Enum/AttackObjectType.cs b/Assets/Scripts/Library/Enum/AttackObjectType.cs index 72282390b23821b14999ce34dadf5be62fd4a152..070c57a8522c0b64b6271d342af779926adba0e9 100644 --- a/Assets/Scripts/Library/Enum/AttackObjectType.cs +++ b/Assets/Scripts/Library/Enum/AttackObjectType.cs @@ -1,4 +1,5 @@ public enum AttackObjectType { PLAYER, ENEMY, + ENVIRONMENT } diff --git a/Assets/Scripts/Library/Util/ObjectFactory.cs b/Assets/Scripts/Library/Util/ObjectFactory.cs index a776c4afe627823dddf18b3e2c683d93414aef1f..917786c986ada01705e1fa5e169e4f05adf544a0 100644 --- a/Assets/Scripts/Library/Util/ObjectFactory.cs +++ b/Assets/Scripts/Library/Util/ObjectFactory.cs @@ -80,6 +80,9 @@ public static class ObjectFactory{ attackObject.gameObject.layer = LayerMask.NameToLayer(GameEnvironmentConfig.LAYER_ENEMY_ATTACK); attackObject.Damage *= GameConfig.DIFFICULTY_MODIFIERS[GameSaveData.instance.difficulty].EnemyDamageMultiplier; break; + case AttackObjectType.ENVIRONMENT: + attackObject.gameObject.layer = LayerMask.NameToLayer(GameEnvironmentConfig.LAYER_ENVIRONMENT_ATTACK); + break; default: Debug.LogError("Invalid AttackObjectType set, please refer to enum AttackObjectType for valid types"); break; diff --git a/ProjectSettings/InputManager.asset b/ProjectSettings/InputManager.asset index 17c8f538e2152c0a0310b4870979eeecece2153c..8068b2058b089f9973b15f83648e58cd238688f0 100644 --- a/ProjectSettings/InputManager.asset +++ b/ProjectSettings/InputManager.asset @@ -293,3 +293,4 @@ InputManager: type: 0 axis: 0 joyNum: 0 + m_UsePhysicalKeys: 1