diff --git a/Assets/Datas.meta b/Assets/Datas.meta new file mode 100644 index 0000000..f6fcc4c --- /dev/null +++ b/Assets/Datas.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e4032817e5ccaac4ab92376f4764e189 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Datas/Characters.meta b/Assets/Datas/Characters.meta new file mode 100644 index 0000000..5325176 --- /dev/null +++ b/Assets/Datas/Characters.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e40083204a797a946a8ab7d9b04eebe0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Datas/Characters/Character-Blue.asset b/Assets/Datas/Characters/Character-Blue.asset new file mode 100644 index 0000000..019361b --- /dev/null +++ b/Assets/Datas/Characters/Character-Blue.asset @@ -0,0 +1,15 @@ +%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: 6586e6eccc6a6524f8306b84b5bce41e, type: 3} + m_Name: Character-Blue + m_EditorClassIdentifier: + visual: {fileID: 787892284532640699, guid: fee6a0905f76ca9429469e6fc24d9152, type: 3} diff --git a/Assets/Datas/Characters/Character-Blue.asset.meta b/Assets/Datas/Characters/Character-Blue.asset.meta new file mode 100644 index 0000000..7973af1 --- /dev/null +++ b/Assets/Datas/Characters/Character-Blue.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 64632c3f35ba931498cb6403c3064410 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Datas/Characters/Character-Green.asset b/Assets/Datas/Characters/Character-Green.asset new file mode 100644 index 0000000..cd12a07 --- /dev/null +++ b/Assets/Datas/Characters/Character-Green.asset @@ -0,0 +1,15 @@ +%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: 6586e6eccc6a6524f8306b84b5bce41e, type: 3} + m_Name: Character-Green + m_EditorClassIdentifier: + visual: {fileID: 4837197990537739891, guid: a38b7af5e2dfcd14e8742dfa865ac642, type: 3} diff --git a/Assets/Datas/Characters/Character-Green.asset.meta b/Assets/Datas/Characters/Character-Green.asset.meta new file mode 100644 index 0000000..0f8cf93 --- /dev/null +++ b/Assets/Datas/Characters/Character-Green.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ed8b37ae4c6cc2e4ca39d8fdc571beca +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Datas/Characters/Character-Red.asset b/Assets/Datas/Characters/Character-Red.asset new file mode 100644 index 0000000..a28e82c --- /dev/null +++ b/Assets/Datas/Characters/Character-Red.asset @@ -0,0 +1,15 @@ +%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: 6586e6eccc6a6524f8306b84b5bce41e, type: 3} + m_Name: Character-Red + m_EditorClassIdentifier: + visual: {fileID: 5794434337033297906, guid: 0846afb1b6dd56049bc60c2f2398b00a, type: 3} diff --git a/Assets/Datas/Characters/Character-Red.asset.meta b/Assets/Datas/Characters/Character-Red.asset.meta new file mode 100644 index 0000000..0544e1a --- /dev/null +++ b/Assets/Datas/Characters/Character-Red.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 669eb3734bbebe24f8e7188e39e51011 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs.meta b/Assets/Prefabs.meta new file mode 100644 index 0000000..6cadf40 --- /dev/null +++ b/Assets/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4dc6d9e5317d00d488fa6840fba97bb3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/PlayerVisuals.meta b/Assets/Prefabs/PlayerVisuals.meta new file mode 100644 index 0000000..1fd5f04 --- /dev/null +++ b/Assets/Prefabs/PlayerVisuals.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8df9f7bd1e15a154d853311d826d899d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/PlayerVisuals/CharacterVisual-Blue.prefab b/Assets/Prefabs/PlayerVisuals/CharacterVisual-Blue.prefab new file mode 100644 index 0000000..4368f9e --- /dev/null +++ b/Assets/Prefabs/PlayerVisuals/CharacterVisual-Blue.prefab @@ -0,0 +1,203 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1783183207727006741 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 787892284532640699} + m_Layer: 0 + m_Name: CharacterVisual-Blue + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &787892284532640699 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1783183207727006741} + 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: 4036086214640701615} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2663764682251594756 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3275144836363472701} + - component: {fileID: 6284615445965209821} + m_Layer: 0 + m_Name: Visual (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3275144836363472701 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2663764682251594756} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.62, y: 0.253, z: 0} + m_LocalScale: {x: 0.45, y: 0.29, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4036086214640701615} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &6284615445965209821 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2663764682251594756} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 48e93eef0688c4a259cb0eddcd8661f7, type: 3} + m_Color: {r: 0, g: 0.88305783, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 2} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &6707317646362228807 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4036086214640701615} + - component: {fileID: 5083755763171380088} + m_Layer: 0 + m_Name: Visual + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4036086214640701615 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6707317646362228807} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.75, z: 0} + m_LocalScale: {x: 1, y: 1.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3275144836363472701} + m_Father: {fileID: 787892284532640699} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &5083755763171380088 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6707317646362228807} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 48e93eef0688c4a259cb0eddcd8661f7, type: 3} + m_Color: {r: 0, g: 0.88305783, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 2} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 diff --git a/Assets/Prefabs/PlayerVisuals/CharacterVisual-Blue.prefab.meta b/Assets/Prefabs/PlayerVisuals/CharacterVisual-Blue.prefab.meta new file mode 100644 index 0000000..bb16c23 --- /dev/null +++ b/Assets/Prefabs/PlayerVisuals/CharacterVisual-Blue.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: fee6a0905f76ca9429469e6fc24d9152 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/PlayerVisuals/CharacterVisual-Green.prefab b/Assets/Prefabs/PlayerVisuals/CharacterVisual-Green.prefab new file mode 100644 index 0000000..53e2a59 --- /dev/null +++ b/Assets/Prefabs/PlayerVisuals/CharacterVisual-Green.prefab @@ -0,0 +1,203 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1993324788531503186 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4837197990537739891} + m_Layer: 0 + m_Name: CharacterVisual-Green + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4837197990537739891 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1993324788531503186} + 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: 3576563661194587730} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5256027320013452675 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3576563661194587730} + - component: {fileID: 1109435541749200829} + m_Layer: 0 + m_Name: Visual + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3576563661194587730 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5256027320013452675} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.75, z: 0} + m_LocalScale: {x: 1, y: 1.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1792394368036494103} + m_Father: {fileID: 4837197990537739891} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1109435541749200829 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5256027320013452675} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 48e93eef0688c4a259cb0eddcd8661f7, type: 3} + m_Color: {r: 0.26517445, g: 0.9528302, b: 0.33259162, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 2} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &7110561435340823434 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1792394368036494103} + - component: {fileID: 7554617067811514921} + m_Layer: 0 + m_Name: Visual (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1792394368036494103 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7110561435340823434} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.62, y: 0.253, z: 0} + m_LocalScale: {x: 0.45, y: 0.29, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3576563661194587730} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &7554617067811514921 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7110561435340823434} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 48e93eef0688c4a259cb0eddcd8661f7, type: 3} + m_Color: {r: 0.26517445, g: 0.9528302, b: 0.33259162, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 2} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 diff --git a/Assets/Prefabs/PlayerVisuals/CharacterVisual-Green.prefab.meta b/Assets/Prefabs/PlayerVisuals/CharacterVisual-Green.prefab.meta new file mode 100644 index 0000000..cc9e18c --- /dev/null +++ b/Assets/Prefabs/PlayerVisuals/CharacterVisual-Green.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a38b7af5e2dfcd14e8742dfa865ac642 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/PlayerVisuals/CharacterVisual-Red.prefab b/Assets/Prefabs/PlayerVisuals/CharacterVisual-Red.prefab new file mode 100644 index 0000000..4d84ddc --- /dev/null +++ b/Assets/Prefabs/PlayerVisuals/CharacterVisual-Red.prefab @@ -0,0 +1,203 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &5187731018528474026 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5794434337033297906} + m_Layer: 0 + m_Name: CharacterVisual-Red + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5794434337033297906 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5187731018528474026} + 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: 1647310808306953429} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5507699080222957821 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6400452768594264178} + - component: {fileID: 9212676174070677413} + m_Layer: 0 + m_Name: Visual (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6400452768594264178 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5507699080222957821} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.62, y: 0.253, z: 0} + m_LocalScale: {x: 0.45, y: 0.29, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1647310808306953429} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &9212676174070677413 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5507699080222957821} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 48e93eef0688c4a259cb0eddcd8661f7, type: 3} + m_Color: {r: 0.8301887, g: 0.27644697, b: 0.20754717, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 2} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &9137876422307670354 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1647310808306953429} + - component: {fileID: 4031071687962598274} + m_Layer: 0 + m_Name: Visual + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1647310808306953429 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9137876422307670354} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.75, z: 0} + m_LocalScale: {x: 1, y: 1.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6400452768594264178} + m_Father: {fileID: 5794434337033297906} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &4031071687962598274 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9137876422307670354} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 48e93eef0688c4a259cb0eddcd8661f7, type: 3} + m_Color: {r: 0.8301887, g: 0.27644697, b: 0.20754717, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 2} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 diff --git a/Assets/Prefabs/PlayerVisuals/CharacterVisual-Red.prefab.meta b/Assets/Prefabs/PlayerVisuals/CharacterVisual-Red.prefab.meta new file mode 100644 index 0000000..6d3f5a2 --- /dev/null +++ b/Assets/Prefabs/PlayerVisuals/CharacterVisual-Red.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0846afb1b6dd56049bc60c2f2398b00a +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 006744f..103f022 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -342,90 +342,6 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &899502650 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 899502651} - - component: {fileID: 899502652} - m_Layer: 0 - m_Name: Visual (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &899502651 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 899502650} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.62, y: 0.253, z: 0} - m_LocalScale: {x: 0.45, y: 0.29, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1505234463} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!212 &899502652 -SpriteRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 899502650} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_Sprite: {fileID: 7482667652216324306, guid: 48e93eef0688c4a259cb0eddcd8661f7, type: 3} - m_Color: {r: 0, g: 0.88305783, b: 1, a: 1} - m_FlipX: 0 - m_FlipY: 0 - m_DrawMode: 0 - m_Size: {x: 1, y: 2} - m_AdaptiveModeThreshold: 0.5 - m_SpriteTileMode: 0 - m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 - m_SpriteSortPoint: 0 --- !u!1 &1094939059 GameObject: m_ObjectHideFlags: 0 @@ -485,7 +401,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d673274af6c36104abfc3cb26d0d9d80, type: 3} m_Name: m_EditorClassIdentifier: - visualTransform: {fileID: 1505234463} speed: 8 jumpVelocity: 40 groundLayer: @@ -493,6 +408,11 @@ MonoBehaviour: m_Bits: 64 groundDistance: 0.2 drawDebugRaycasts: 1 + characters: + - {fileID: 11400000, guid: 64632c3f35ba931498cb6403c3064410, type: 2} + - {fileID: 11400000, guid: ed8b37ae4c6cc2e4ca39d8fdc571beca, type: 2} + - {fileID: 11400000, guid: 669eb3734bbebe24f8e7188e39e51011, type: 2} + visualTransform: {fileID: 3771630860942019280} --- !u!114 &1094939062 MonoBehaviour: m_ObjectHideFlags: 0 @@ -518,7 +438,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 1505234463} + - {fileID: 3771630860942019280} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!61 &1094939064 @@ -724,91 +644,68 @@ BoxCollider2D: serializedVersion: 2 m_Size: {x: 1, y: 1} m_EdgeRadius: 0 ---- !u!1 &1505234462 -GameObject: +--- !u!1001 &3771630860942019279 +PrefabInstance: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1505234463} - - component: {fileID: 1505234464} - m_Layer: 0 - m_Name: Visual - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1505234463 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1505234462} serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0.75, z: 0} - m_LocalScale: {x: 1, y: 1.5, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 899502651} - m_Father: {fileID: 1094939063} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!212 &1505234464 -SpriteRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1094939063} + m_Modifications: + - target: {fileID: 787892284532640699, guid: fee6a0905f76ca9429469e6fc24d9152, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 787892284532640699, guid: fee6a0905f76ca9429469e6fc24d9152, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 787892284532640699, guid: fee6a0905f76ca9429469e6fc24d9152, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 787892284532640699, guid: fee6a0905f76ca9429469e6fc24d9152, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 787892284532640699, guid: fee6a0905f76ca9429469e6fc24d9152, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 787892284532640699, guid: fee6a0905f76ca9429469e6fc24d9152, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 787892284532640699, guid: fee6a0905f76ca9429469e6fc24d9152, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 787892284532640699, guid: fee6a0905f76ca9429469e6fc24d9152, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 787892284532640699, guid: fee6a0905f76ca9429469e6fc24d9152, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 787892284532640699, guid: fee6a0905f76ca9429469e6fc24d9152, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1783183207727006741, guid: fee6a0905f76ca9429469e6fc24d9152, type: 3} + propertyPath: m_Name + value: CharacterVisual-Blue + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: fee6a0905f76ca9429469e6fc24d9152, type: 3} +--- !u!4 &3771630860942019280 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 787892284532640699, guid: fee6a0905f76ca9429469e6fc24d9152, type: 3} + m_PrefabInstance: {fileID: 3771630860942019279} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1505234462} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_Sprite: {fileID: 7482667652216324306, guid: 48e93eef0688c4a259cb0eddcd8661f7, type: 3} - m_Color: {r: 0, g: 0.88305783, b: 1, a: 1} - m_FlipX: 0 - m_FlipY: 0 - m_DrawMode: 0 - m_Size: {x: 1, y: 2} - m_AdaptiveModeThreshold: 0.5 - m_SpriteTileMode: 0 - m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 - m_SpriteSortPoint: 0 --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Characters.meta b/Assets/Scripts/Characters.meta new file mode 100644 index 0000000..cfb82fb --- /dev/null +++ b/Assets/Scripts/Characters.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d85eb8e004d5fa94fb9e6c1edb7c87a0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Characters/CharacterSO.cs b/Assets/Scripts/Characters/CharacterSO.cs new file mode 100644 index 0000000..6f8c06a --- /dev/null +++ b/Assets/Scripts/Characters/CharacterSO.cs @@ -0,0 +1,11 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +[CreateAssetMenu(fileName = "Character", menuName = "ScriptableObjects/CharacterSO")] +public class CharacterSO : ScriptableObject +{ + [SerializeField] private Transform visual; + + public Transform Visual => visual; +} \ No newline at end of file diff --git a/Assets/Scripts/Characters/CharacterSO.cs.meta b/Assets/Scripts/Characters/CharacterSO.cs.meta new file mode 100644 index 0000000..aa6ad40 --- /dev/null +++ b/Assets/Scripts/Characters/CharacterSO.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6586e6eccc6a6524f8306b84b5bce41e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/GameInputs.cs b/Assets/Scripts/GameInputs.cs index c6d318d..bd5f1b3 100644 --- a/Assets/Scripts/GameInputs.cs +++ b/Assets/Scripts/GameInputs.cs @@ -44,6 +44,15 @@ public partial class @GameInputs: IInputActionCollection2, IDisposable ""processors"": """", ""interactions"": ""Press"", ""initialStateCheck"": false + }, + { + ""name"": ""ChangeCharacter"", + ""type"": ""Button"", + ""id"": ""43304c87-4c03-452f-9c43-3d902adc032e"", + ""expectedControlType"": ""Button"", + ""processors"": """", + ""interactions"": ""Press"", + ""initialStateCheck"": false } ], ""bindings"": [ @@ -134,6 +143,28 @@ public partial class @GameInputs: IInputActionCollection2, IDisposable ""action"": ""Movement"", ""isComposite"": false, ""isPartOfComposite"": false + }, + { + ""name"": """", + ""id"": ""733e7020-f05e-4c9e-9868-b4c3b3e8f69a"", + ""path"": ""/s"", + ""interactions"": """", + ""processors"": """", + ""groups"": """", + ""action"": ""ChangeCharacter"", + ""isComposite"": false, + ""isPartOfComposite"": false + }, + { + ""name"": """", + ""id"": ""ed774249-c11b-4b97-94b3-b1872a92b2f3"", + ""path"": ""/buttonEast"", + ""interactions"": """", + ""processors"": """", + ""groups"": """", + ""action"": ""ChangeCharacter"", + ""isComposite"": false, + ""isPartOfComposite"": false } ] } @@ -144,6 +175,7 @@ public partial class @GameInputs: IInputActionCollection2, IDisposable m_Player = asset.FindActionMap("Player", throwIfNotFound: true); m_Player_Movement = m_Player.FindAction("Movement", throwIfNotFound: true); m_Player_Jump = m_Player.FindAction("Jump", throwIfNotFound: true); + m_Player_ChangeCharacter = m_Player.FindAction("ChangeCharacter", throwIfNotFound: true); } public void Dispose() @@ -207,12 +239,14 @@ public partial class @GameInputs: IInputActionCollection2, IDisposable private List m_PlayerActionsCallbackInterfaces = new List(); private readonly InputAction m_Player_Movement; private readonly InputAction m_Player_Jump; + private readonly InputAction m_Player_ChangeCharacter; public struct PlayerActions { private @GameInputs m_Wrapper; public PlayerActions(@GameInputs wrapper) { m_Wrapper = wrapper; } public InputAction @Movement => m_Wrapper.m_Player_Movement; public InputAction @Jump => m_Wrapper.m_Player_Jump; + public InputAction @ChangeCharacter => m_Wrapper.m_Player_ChangeCharacter; public InputActionMap Get() { return m_Wrapper.m_Player; } public void Enable() { Get().Enable(); } public void Disable() { Get().Disable(); } @@ -228,6 +262,9 @@ public partial class @GameInputs: IInputActionCollection2, IDisposable @Jump.started += instance.OnJump; @Jump.performed += instance.OnJump; @Jump.canceled += instance.OnJump; + @ChangeCharacter.started += instance.OnChangeCharacter; + @ChangeCharacter.performed += instance.OnChangeCharacter; + @ChangeCharacter.canceled += instance.OnChangeCharacter; } private void UnregisterCallbacks(IPlayerActions instance) @@ -238,6 +275,9 @@ public partial class @GameInputs: IInputActionCollection2, IDisposable @Jump.started -= instance.OnJump; @Jump.performed -= instance.OnJump; @Jump.canceled -= instance.OnJump; + @ChangeCharacter.started -= instance.OnChangeCharacter; + @ChangeCharacter.performed -= instance.OnChangeCharacter; + @ChangeCharacter.canceled -= instance.OnChangeCharacter; } public void RemoveCallbacks(IPlayerActions instance) @@ -259,5 +299,6 @@ public partial class @GameInputs: IInputActionCollection2, IDisposable { void OnMovement(InputAction.CallbackContext context); void OnJump(InputAction.CallbackContext context); + void OnChangeCharacter(InputAction.CallbackContext context); } } diff --git a/Assets/Scripts/GameInputs.inputactions b/Assets/Scripts/GameInputs.inputactions index d7381dd..754a42d 100644 --- a/Assets/Scripts/GameInputs.inputactions +++ b/Assets/Scripts/GameInputs.inputactions @@ -22,6 +22,15 @@ "processors": "", "interactions": "Press", "initialStateCheck": false + }, + { + "name": "ChangeCharacter", + "type": "Button", + "id": "43304c87-4c03-452f-9c43-3d902adc032e", + "expectedControlType": "Button", + "processors": "", + "interactions": "Press", + "initialStateCheck": false } ], "bindings": [ @@ -112,6 +121,28 @@ "action": "Movement", "isComposite": false, "isPartOfComposite": false + }, + { + "name": "", + "id": "733e7020-f05e-4c9e-9868-b4c3b3e8f69a", + "path": "/s", + "interactions": "", + "processors": "", + "groups": "", + "action": "ChangeCharacter", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "ed774249-c11b-4b97-94b3-b1872a92b2f3", + "path": "/buttonEast", + "interactions": "", + "processors": "", + "groups": "", + "action": "ChangeCharacter", + "isComposite": false, + "isPartOfComposite": false } ] } diff --git a/Assets/Scripts/Players/PlayerInputHandler.cs b/Assets/Scripts/Players/PlayerInputHandler.cs index 391362c..ca69019 100644 --- a/Assets/Scripts/Players/PlayerInputHandler.cs +++ b/Assets/Scripts/Players/PlayerInputHandler.cs @@ -9,6 +9,8 @@ using UnityEngine.PlayerLoop; public class PlayerInputHandler : MonoBehaviour { public event EventHandler OnJumpTrigger; + public event EventHandler OnChangeCharacterTrigger; + public float MoveAxis { get; private set; } private GameInputs _input; @@ -32,7 +34,10 @@ public class PlayerInputHandler : MonoBehaviour private void Start() { - _input.Player.Jump.performed += (InputAction.CallbackContext obj) => OnJumpTrigger?.Invoke(this, EventArgs.Empty); + _input.Player.Jump.performed += (InputAction.CallbackContext obj) + => OnJumpTrigger?.Invoke(this, EventArgs.Empty); + _input.Player.ChangeCharacter.performed += (InputAction.CallbackContext obj) + => OnChangeCharacterTrigger?.Invoke(this, EventArgs.Empty); } private void Update() diff --git a/Assets/Scripts/Players/PlayerMain.cs b/Assets/Scripts/Players/PlayerMain.cs index 0e063ad..140dd11 100644 --- a/Assets/Scripts/Players/PlayerMain.cs +++ b/Assets/Scripts/Players/PlayerMain.cs @@ -1,12 +1,13 @@ using System; using System.Collections; using System.Collections.Generic; +using Unity.VisualScripting; using UnityEngine; public partial class PlayerMain : MonoBehaviour { public static PlayerMain Instance {get; private set;} - + private PlayerInputHandler _input; private Rigidbody2D _rigidbody2D; private BoxCollider2D _collider2D; @@ -31,9 +32,11 @@ public partial class PlayerMain : MonoBehaviour private void Start() { _input.OnJumpTrigger += Input_OnJumpTrigger; + _input.OnChangeCharacterTrigger += Input_OnChangeCharacterTrigger; + + UpdateCharacterVisual(); _footOffset = _collider2D.size.x / 2f; - _facingDir = visualTransform.localScale.x >= 0f ? 1f : -1f; } private void Update() diff --git a/Assets/Scripts/Players/PlayerMain_Animation.cs b/Assets/Scripts/Players/PlayerMain_Animation.cs deleted file mode 100644 index 0f44bac..0000000 --- a/Assets/Scripts/Players/PlayerMain_Animation.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public partial class PlayerMain -{ - [Header("Animation")] - [SerializeField] private Transform visualTransform; - - private const float THRESHOLD = 0.01f; - - private float _facingDir; - - private void FacingDir() - { - if (_facingDir * _input.MoveAxis > -THRESHOLD) - return; - - Vector3 scale = visualTransform.localScale; - _facingDir *= -1f; - scale.x *= -1f; - visualTransform.localScale = scale; - } -} \ No newline at end of file diff --git a/Assets/Scripts/Players/PlayerMain_Visual.cs b/Assets/Scripts/Players/PlayerMain_Visual.cs new file mode 100644 index 0000000..564c1c0 --- /dev/null +++ b/Assets/Scripts/Players/PlayerMain_Visual.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Serialization; + +public partial class PlayerMain +{ + [Header("Visual")] + [SerializeField] private List characters; + [SerializeField] private Transform visualTransform; + + private const float THRESHOLD = 0.01f; + + private float _facingDir = 1f; + private int _characterIndex; + + private void Input_OnChangeCharacterTrigger(object sender, EventArgs e) + { + _characterIndex = (_characterIndex + 1) % characters.Count; + UpdateCharacterVisual(); + } + + private void UpdateCharacterVisual() + { + if(visualTransform != null) + Destroy(visualTransform.gameObject); + + visualTransform = Instantiate(characters[_characterIndex].Visual, transform); + visualTransform.localPosition = Vector3.zero; + Vector3 scale = visualTransform.localScale; + scale.x *= _facingDir; + visualTransform.localScale = scale; + } + + private void FacingDir() + { + if (_facingDir * _input.MoveAxis > -THRESHOLD) + return; + + Vector3 scale = visualTransform.localScale; + _facingDir *= -1f; + scale.x *= -1f; + visualTransform.localScale = scale; + } +} \ No newline at end of file diff --git a/Assets/Scripts/Players/PlayerMain_Animation.cs.meta b/Assets/Scripts/Players/PlayerMain_Visual.cs.meta similarity index 100% rename from Assets/Scripts/Players/PlayerMain_Animation.cs.meta rename to Assets/Scripts/Players/PlayerMain_Visual.cs.meta