diff --git a/.vsconfig b/.vsconfig new file mode 100644 index 0000000000000000000000000000000000000000..f019fd0ad121bf5f9c0eb35e29cd09d56ce712b3 --- /dev/null +++ b/.vsconfig @@ -0,0 +1,6 @@ +{ + "version": "1.0", + "components": [ + "Microsoft.VisualStudio.Workload.ManagedGame" + ] +} diff --git a/Assets/Resources/Data/WeaponData/TestWeapon/SwordData.asset b/Assets/Resources/Data/WeaponData/TestWeapon/SwordData.asset new file mode 100644 index 0000000000000000000000000000000000000000..454b76191b03bd8361019d74c6006830f13bd292 --- /dev/null +++ b/Assets/Resources/Data/WeaponData/TestWeapon/SwordData.asset @@ -0,0 +1,20 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: abc4ca3f3ac6a5646addd6dfbe0b996b, type: 3} + m_Name: SwordData + m_EditorClassIdentifier: + prefabPath: Prefabs/Weapons/TestWeapon/Sword + model: {fileID: 5240801910879785525, guid: 70a197083e3d99246b1d381922eb03bf, type: 3} + baseDamage: 10 + knockbackPower: 10 + attackInterval: 0.5 + alternateAttackInterval: 0.5 diff --git a/Assets/Resources/Data/WeaponData/TestWeapon/SwordData.asset.meta b/Assets/Resources/Data/WeaponData/TestWeapon/SwordData.asset.meta new file mode 100644 index 0000000000000000000000000000000000000000..f7e1ff45cbd485a122a683bfbdca01dcd7d5f387 --- /dev/null +++ b/Assets/Resources/Data/WeaponData/TestWeapon/SwordData.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 56e830b65df7e2646bf9860251b1ea1c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Models/Weapons/TestWeapon/Cube.prefab b/Assets/Resources/Models/Weapons/TestWeapon/Cube.prefab new file mode 100644 index 0000000000000000000000000000000000000000..e211384d294bbb95421259c6c9ec1ec1f58ae0f5 --- /dev/null +++ b/Assets/Resources/Models/Weapons/TestWeapon/Cube.prefab @@ -0,0 +1,109 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8242525621199174580 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7442757917437711931} + - component: {fileID: 1313164622017952236} + - component: {fileID: 178752603434756337} + - component: {fileID: 7954633565928931116} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7442757917437711931 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8242525621199174580} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.8961656, y: 0.7208452, z: 2.962078} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &1313164622017952236 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8242525621199174580} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &178752603434756337 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8242525621199174580} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + 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 &7954633565928931116 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8242525621199174580} + 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} diff --git a/Assets/Resources/Models/Weapons/TestWeapon/Cube.prefab.meta b/Assets/Resources/Models/Weapons/TestWeapon/Cube.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..2db0d704befffaf7b3b16dee7b6817dded37481c --- /dev/null +++ b/Assets/Resources/Models/Weapons/TestWeapon/Cube.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a77dc00dbd765834c835860d04c45a28 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Weapons/NoWeapon/Plane.prefab b/Assets/Resources/Prefabs/Weapons/NoWeapon/Plane.prefab new file mode 100644 index 0000000000000000000000000000000000000000..8c44c339e399a5207f2875e53ebe647008af0bf0 --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/NoWeapon/Plane.prefab @@ -0,0 +1,110 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1466136508528576958 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8184952555610640498} + - component: {fileID: 5010126628732414453} + - component: {fileID: 6727235421528898813} + - component: {fileID: 1588082137161352098} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8184952555610640498 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1466136508528576958} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 10, y: 10, z: 10} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &5010126628732414453 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1466136508528576958} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6727235421528898813 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1466136508528576958} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + 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!64 &1588082137161352098 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1466136508528576958} + 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: 5 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} diff --git a/Assets/Resources/Prefabs/Weapons/NoWeapon/Plane.prefab.meta b/Assets/Resources/Prefabs/Weapons/NoWeapon/Plane.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..d7291cae0f71a20895b02a25b61bdf516595f894 --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/NoWeapon/Plane.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 410f96feac8209f4083aea60034fd57a +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Weapons/TestWeapon/TestInteractable.prefab b/Assets/Resources/Prefabs/Weapons/TestWeapon/TestInteractable.prefab new file mode 100644 index 0000000000000000000000000000000000000000..6c3119db7ed8f51d039d0c9459a7b35750baf755 --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/TestWeapon/TestInteractable.prefab @@ -0,0 +1,131 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6541102688641435260 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7065619579114910469} + - component: {fileID: 344713511152250207} + - component: {fileID: 4603107572195619152} + m_Layer: 12 + m_Name: TestInteractable + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7065619579114910469 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6541102688641435260} + 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: 6312057550851766622} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &344713511152250207 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6541102688641435260} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: afc0fd7c16afe4a42a82353df9b3a73b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!65 &4603107572195619152 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6541102688641435260} + 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!1001 &7576994708712382837 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 7065619579114910469} + m_Modifications: + - target: {fileID: 4521062537676429355, guid: ec549132bf117594e81e95cc4ae15b07, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4521062537676429355, guid: ec549132bf117594e81e95cc4ae15b07, type: 3} + propertyPath: m_LocalPosition.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4521062537676429355, guid: ec549132bf117594e81e95cc4ae15b07, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4521062537676429355, guid: ec549132bf117594e81e95cc4ae15b07, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4521062537676429355, guid: ec549132bf117594e81e95cc4ae15b07, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4521062537676429355, guid: ec549132bf117594e81e95cc4ae15b07, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4521062537676429355, guid: ec549132bf117594e81e95cc4ae15b07, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4521062537676429355, guid: ec549132bf117594e81e95cc4ae15b07, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4521062537676429355, guid: ec549132bf117594e81e95cc4ae15b07, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4521062537676429355, guid: ec549132bf117594e81e95cc4ae15b07, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5071667469683539556, guid: ec549132bf117594e81e95cc4ae15b07, type: 3} + propertyPath: m_Name + value: Model + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: ec549132bf117594e81e95cc4ae15b07, type: 3} +--- !u!4 &6312057550851766622 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4521062537676429355, guid: ec549132bf117594e81e95cc4ae15b07, type: 3} + m_PrefabInstance: {fileID: 7576994708712382837} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/Resources/Prefabs/Weapons/TestWeapon/TestInteractable.prefab.meta b/Assets/Resources/Prefabs/Weapons/TestWeapon/TestInteractable.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..2625d70e8148cf1015a53b519db61907e9b08694 --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/TestWeapon/TestInteractable.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f8c15abc8b664dd4f93785993c19e187 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Weapons/TestWeapon/TestProjectile.prefab.meta b/Assets/Resources/Prefabs/Weapons/TestWeapon/TestProjectile.prefab.meta index fdcf4faf3543690ef12d186b06494026120e8792..473bcc3989a0db930ef1fc9ae9b3595234a8739e 100644 --- a/Assets/Resources/Prefabs/Weapons/TestWeapon/TestProjectile.prefab.meta +++ b/Assets/Resources/Prefabs/Weapons/TestWeapon/TestProjectile.prefab.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 70a197083e3d99246b1d381922eb03bf +guid: 7b013dfe2e9df3842ae1eb6f1741813c PrefabImporter: externalObjects: {} userData: diff --git a/Assets/Scenes/DevRoom.unity b/Assets/Scenes/DevRoom.unity index a11d7bee307b706de5e80afd193d30a32b85a472..eaf6ad3e0d7d2170a7709f00f7f9b3c544a0b693 100644 --- a/Assets/Scenes/DevRoom.unity +++ b/Assets/Scenes/DevRoom.unity @@ -257,6 +257,18 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: difficulty: 1 + events: [] + currencyData: + balance: 0 + transactions: [] + positionData: + level: 1 + point: {x: 0, y: 0, z: 0} + storyData: + events: [] + progress: + statisticsData: + enemiesKilled: 0 --- !u!4 &354420149 Transform: m_ObjectHideFlags: 0 @@ -272,6 +284,55 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &462044645 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 462044647} + - component: {fileID: 462044646} + m_Layer: 10 + m_Name: Weapon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &462044646 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 462044645} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d987ecf817e9a742a921b5b1e18bedf, type: 3} + m_Name: + m_EditorClassIdentifier: + data: {fileID: 11400000, guid: 56e830b65df7e2646bf9860251b1ea1c, type: 2} + canAttack: 1 + attackRange: 2.5 + attackDamage: 25 +--- !u!4 &462044647 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 462044645} + serializedVersion: 2 + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1397095544} + m_Father: {fileID: 1501595418} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &464623400 GameObject: m_ObjectHideFlags: 0 @@ -926,6 +987,91 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: c98b222ded23bb24690e674886e5741a, type: 3} +--- !u!1 &1397095543 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1397095544} + - component: {fileID: 1397095546} + - component: {fileID: 1397095545} + m_Layer: 10 + m_Name: Model + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1397095544 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1397095543} + serializedVersion: 2 + m_LocalRotation: {x: 0.45506826, y: -0.13475184, z: -0.051124513, w: 0.87871563} + m_LocalPosition: {x: -0.1, y: 0.983, z: 0.281} + m_LocalScale: {x: 0.03817184, y: 0.55788624, z: 0.09148124} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 462044647} + m_LocalEulerAnglesHint: {x: 51.811, y: -27.277, z: -20.102} +--- !u!23 &1397095545 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1397095543} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + 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 &1397095546 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1397095543} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1501595415 GameObject: m_ObjectHideFlags: 0 @@ -968,7 +1114,7 @@ MonoBehaviour: damagedDelay: 1 baseDamage: 10 weaponList: - - {fileID: 5029868015402955001, guid: 1a7698227caac3d429dceb8aa5056502, type: 3} + - {fileID: 462044646} companionList: [] companionActive: --- !u!54 &1501595417 @@ -1007,11 +1153,12 @@ Transform: m_GameObject: {fileID: 1501595415} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: 0.1, y: 0, z: -0.55} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1134916567} + - {fileID: 462044647} m_Father: {fileID: 1835324898} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &1546353266 diff --git a/Assets/Weapon.cs b/Assets/Weapon.cs new file mode 100644 index 0000000000000000000000000000000000000000..4108eb5c371baa64e66e6ac28e8a3ec82bfdca5c --- /dev/null +++ b/Assets/Weapon.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Weapon : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Weapon.cs.meta b/Assets/Weapon.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..13e0c6e35d9d435ca04e39d1f94896a9225dcb9e --- /dev/null +++ b/Assets/Weapon.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 68ed3a47015cb7b49a388cef5be0e56f \ No newline at end of file diff --git a/Assets/_Scripts/Core/Objects/Weapons/TestWeapon/Sword.cs b/Assets/_Scripts/Core/Objects/Weapons/TestWeapon/Sword.cs new file mode 100644 index 0000000000000000000000000000000000000000..b5bb4f303fda5d5b23c33fd53e523872367ae6cd --- /dev/null +++ b/Assets/_Scripts/Core/Objects/Weapons/TestWeapon/Sword.cs @@ -0,0 +1,53 @@ +using UnityEngine; + +public class Sword : WeaponObject +{ + public const string weaponPrefab = "Prefabs/Weapons/TestWeapon/Sword"; + private const string hitboxPrefab = "Prefabs/Weapons/TestWeapon/WeaponHitbox"; + + public float attackRange = 2.5f; + public float attackDamage = 25f; + public SwordAnimationController animationController; + + protected new void Start() + { + base.Start(); + animationController = new SwordAnimationController(this); + } + + protected override void OnAttack() + { + // Spawn hitbox + AttackObject hitboxObject = ObjectFactory.CreateAttackObject( + prefabPath: hitboxPrefab, + damage: MathUtils.CalculateDamage(bearer.BaseDamage, data.baseDamage), + knockbackPower: data.knockbackPower, + attackLayerCode: bearer.AttackLayerCode, + damageModifier: bearer.AttackMultiplier, + knockbackOrigin: transform.position, + parent: transform, // Attach hitbox to the sword + objectName: "Sword Hitbox" + ); + ObjectFactory.DestroyObject(hitboxObject, 1f); + } + + + protected override void OnAlternateAttack() + { + animationController.AnimateAlternateAttack(); + + AttackObject attackHitbox = ObjectFactory.CreateAttackObject( + prefabPath: hitboxPrefab, + damage: MathUtils.CalculateDamage(bearer.BaseDamage, data.baseDamage), + knockbackPower: data.knockbackPower, + attackLayerCode: bearer.AttackLayerCode, + damageModifier: bearer.AttackMultiplier, + knockbackOrigin: transform.position, + parent: animationController.model.transform, + objectName: "Sword Hitbox" + ); + + ObjectFactory.DestroyObject(attackHitbox, 0.5f); + } + +} diff --git a/Assets/_Scripts/Core/Objects/Weapons/TestWeapon/Sword.cs.meta b/Assets/_Scripts/Core/Objects/Weapons/TestWeapon/Sword.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..329a309c73c71504782ee16c33311b3d35aebe7b --- /dev/null +++ b/Assets/_Scripts/Core/Objects/Weapons/TestWeapon/Sword.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 0d987ecf817e9a742a921b5b1e18bedf \ No newline at end of file diff --git a/Assets/_Scripts/Core/Objects/Weapons/TestWeapon/SwordController.cs b/Assets/_Scripts/Core/Objects/Weapons/TestWeapon/SwordController.cs new file mode 100644 index 0000000000000000000000000000000000000000..2668ad7046a542c656075c47593894c032e624fa --- /dev/null +++ b/Assets/_Scripts/Core/Objects/Weapons/TestWeapon/SwordController.cs @@ -0,0 +1,18 @@ +using UnityEngine; + +public class SwordAnimationController : AnimationController +{ + private const string ALTERNATE_ATTACK_TRIGGER = "AlternateAttack_param"; + + private readonly Sword sword; + + public SwordAnimationController(Sword sword) : base(sword) + { + this.sword = sword; + } + + public void AnimateAlternateAttack() + { + animator.SetTrigger(ALTERNATE_ATTACK_TRIGGER); + } +} diff --git a/Assets/_Scripts/Core/Objects/Weapons/TestWeapon/SwordController.cs.meta b/Assets/_Scripts/Core/Objects/Weapons/TestWeapon/SwordController.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..cda782f720d6aab8e2d07c05d2d294868f93e6a4 --- /dev/null +++ b/Assets/_Scripts/Core/Objects/Weapons/TestWeapon/SwordController.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f3a64b3d0c80c0b48a46d8b0bc9ae5c6 \ No newline at end of file