Character can shoot porjectile now

This commit is contained in:
Samir Badi 2023-11-02 10:09:02 -04:00
parent 8ffc3bf763
commit d5297951cf
22 changed files with 844 additions and 34 deletions

View File

@ -13,3 +13,4 @@ MonoBehaviour:
m_Name: Character-Blue
m_EditorClassIdentifier:
visual: {fileID: -4413060711985458707, guid: fee6a0905f76ca9429469e6fc24d9152, type: 3}
regularProjectilePrefab: {fileID: 5606404166462406291, guid: d0ade2ab60fd7554885b86bfb438aa05, type: 3}

View File

@ -13,3 +13,4 @@ MonoBehaviour:
m_Name: Character-Green
m_EditorClassIdentifier:
visual: {fileID: 3720866698639095966, guid: a38b7af5e2dfcd14e8742dfa865ac642, type: 3}
regularProjectilePrefab: {fileID: 6591282292413975965, guid: c506f904fbe6e8448967526166195cce, type: 3}

View File

@ -13,3 +13,4 @@ MonoBehaviour:
m_Name: Character-Red
m_EditorClassIdentifier:
visual: {fileID: -4496310365104306180, guid: 0846afb1b6dd56049bc60c2f2398b00a, type: 3}
regularProjectilePrefab: {fileID: 1219787284255607918, guid: 1ec7c3e183303ca40b6b04f30e49d276, type: 3}

View File

@ -31,6 +31,8 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4036086214640701615}
- {fileID: 8793694557818063381}
- {fileID: 3050366982735027224}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &-4413060711985458707
@ -45,7 +47,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 4224d6107d5e7894693e80f4571e0d59, type: 3}
m_Name:
m_EditorClassIdentifier:
shootingPoint: {fileID: 0}
horizontalShootingPoint: {fileID: 8793694557818063381}
verticalShootingPoint: {fileID: 3050366982735027224}
--- !u!1 &2663764682251594756
GameObject:
m_ObjectHideFlags: 0
@ -215,3 +218,65 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &7037229623299904324
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3050366982735027224}
m_Layer: 0
m_Name: VerticalShootingPoint
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3050366982735027224
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7037229623299904324}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068}
m_LocalPosition: {x: -0.003, y: 1.497, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 787892284532640699}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}
--- !u!1 &7463298282596956399
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8793694557818063381}
m_Layer: 0
m_Name: HorizontalShootingPoint
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8793694557818063381
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7463298282596956399}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0.845, y: 0.912, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 787892284532640699}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

View File

@ -31,6 +31,8 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3576563661194587730}
- {fileID: 7853943446845806742}
- {fileID: 4152505961465364833}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &3720866698639095966
@ -45,7 +47,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 4224d6107d5e7894693e80f4571e0d59, type: 3}
m_Name:
m_EditorClassIdentifier:
shootingPoint: {fileID: 0}
horizontalShootingPoint: {fileID: 7853943446845806742}
verticalShootingPoint: {fileID: 4152505961465364833}
--- !u!1 &5256027320013452675
GameObject:
m_ObjectHideFlags: 0
@ -131,6 +134,37 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &6497007267761885982
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7853943446845806742}
m_Layer: 0
m_Name: HorizontalShootingPoint
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7853943446845806742
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6497007267761885982}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.845, y: 0.477, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4837197990537739891}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &7110561435340823434
GameObject:
m_ObjectHideFlags: 0
@ -215,3 +249,34 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &8785705008738564328
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4152505961465364833}
m_Layer: 0
m_Name: VerticalShootingPoint
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4152505961465364833
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8785705008738564328}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: 0.7071068, w: 0.7071068}
m_LocalPosition: {x: -0.003, y: 1.497, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4837197990537739891}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}

View File

@ -1,5 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2985372611902022605
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5389837615321668340}
m_Layer: 0
m_Name: HorizontalShootingPoint
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5389837615321668340
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2985372611902022605}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.845, y: 1.343, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5794434337033297906}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &5187731018528474026
GameObject:
m_ObjectHideFlags: 0
@ -31,6 +62,8 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1647310808306953429}
- {fileID: 5389837615321668340}
- {fileID: 6310539930048001117}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &-4496310365104306180
@ -45,7 +78,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 4224d6107d5e7894693e80f4571e0d59, type: 3}
m_Name:
m_EditorClassIdentifier:
shootingPoint: {fileID: 0}
horizontalShootingPoint: {fileID: 5389837615321668340}
verticalShootingPoint: {fileID: 6310539930048001117}
--- !u!1 &5507699080222957821
GameObject:
m_ObjectHideFlags: 0
@ -130,6 +164,37 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &8258451163462482886
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6310539930048001117}
m_Layer: 0
m_Name: VerticalShootingPoint
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6310539930048001117
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8258451163462482886}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: 0.7071068, w: 0.7071068}
m_LocalPosition: {x: -0.003, y: 1.497, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5794434337033297906}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}
--- !u!1 &9137876422307670354
GameObject:
m_ObjectHideFlags: 0

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e23dce616254f8c408701d8aa0669632
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,167 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &597591406047118283
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2534199754902221427}
- component: {fileID: 4926445913320951471}
m_Layer: 0
m_Name: Circle
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2534199754902221427
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 597591406047118283}
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: []
m_Father: {fileID: 1555364246203066298}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &4926445913320951471
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 597591406047118283}
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: -2413806693520163455, guid: a86470a33a6bf42c4b3595704624658b, type: 3}
m_Color: {r: 0, g: 1, b: 0.9452326, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &8603746644562697894
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1555364246203066298}
- component: {fileID: 5606404166462406291}
- component: {fileID: 1364856365888286577}
m_Layer: 0
m_Name: Circle-RP
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1555364246203066298
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8603746644562697894}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.2, y: 0.2, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 2534199754902221427}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &5606404166462406291
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8603746644562697894}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6248fad7f71a61746a1495a8766cb4a1, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!58 &1364856365888286577
CircleCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8603746644562697894}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_ForceSendLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ForceReceiveLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ContactCaptureLayers:
serializedVersion: 2
m_Bits: 4294967295
m_CallbackLayers:
serializedVersion: 2
m_Bits: 4294967295
m_IsTrigger: 1
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
serializedVersion: 2
m_Radius: 0.5

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: d0ade2ab60fd7554885b86bfb438aa05
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,177 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2873158214941298327
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1415657121511947187}
- component: {fileID: 1219787284255607918}
- component: {fileID: 4278561378677756187}
m_Layer: 0
m_Name: Square-RP
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1415657121511947187
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2873158214941298327}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.2, y: 0.2, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3876144162908948735}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1219787284255607918
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2873158214941298327}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6248fad7f71a61746a1495a8766cb4a1, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!61 &4278561378677756187
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2873158214941298327}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_ForceSendLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ForceReceiveLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ContactCaptureLayers:
serializedVersion: 2
m_Bits: 4294967295
m_CallbackLayers:
serializedVersion: 2
m_Bits: 4294967295
m_IsTrigger: 1
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0, y: 0}
oldSize: {x: 0, y: 0}
newSize: {x: 0, y: 0}
adaptiveTilingThreshold: 0
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
serializedVersion: 2
m_Size: {x: 1, y: 1}
m_EdgeRadius: 0
--- !u!1 &5308200993837681289
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3876144162908948735}
- component: {fileID: 5041279135132562652}
m_Layer: 0
m_Name: Visual
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3876144162908948735
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5308200993837681289}
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: []
m_Father: {fileID: 1415657121511947187}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &5041279135132562652
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5308200993837681289}
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: 311925a002f4447b3a28927169b83ea6, type: 3}
m_Color: {r: 1, g: 0.6227779, b: 0, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 1ec7c3e183303ca40b6b04f30e49d276
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,180 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3325356939141929016
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5001935234956304478}
- component: {fileID: 6591282292413975965}
- component: {fileID: 3735751291904609908}
m_Layer: 0
m_Name: Triangle-RP
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5001935234956304478
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3325356939141929016}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.2, y: 0.2, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 6570784811530364164}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &6591282292413975965
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3325356939141929016}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6248fad7f71a61746a1495a8766cb4a1, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!60 &3735751291904609908
PolygonCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3325356939141929016}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_ForceSendLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ForceReceiveLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ContactCaptureLayers:
serializedVersion: 2
m_Bits: 4294967295
m_CallbackLayers:
serializedVersion: 2
m_Bits: 4294967295
m_IsTrigger: 1
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0, y: 0}
oldSize: {x: 0, y: 0}
newSize: {x: 0, y: 0}
adaptiveTilingThreshold: 0
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
m_Points:
m_Paths:
- - {x: 0.6, y: 0}
- {x: -0.3, y: 0.525}
- {x: -0.3, y: -0.525}
m_UseDelaunayMesh: 0
--- !u!1 &5713042779864278770
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6570784811530364164}
- component: {fileID: 8357649188641906963}
m_Layer: 0
m_Name: Visual
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6570784811530364164
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5713042779864278770}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: -0.7071068, w: 0.7071068}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5001935234956304478}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: -90}
--- !u!212 &8357649188641906963
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5713042779864278770}
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: 75f5f34dc1b5347e0b8351032682f224, type: 3}
m_Color: {r: 0.29910004, g: 1, b: 0, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: c506f904fbe6e8448967526166195cce
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -533,8 +533,11 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: d673274af6c36104abfc3cb26d0d9d80, type: 3}
m_Name:
m_EditorClassIdentifier:
characters:
- {fileID: 11400000, guid: 64632c3f35ba931498cb6403c3064410, type: 2}
- {fileID: 11400000, guid: ed8b37ae4c6cc2e4ca39d8fdc571beca, type: 2}
- {fileID: 11400000, guid: 669eb3734bbebe24f8e7188e39e51011, type: 2}
character: {fileID: 3771630860942019281}
shootingPoint: {fileID: 0}
speed: 8
jumpVelocity: 40
groundLayer:
@ -542,10 +545,6 @@ 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}
--- !u!114 &1094939062
MonoBehaviour:
m_ObjectHideFlags: 0

View File

@ -4,7 +4,9 @@ using UnityEngine;
public class CharacterObject : MonoBehaviour
{
[SerializeField] private Transform shootingPoint;
[SerializeField] private Transform horizontalShootingPoint;
[SerializeField] private Transform verticalShootingPoint;
public Transform GetShootingPoint() => shootingPoint;
public Transform GetHorizontalShootingPoint() => horizontalShootingPoint;
public Transform GetVerticalShootingPoint() => verticalShootingPoint;
}

View File

@ -6,6 +6,8 @@ using UnityEngine;
public class CharacterSO : ScriptableObject
{
[SerializeField] private CharacterObject visual;
[SerializeField] private RegularProjectile regularProjectilePrefab;
public CharacterObject Visual => visual;
public RegularProjectile GetRegularProjectile() => regularProjectilePrefab;
}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f3ed91e683d092c4ab3f067189e9f246
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,28 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RegularProjectile : MonoBehaviour
{
private const float LIVE_TIME = 15f;
private float _speed;
private void Start()
{
Destroy(gameObject, LIVE_TIME);
}
private void Update()
{
transform.position += transform.right * (_speed * Time.deltaTime);
}
public void SetSpeed(float speed) => _speed = speed;
private void OnTriggerEnter2D(Collider2D other)
{
if(other.gameObject != PlayerMain.Instance.gameObject)
Destroy(gameObject);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 6248fad7f71a61746a1495a8766cb4a1
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -8,12 +8,14 @@ public partial class PlayerMain : MonoBehaviour
{
public static PlayerMain Instance {get; private set;}
[SerializeField] private List<CharacterSO> characters;
[SerializeField] private CharacterObject character;
private PlayerInputHandler _input;
private Rigidbody2D _rigidbody2D;
private BoxCollider2D _collider2D;
private CharacterSO _characterSO;
private int _characterIndex;
private void Awake()
{
@ -36,8 +38,8 @@ public partial class PlayerMain : MonoBehaviour
_input.OnJumpTrigger += Input_OnJumpTrigger;
_input.OnChangeCharacterTrigger += Input_OnChangeCharacterTrigger;
_input.OnRegularAttackTrigger += Input_OnRegularAttackTrigger;
UpdateCharacterVisual();
UpdateCharacter();
_footOffset = _collider2D.size.x / 2f;
}
@ -52,4 +54,16 @@ public partial class PlayerMain : MonoBehaviour
MovementHandler();
FacingDir();
}
private void Input_OnChangeCharacterTrigger(object sender, EventArgs e)
{
_characterIndex = (_characterIndex + 1) % characters.Count;
UpdateCharacter();
}
private void UpdateCharacter()
{
_characterSO = characters[_characterIndex];
UpdateCharacterVisual();
}
}

View File

@ -5,11 +5,16 @@ using UnityEngine;
public partial class PlayerMain
{
[Header("Attack")]
[SerializeField] private Transform shootingPoint;
private void Input_OnRegularAttackTrigger(object sender, EventArgs e)
{
RegularProjectile projectile = Instantiate(_characterSO.GetRegularProjectile(),
character.GetHorizontalShootingPoint().position,
Quaternion.identity);
projectile.transform.right = _facingDir > 0 ? transform.right : -transform.right;
projectile.SetSpeed(15f);
}
}

View File

@ -6,20 +6,10 @@ using UnityEngine.Serialization;
public partial class PlayerMain
{
[Header("Visual")]
[SerializeField] private List<CharacterSO> characters;
private const float THRESHOLD = 0.01f;
private Transform _visualTransform;
private Transform _characterVisualTransform;
private float _facingDir = 1f;
private int _characterIndex;
private void Input_OnChangeCharacterTrigger(object sender, EventArgs e)
{
_characterIndex = (_characterIndex + 1) % characters.Count;
UpdateCharacterVisual();
}
private void UpdateCharacterVisual()
{
@ -27,11 +17,11 @@ public partial class PlayerMain
Destroy(character.gameObject);
character = Instantiate(characters[_characterIndex].Visual, transform);
_visualTransform = character.transform;
_visualTransform.localPosition = Vector3.zero;
Vector3 scale = _visualTransform.localScale;
_characterVisualTransform = character.transform;
_characterVisualTransform.localPosition = Vector3.zero;
Vector3 scale = _characterVisualTransform.localScale;
scale.x *= _facingDir;
_visualTransform.localScale = scale;
_characterVisualTransform.localScale = scale;
}
private void FacingDir()
@ -39,9 +29,9 @@ public partial class PlayerMain
if (_facingDir * _input.MoveAxis > -THRESHOLD)
return;
Vector3 scale = _visualTransform.localScale;
Vector3 scale = _characterVisualTransform.localScale;
_facingDir *= -1f;
scale.x *= -1f;
_visualTransform.localScale = scale;
_characterVisualTransform.localScale = scale;
}
}