#255 거대 슬라임 작업 중
This commit is contained in:
parent
7d11851f52
commit
bcefdb679c
@ -386,6 +386,37 @@ Transform:
|
|||||||
- {fileID: 1732156238}
|
- {fileID: 1732156238}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1 &104997133
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 104997134}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: PlayerSpawn
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: -964228994112308473, guid: 0000000000000000d000000000000000, type: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &104997134
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 104997133}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: -5}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 1915017510}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &121245774
|
--- !u!1 &121245774
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -497,7 +528,39 @@ MonoBehaviour:
|
|||||||
_ConnectionHighLerp: {r: 1, g: 0, b: 0, a: 0.5}
|
_ConnectionHighLerp: {r: 1, g: 0, b: 0, a: 0.5}
|
||||||
_MeshEdgeColor: {r: 0, g: 0, b: 0, a: 0.5}
|
_MeshEdgeColor: {r: 0, g: 0, b: 0, a: 0.5}
|
||||||
_AreaColors: []
|
_AreaColors: []
|
||||||
tagNames: []
|
tagNames:
|
||||||
|
- Basic Ground
|
||||||
|
- 1
|
||||||
|
- 2
|
||||||
|
- 3
|
||||||
|
- 4
|
||||||
|
- 5
|
||||||
|
- 6
|
||||||
|
- 7
|
||||||
|
- 8
|
||||||
|
- 9
|
||||||
|
- 10
|
||||||
|
- 11
|
||||||
|
- 12
|
||||||
|
- 13
|
||||||
|
- 14
|
||||||
|
- 15
|
||||||
|
- 16
|
||||||
|
- 17
|
||||||
|
- 18
|
||||||
|
- 19
|
||||||
|
- 20
|
||||||
|
- 21
|
||||||
|
- 22
|
||||||
|
- 23
|
||||||
|
- 24
|
||||||
|
- 25
|
||||||
|
- 26
|
||||||
|
- 27
|
||||||
|
- 28
|
||||||
|
- 29
|
||||||
|
- 30
|
||||||
|
- 31
|
||||||
heuristic: 2
|
heuristic: 2
|
||||||
heuristicScale: 1
|
heuristicScale: 1
|
||||||
threadCount: 1
|
threadCount: 1
|
||||||
@ -2798,6 +2861,37 @@ CanvasRenderer:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 704479487}
|
m_GameObject: {fileID: 704479487}
|
||||||
m_CullTransparentMesh: 1
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!1 &729800709
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 729800710}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: BossSpawn
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 5132851093641282708, guid: 0000000000000000d000000000000000, type: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &729800710
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 729800709}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 5}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 1915017510}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &784283201
|
--- !u!1 &784283201
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -3576,80 +3670,6 @@ CanvasRenderer:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 793017943}
|
m_GameObject: {fileID: 793017943}
|
||||||
m_CullTransparentMesh: 0
|
m_CullTransparentMesh: 0
|
||||||
--- !u!1001 &818265830
|
|
||||||
PrefabInstance:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Modification:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TransformParent: {fileID: 1245399511}
|
|
||||||
m_Modifications:
|
|
||||||
- target: {fileID: 1907803032604947452, guid: 4f6f7700d35b9c3499d8ba66f5113e48,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_Name
|
|
||||||
value: Slime
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 8090463508496005930, guid: 4f6f7700d35b9c3499d8ba66f5113e48,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_LocalPosition.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 8090463508496005930, guid: 4f6f7700d35b9c3499d8ba66f5113e48,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_LocalPosition.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 8090463508496005930, guid: 4f6f7700d35b9c3499d8ba66f5113e48,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_LocalPosition.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 8090463508496005930, guid: 4f6f7700d35b9c3499d8ba66f5113e48,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_LocalRotation.w
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 8090463508496005930, guid: 4f6f7700d35b9c3499d8ba66f5113e48,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_LocalRotation.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 8090463508496005930, guid: 4f6f7700d35b9c3499d8ba66f5113e48,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_LocalRotation.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 8090463508496005930, guid: 4f6f7700d35b9c3499d8ba66f5113e48,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_LocalRotation.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 8090463508496005930, guid: 4f6f7700d35b9c3499d8ba66f5113e48,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 8090463508496005930, guid: 4f6f7700d35b9c3499d8ba66f5113e48,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 8090463508496005930, guid: 4f6f7700d35b9c3499d8ba66f5113e48,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
m_RemovedComponents: []
|
|
||||||
m_RemovedGameObjects: []
|
|
||||||
m_AddedGameObjects: []
|
|
||||||
m_AddedComponents: []
|
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 4f6f7700d35b9c3499d8ba66f5113e48, type: 3}
|
|
||||||
--- !u!4 &818265831 stripped
|
|
||||||
Transform:
|
|
||||||
m_CorrespondingSourceObject: {fileID: 8090463508496005930, guid: 4f6f7700d35b9c3499d8ba66f5113e48,
|
|
||||||
type: 3}
|
|
||||||
m_PrefabInstance: {fileID: 818265830}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
--- !u!1 &823586984
|
--- !u!1 &823586984
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -4677,6 +4697,7 @@ RectTransform:
|
|||||||
- {fileID: 6661296397982603978}
|
- {fileID: 6661296397982603978}
|
||||||
- {fileID: 1906451880}
|
- {fileID: 1906451880}
|
||||||
- {fileID: 1644675859}
|
- {fileID: 1644675859}
|
||||||
|
- {fileID: 1703985565}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
@ -5168,8 +5189,7 @@ Transform:
|
|||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children: []
|
||||||
- {fileID: 818265831}
|
|
||||||
m_Father: {fileID: 1915017510}
|
m_Father: {fileID: 1915017510}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &1256709750
|
--- !u!1 &1256709750
|
||||||
@ -7600,6 +7620,143 @@ Transform:
|
|||||||
type: 3}
|
type: 3}
|
||||||
m_PrefabInstance: {fileID: 1362034954}
|
m_PrefabInstance: {fileID: 1362034954}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!1 &1536485950
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1536485951}
|
||||||
|
- component: {fileID: 1536485953}
|
||||||
|
- component: {fileID: 1536485952}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Text (TMP)
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &1536485951
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1536485950}
|
||||||
|
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: 1703985565}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!114 &1536485952
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1536485950}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_text: "\uC2AC\uB77C\uC784"
|
||||||
|
m_isRightToLeft: 0
|
||||||
|
m_fontAsset: {fileID: 11400000, guid: dabfdeb80b25d44b4ace56414d0eb4ad, type: 2}
|
||||||
|
m_sharedMaterial: {fileID: 5657039867100983486, guid: dabfdeb80b25d44b4ace56414d0eb4ad,
|
||||||
|
type: 2}
|
||||||
|
m_fontSharedMaterials: []
|
||||||
|
m_fontMaterial: {fileID: 0}
|
||||||
|
m_fontMaterials: []
|
||||||
|
m_fontColor32:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4281479730
|
||||||
|
m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||||
|
m_enableVertexGradient: 0
|
||||||
|
m_colorMode: 3
|
||||||
|
m_fontColorGradient:
|
||||||
|
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_fontColorGradientPreset: {fileID: 0}
|
||||||
|
m_spriteAsset: {fileID: 0}
|
||||||
|
m_tintAllSprites: 0
|
||||||
|
m_StyleSheet: {fileID: 0}
|
||||||
|
m_TextStyleHashCode: -1183493901
|
||||||
|
m_overrideHtmlColors: 0
|
||||||
|
m_faceColor:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontSize: 27.6
|
||||||
|
m_fontSizeBase: 24
|
||||||
|
m_fontWeight: 400
|
||||||
|
m_enableAutoSizing: 1
|
||||||
|
m_fontSizeMin: 18
|
||||||
|
m_fontSizeMax: 72
|
||||||
|
m_fontStyle: 0
|
||||||
|
m_HorizontalAlignment: 2
|
||||||
|
m_VerticalAlignment: 512
|
||||||
|
m_textAlignment: 65535
|
||||||
|
m_characterSpacing: 0
|
||||||
|
m_wordSpacing: 0
|
||||||
|
m_lineSpacing: 0
|
||||||
|
m_lineSpacingMax: 0
|
||||||
|
m_paragraphSpacing: 0
|
||||||
|
m_charWidthMaxAdj: 0
|
||||||
|
m_TextWrappingMode: 1
|
||||||
|
m_wordWrappingRatios: 0.4
|
||||||
|
m_overflowMode: 0
|
||||||
|
m_linkedTextComponent: {fileID: 0}
|
||||||
|
parentLinkedComponent: {fileID: 0}
|
||||||
|
m_enableKerning: 0
|
||||||
|
m_ActiveFontFeatures: 6e72656b
|
||||||
|
m_enableExtraPadding: 0
|
||||||
|
checkPaddingRequired: 0
|
||||||
|
m_isRichText: 1
|
||||||
|
m_EmojiFallbackSupport: 1
|
||||||
|
m_parseCtrlCharacters: 1
|
||||||
|
m_isOrthographic: 1
|
||||||
|
m_isCullingEnabled: 0
|
||||||
|
m_horizontalMapping: 0
|
||||||
|
m_verticalMapping: 0
|
||||||
|
m_uvLineOffset: 0
|
||||||
|
m_geometrySortingOrder: 0
|
||||||
|
m_IsTextObjectScaleStatic: 0
|
||||||
|
m_VertexBufferAutoSizeReduction: 0
|
||||||
|
m_useMaxVisibleDescender: 1
|
||||||
|
m_pageToDisplay: 1
|
||||||
|
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_isUsingLegacyAnimationComponent: 0
|
||||||
|
m_isVolumetricText: 0
|
||||||
|
m_hasFontAssetChanged: 0
|
||||||
|
m_baseMaterial: {fileID: 0}
|
||||||
|
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
--- !u!222 &1536485953
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1536485950}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
--- !u!1 &1560091181
|
--- !u!1 &1560091181
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -8013,6 +8170,139 @@ MeshFilter:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1658435463}
|
m_GameObject: {fileID: 1658435463}
|
||||||
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
|
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
--- !u!1 &1703985564
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1703985565}
|
||||||
|
- component: {fileID: 1703985568}
|
||||||
|
- component: {fileID: 1703985567}
|
||||||
|
- component: {fileID: 1703985566}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: SlimeStageButton
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &1703985565
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1703985564}
|
||||||
|
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: 1536485951}
|
||||||
|
m_Father: {fileID: 1033584370}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 1, y: 1}
|
||||||
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
|
m_AnchoredPosition: {x: -10, y: -10}
|
||||||
|
m_SizeDelta: {x: 120, y: 40}
|
||||||
|
m_Pivot: {x: 1, y: 1}
|
||||||
|
--- !u!114 &1703985566
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1703985564}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Navigation:
|
||||||
|
m_Mode: 0
|
||||||
|
m_WrapAround: 0
|
||||||
|
m_SelectOnUp: {fileID: 0}
|
||||||
|
m_SelectOnDown: {fileID: 0}
|
||||||
|
m_SelectOnLeft: {fileID: 0}
|
||||||
|
m_SelectOnRight: {fileID: 0}
|
||||||
|
m_Transition: 1
|
||||||
|
m_Colors:
|
||||||
|
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||||
|
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||||
|
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||||
|
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||||
|
m_ColorMultiplier: 1
|
||||||
|
m_FadeDuration: 0.1
|
||||||
|
m_SpriteState:
|
||||||
|
m_HighlightedSprite: {fileID: 0}
|
||||||
|
m_PressedSprite: {fileID: 0}
|
||||||
|
m_SelectedSprite: {fileID: 0}
|
||||||
|
m_DisabledSprite: {fileID: 0}
|
||||||
|
m_AnimationTriggers:
|
||||||
|
m_NormalTrigger: Normal
|
||||||
|
m_HighlightedTrigger: Highlighted
|
||||||
|
m_PressedTrigger: Pressed
|
||||||
|
m_SelectedTrigger: Selected
|
||||||
|
m_DisabledTrigger: Disabled
|
||||||
|
m_Interactable: 1
|
||||||
|
m_TargetGraphic: {fileID: 1703985567}
|
||||||
|
m_OnClick:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls:
|
||||||
|
- m_Target: {fileID: 1915017511}
|
||||||
|
m_TargetAssemblyTypeName: SlimeBossMapController, Assembly-CSharp
|
||||||
|
m_MethodName: InitBossMap
|
||||||
|
m_Mode: 1
|
||||||
|
m_Arguments:
|
||||||
|
m_ObjectArgument: {fileID: 0}
|
||||||
|
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||||
|
m_IntArgument: 0
|
||||||
|
m_FloatArgument: 0
|
||||||
|
m_StringArgument:
|
||||||
|
m_BoolArgument: 0
|
||||||
|
m_CallState: 2
|
||||||
|
--- !u!114 &1703985567
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1703985564}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
m_Type: 1
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!222 &1703985568
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1703985564}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
--- !u!1 &1715186577
|
--- !u!1 &1715186577
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -9216,6 +9506,7 @@ GameObject:
|
|||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 1915017510}
|
- component: {fileID: 1915017510}
|
||||||
|
- component: {fileID: 1915017511}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: SlimeBossMap
|
m_Name: SlimeBossMap
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -9239,8 +9530,63 @@ Transform:
|
|||||||
- {fileID: 1994003675}
|
- {fileID: 1994003675}
|
||||||
- {fileID: 555715576}
|
- {fileID: 555715576}
|
||||||
- {fileID: 1245399511}
|
- {fileID: 1245399511}
|
||||||
|
- {fileID: 104997134}
|
||||||
|
- {fileID: 729800710}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &1915017511
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1915017509}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 9d736acd182e9d84484a4ff16ea608c6, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
playerSpawnTransform: {fileID: 104997134}
|
||||||
|
bossSpawnTransform: {fileID: 729800710}
|
||||||
|
bossInstantiateTransform: {fileID: 1245399511}
|
||||||
|
bossPrefab: {fileID: 5876525979198911062, guid: 4f6f7700d35b9c3499d8ba66f5113e48,
|
||||||
|
type: 3}
|
||||||
|
slimeStateList:
|
||||||
|
- <Level>k__BackingField: 1
|
||||||
|
<Size>k__BackingField: 10
|
||||||
|
<MaxHp>k__BackingField: 100
|
||||||
|
<Speed>k__BackingField: 1
|
||||||
|
<Range>k__BackingField: 4
|
||||||
|
<RandomCooldown>k__BackingField: {x: 1.5, y: 2}
|
||||||
|
<HasRabbit>k__BackingField: 1
|
||||||
|
- <Level>k__BackingField: 2
|
||||||
|
<Size>k__BackingField: 8
|
||||||
|
<MaxHp>k__BackingField: 70
|
||||||
|
<Speed>k__BackingField: 1.25
|
||||||
|
<Range>k__BackingField: 5
|
||||||
|
<RandomCooldown>k__BackingField: {x: 1.25, y: 1.75}
|
||||||
|
<HasRabbit>k__BackingField: 0
|
||||||
|
- <Level>k__BackingField: 3
|
||||||
|
<Size>k__BackingField: 6
|
||||||
|
<MaxHp>k__BackingField: 50
|
||||||
|
<Speed>k__BackingField: 1.5
|
||||||
|
<Range>k__BackingField: 6
|
||||||
|
<RandomCooldown>k__BackingField: {x: 1, y: 1.5}
|
||||||
|
<HasRabbit>k__BackingField: 0
|
||||||
|
- <Level>k__BackingField: 4
|
||||||
|
<Size>k__BackingField: 4
|
||||||
|
<MaxHp>k__BackingField: 30
|
||||||
|
<Speed>k__BackingField: 1.75
|
||||||
|
<Range>k__BackingField: 7
|
||||||
|
<RandomCooldown>k__BackingField: {x: 0.75, y: 1.25}
|
||||||
|
<HasRabbit>k__BackingField: 0
|
||||||
|
- <Level>k__BackingField: 5
|
||||||
|
<Size>k__BackingField: 2
|
||||||
|
<MaxHp>k__BackingField: 10
|
||||||
|
<Speed>k__BackingField: 2
|
||||||
|
<Range>k__BackingField: 8
|
||||||
|
<RandomCooldown>k__BackingField: {x: 0.5, y: 1}
|
||||||
|
<HasRabbit>k__BackingField: 0
|
||||||
--- !u!1 &1969962453
|
--- !u!1 &1969962453
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -18,6 +18,9 @@ namespace BlueWaterProject
|
|||||||
// Interfaces
|
// Interfaces
|
||||||
private IDashable iDashable;
|
private IDashable iDashable;
|
||||||
|
|
||||||
|
// Variables
|
||||||
|
private WaitForSeconds flashWhiteWaitTime;
|
||||||
|
|
||||||
// Hashes
|
// Hashes
|
||||||
private static readonly int IsHitHash = Shader.PropertyToID("_IsHit");
|
private static readonly int IsHitHash = Shader.PropertyToID("_IsHit");
|
||||||
|
|
||||||
@ -34,6 +37,7 @@ namespace BlueWaterProject
|
|||||||
OnChangedCurrentHp += heartHpUi.SetCurrentHp;
|
OnChangedCurrentHp += heartHpUi.SetCurrentHp;
|
||||||
|
|
||||||
propBlock = new MaterialPropertyBlock();
|
propBlock = new MaterialPropertyBlock();
|
||||||
|
flashWhiteWaitTime = new WaitForSeconds(0.05f);
|
||||||
SetCurrentHp(maxHp);
|
SetCurrentHp(maxHp);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,10 +102,10 @@ namespace BlueWaterProject
|
|||||||
spriteRenderer.GetPropertyBlock(propBlock);
|
spriteRenderer.GetPropertyBlock(propBlock);
|
||||||
propBlock.SetInt(IsHitHash, 1);
|
propBlock.SetInt(IsHitHash, 1);
|
||||||
spriteRenderer.SetPropertyBlock(propBlock);
|
spriteRenderer.SetPropertyBlock(propBlock);
|
||||||
yield return new WaitForSeconds(0.05f);
|
yield return flashWhiteWaitTime;
|
||||||
propBlock.SetInt(IsHitHash, 0);
|
propBlock.SetInt(IsHitHash, 0);
|
||||||
spriteRenderer.SetPropertyBlock(propBlock);
|
spriteRenderer.SetPropertyBlock(propBlock);
|
||||||
yield return new WaitForSeconds(0.05f);
|
yield return flashWhiteWaitTime;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
using System;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
// ReSharper disable once CheckNamespace
|
||||||
|
namespace BlueWaterProject
|
||||||
|
{
|
||||||
|
[Serializable]
|
||||||
|
public class SlimeState
|
||||||
|
{
|
||||||
|
[field: SerializeField] public int Level { get; set; }
|
||||||
|
[field: SerializeField] public float Size { get; set; }
|
||||||
|
[field: SerializeField] public float MaxHp { get; set; }
|
||||||
|
[field: SerializeField] public float Speed { get; set; }
|
||||||
|
[field: SerializeField] public float Range { get; set; }
|
||||||
|
[field: SerializeField] public Vector2 RandomCooldown { get; set; }
|
||||||
|
[field: SerializeField] public bool HasRabbit { get; set; }
|
||||||
|
|
||||||
|
public SlimeState(int level, float size, float maxHp, float speed, Vector2 randomCooldown, bool hasRabbit)
|
||||||
|
{
|
||||||
|
Level = level;
|
||||||
|
Size = size;
|
||||||
|
MaxHp = maxHp;
|
||||||
|
Speed = speed;
|
||||||
|
RandomCooldown = randomCooldown;
|
||||||
|
HasRabbit = hasRabbit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a8c2f390530f9ec479693c86e1b3d427
|
@ -1,19 +1,84 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using BehaviorDesigner.Runtime;
|
||||||
using Sirenix.OdinInspector;
|
using Sirenix.OdinInspector;
|
||||||
|
using UnityEditor.Animations;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using Random = UnityEngine.Random;
|
||||||
|
|
||||||
// ReSharper disable once CheckNamespace
|
// ReSharper disable once CheckNamespace
|
||||||
namespace BlueWaterProject
|
namespace BlueWaterProject
|
||||||
{
|
{
|
||||||
public class TitanSlime : FieldBoss
|
public enum TitanSlimeAnimationParameter
|
||||||
|
{
|
||||||
|
IS_JUMP_SLAM
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum TitanSlimeAnimationName
|
||||||
|
{
|
||||||
|
IDLE,
|
||||||
|
JUMP_SLAM
|
||||||
|
}
|
||||||
|
|
||||||
|
public class TitanSlime : MonoBehaviour, IDamageable, IAnimationStateController
|
||||||
{
|
{
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* Variables
|
* Variables
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
#region Variables
|
#region Variables
|
||||||
|
|
||||||
// 실시간 상태
|
// 컴포넌트
|
||||||
[Title("실시간 상태")]
|
[Title("컴포넌트")]
|
||||||
[SerializeField] private bool isMoving;
|
[SerializeField] private Rigidbody rb;
|
||||||
|
[SerializeField] private Collider col;
|
||||||
|
[SerializeField] private BehaviorTree behaviorTree;
|
||||||
|
[SerializeField] private Transform visualLook;
|
||||||
|
[field: SerializeField] public Animator Anim { get; set; }
|
||||||
|
[SerializeField] private SpriteRenderer spriteRenderer;
|
||||||
|
[SerializeField] private AnimatorController slimeController;
|
||||||
|
[SerializeField] private AnimatorController slimeRabbitController;
|
||||||
|
|
||||||
|
private IAnimationStateController iAnimationStateController;
|
||||||
|
private SlimeBossMapController mapController;
|
||||||
|
|
||||||
|
// 스탯
|
||||||
|
[field: Title("스탯")]
|
||||||
|
[field: SerializeField] public string BossName { get; private set; } = "거대 슬라임";
|
||||||
|
[SerializeField] private SlimeState slimeState;
|
||||||
|
[SerializeField] private float currentHp;
|
||||||
|
[SerializeField] private LayerMask targetLayer;
|
||||||
|
[SerializeField] private LayerMask groundLayer;
|
||||||
|
public float MaxHp => slimeState.MaxHp;
|
||||||
|
|
||||||
|
// 스킬
|
||||||
|
[Title("스킬")]
|
||||||
|
[SerializeField] private List<BaseSkill> skillList;
|
||||||
|
private List<BaseSkill> instanceSkillList;
|
||||||
|
|
||||||
|
// Variables
|
||||||
|
private Dictionary<TitanSlimeAnimationParameter, int> animationParameterHashDictionary = new();
|
||||||
|
private Dictionary<TitanSlimeAnimationName, int> animationNameHashDictionary = new();
|
||||||
|
|
||||||
|
private MaterialPropertyBlock propBlock;
|
||||||
|
private WaitForSeconds flashWhiteWaitTime;
|
||||||
|
private Coroutine flashWhiteCoroutine;
|
||||||
|
private Coroutine jumpSlamCoroutine;
|
||||||
|
private Collider[] hitColliders;
|
||||||
|
|
||||||
|
// Shader Hashes
|
||||||
|
private static readonly int IsHitHash = Shader.PropertyToID("_IsHit");
|
||||||
|
|
||||||
|
// Parameter hashes
|
||||||
|
private static readonly int IsJumpSlamHash = Animator.StringToHash("isJumpSlam");
|
||||||
|
|
||||||
|
// Animation name hashes
|
||||||
|
private static readonly int IdleHash = Animator.StringToHash("Idle");
|
||||||
|
private static readonly int JumpSlamHash = Animator.StringToHash("JumpSlam");
|
||||||
|
|
||||||
|
// events
|
||||||
|
public delegate void ChangedCurrentHp(float currentHp);
|
||||||
|
public event ChangedCurrentHp OnChangedCurrentHp;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@ -22,9 +87,25 @@ namespace BlueWaterProject
|
|||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
#region Unity Events
|
#region Unity Events
|
||||||
|
|
||||||
private void Update()
|
private void Awake()
|
||||||
{
|
{
|
||||||
MoveHandler();
|
InitComponent();
|
||||||
|
InitDictionary();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Start()
|
||||||
|
{
|
||||||
|
mapController = FindAnyObjectByType<SlimeBossMapController>();
|
||||||
|
propBlock = new MaterialPropertyBlock();
|
||||||
|
flashWhiteWaitTime = new WaitForSeconds(0.1f);
|
||||||
|
hitColliders = new Collider[1];
|
||||||
|
|
||||||
|
StartMove();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDestroy()
|
||||||
|
{
|
||||||
|
OnChangedCurrentHp -= UiManager.Inst.CombatUi.FieldBossHpSlider.UpdateHpSlider;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -33,7 +114,49 @@ namespace BlueWaterProject
|
|||||||
* Init Methods
|
* Init Methods
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
#region Init Methods
|
#region Init Methods
|
||||||
|
|
||||||
|
private void InitComponent()
|
||||||
|
{
|
||||||
|
rb = GetComponent<Rigidbody>();
|
||||||
|
col = GetComponent<Collider>();
|
||||||
|
behaviorTree = GetComponent<BehaviorTree>();
|
||||||
|
visualLook = transform.Find("VisualLook");
|
||||||
|
Anim = visualLook.GetComponent<Animator>();
|
||||||
|
spriteRenderer = visualLook.GetComponent<SpriteRenderer>();
|
||||||
|
|
||||||
|
iAnimationStateController = GetComponent<IAnimationStateController>();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitDictionary()
|
||||||
|
{
|
||||||
|
animationParameterHashDictionary = new Dictionary<TitanSlimeAnimationParameter, int>(Enum.GetValues(typeof(TitanSlimeAnimationParameter)).Length)
|
||||||
|
{
|
||||||
|
{ TitanSlimeAnimationParameter.IS_JUMP_SLAM, IsJumpSlamHash },
|
||||||
|
};
|
||||||
|
|
||||||
|
animationNameHashDictionary = new Dictionary<TitanSlimeAnimationName, int>(Enum.GetValues(typeof(TitanSlimeAnimationName)).Length)
|
||||||
|
{
|
||||||
|
{ TitanSlimeAnimationName.IDLE, IdleHash },
|
||||||
|
{ TitanSlimeAnimationName.JUMP_SLAM, JumpSlamHash },
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Init(SlimeState state, bool hasRabbit)
|
||||||
|
{
|
||||||
|
slimeState = state;
|
||||||
|
slimeState.HasRabbit = hasRabbit;
|
||||||
|
SetCurrentHp(slimeState.MaxHp);
|
||||||
|
transform.localScale = Vector3.one * slimeState.Size;
|
||||||
|
if (slimeState.HasRabbit)
|
||||||
|
{
|
||||||
|
Anim.runtimeAnimatorController = slimeRabbitController;
|
||||||
|
OnChangedCurrentHp += UiManager.Inst.CombatUi.FieldBossHpSlider.UpdateHpSlider;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Anim.runtimeAnimatorController = slimeController;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@ -41,31 +164,139 @@ namespace BlueWaterProject
|
|||||||
* Interfaces
|
* Interfaces
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
#region Interfaces
|
#region Interfaces
|
||||||
|
|
||||||
public override void Die()
|
// IDamageable
|
||||||
|
public void TakeDamage(float attackerPower, Vector3? attackPos = null)
|
||||||
{
|
{
|
||||||
isDead = true;
|
if (currentHp <= 0) return;
|
||||||
|
|
||||||
if (agent && agent.enabled)
|
var changeHp = Mathf.Max(currentHp - attackerPower, 0);
|
||||||
|
SetCurrentHp(changeHp);
|
||||||
|
|
||||||
|
// 죽었는지 체크
|
||||||
|
if (changeHp == 0f)
|
||||||
{
|
{
|
||||||
agent.velocity = Vector3.zero;
|
Die();
|
||||||
agent.isStopped = true;
|
return;
|
||||||
agent.enabled = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (rb)
|
|
||||||
{
|
|
||||||
rb.velocity = Vector3.zero;
|
|
||||||
rb.isKinematic = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (capsuleCollider && capsuleCollider.enabled)
|
|
||||||
{
|
|
||||||
capsuleCollider.isTrigger = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
animator.SetTrigger("isDead");
|
// 공격 당함
|
||||||
Destroy(gameObject, 2f);
|
if (spriteRenderer)
|
||||||
|
{
|
||||||
|
flashWhiteCoroutine = StartCoroutine(nameof(FlashWhiteCoroutine));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Die()
|
||||||
|
{
|
||||||
|
if (slimeState.Level <= 4)
|
||||||
|
{
|
||||||
|
mapController.SpawnSplitSlimes(transform.position, slimeState.Level + 1, slimeState.HasRabbit);
|
||||||
|
}
|
||||||
|
Destroy(gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
public float GetCurrentHp()
|
||||||
|
{
|
||||||
|
return currentHp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetCurrentHp(float value)
|
||||||
|
{
|
||||||
|
currentHp = value;
|
||||||
|
OnChangedCurrentHp?.Invoke(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
// IAnimationStateController
|
||||||
|
public void SetAnimationParameter<T>(T parameter, bool value) where T : Enum
|
||||||
|
{
|
||||||
|
if (parameter is TitanSlimeAnimationParameter enumParameter)
|
||||||
|
{
|
||||||
|
if (animationParameterHashDictionary.TryGetValue(enumParameter, out var hash))
|
||||||
|
{
|
||||||
|
Anim.SetBool(hash, value);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new KeyNotFoundException($"The parameter {parameter} was not found in the dictionary.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new ArgumentException("Invalid parameter type for SetAnimationParameter");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetAnimationParameter<T>(T parameter, int value) where T : Enum
|
||||||
|
{
|
||||||
|
if (parameter is TitanSlimeAnimationParameter enumParameter)
|
||||||
|
{
|
||||||
|
if (animationParameterHashDictionary.TryGetValue(enumParameter, out var hash))
|
||||||
|
{
|
||||||
|
Anim.SetInteger(hash, value);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new KeyNotFoundException($"The parameter {parameter} was not found in the dictionary.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new ArgumentException("Invalid parameter type for SetAnimationParameter");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetAnimationParameter<T>(T parameter, float value) where T : Enum
|
||||||
|
{
|
||||||
|
if (parameter is TitanSlimeAnimationParameter enumParameter)
|
||||||
|
{
|
||||||
|
if (animationParameterHashDictionary.TryGetValue(enumParameter, out var hash))
|
||||||
|
{
|
||||||
|
Anim.SetFloat(hash, value);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new KeyNotFoundException($"The parameter {parameter} was not found in the dictionary.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new ArgumentException("Invalid parameter type for SetAnimationParameter");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetAnimationTrigger<T>(T parameter) where T : Enum
|
||||||
|
{
|
||||||
|
if (parameter is TitanSlimeAnimationParameter enumParameter)
|
||||||
|
{
|
||||||
|
if (animationParameterHashDictionary.TryGetValue(enumParameter, out var hash))
|
||||||
|
{
|
||||||
|
Anim.SetTrigger(hash);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new KeyNotFoundException($"The parameter {parameter} was not found in the dictionary.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new ArgumentException("Invalid parameter type for SetAnimationParameter");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool IsComparingCurrentAnimation<T>(T animationName, int animatorLayer = 0) where T : Enum
|
||||||
|
{
|
||||||
|
if (animationName is not TitanSlimeAnimationName enumAnimationName)
|
||||||
|
{
|
||||||
|
throw new ArgumentException("Invalid parameter type for SetAnimationParameter");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (animationNameHashDictionary.TryGetValue(enumAnimationName, out var hash))
|
||||||
|
{
|
||||||
|
return Anim.GetCurrentAnimatorStateInfo(animatorLayer).shortNameHash == hash;
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new KeyNotFoundException($"The parameter {animationName} was not found in the dictionary.");
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -74,49 +305,117 @@ namespace BlueWaterProject
|
|||||||
* Methods
|
* Methods
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
#region Methods
|
#region Methods
|
||||||
|
|
||||||
public override void ActivateSkill(string skillName)
|
|
||||||
{
|
|
||||||
IsUsingSkill = true;
|
|
||||||
|
|
||||||
skillDictionary[skillName].SkillInputData.PreviousDirection = PreviousDirection;
|
|
||||||
skillDictionary[skillName].ActivateSkill(
|
|
||||||
() => IsUsingSkill = false,
|
|
||||||
() => PreviousDirection = GetTargetDirection());
|
|
||||||
}
|
|
||||||
|
|
||||||
private void MoveHandler()
|
|
||||||
{
|
|
||||||
if (agent)
|
|
||||||
{
|
|
||||||
//var localVelocity = transform.InverseTransformDirection(agent.velocity);
|
|
||||||
//var moveDirection = localVelocity.normalized;
|
|
||||||
|
|
||||||
var moveDirection = agent.enabled ? agent.velocity.normalized : rb.velocity.normalized;
|
|
||||||
|
|
||||||
isMoving = moveDirection != Vector3.zero;
|
|
||||||
animator.SetBool("isMoving", isMoving);
|
|
||||||
if (isMoving)
|
|
||||||
{
|
|
||||||
PreviousDirection = moveDirection;
|
|
||||||
}
|
|
||||||
animator.SetFloat("xDirection", PreviousDirection.x);
|
|
||||||
animator.SetFloat("zDirection", PreviousDirection.z);
|
|
||||||
|
|
||||||
FlipVisualLook(PreviousDirection.x);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void FlipVisualLook(float previousDirectionX)
|
private IEnumerator FlashWhiteCoroutine()
|
||||||
{
|
{
|
||||||
var localScale = visualLook.localScale;
|
spriteRenderer.GetPropertyBlock(propBlock);
|
||||||
localScale.x = previousDirectionX switch
|
propBlock.SetInt(IsHitHash, 1);
|
||||||
|
spriteRenderer.SetPropertyBlock(propBlock);
|
||||||
|
yield return flashWhiteWaitTime;
|
||||||
|
propBlock.SetInt(IsHitHash, 0);
|
||||||
|
spriteRenderer.SetPropertyBlock(propBlock);
|
||||||
|
yield return flashWhiteWaitTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void StartMove()
|
||||||
|
{
|
||||||
|
StartCoroutine(nameof(StartMoveCoroutine));
|
||||||
|
}
|
||||||
|
|
||||||
|
private IEnumerator StartMoveCoroutine()
|
||||||
|
{
|
||||||
|
var startPosition = transform.position;
|
||||||
|
var endPosition = CalculateRandomPosition(startPosition, 2f);
|
||||||
|
|
||||||
|
var elapsedTime = 0f;
|
||||||
|
while (elapsedTime <= slimeState.Speed)
|
||||||
{
|
{
|
||||||
> 0.01f => Mathf.Abs(localScale.x),
|
elapsedTime += Time.deltaTime;
|
||||||
< -0.01f => -Mathf.Abs(localScale.x),
|
transform.position = Vector3.Lerp(startPosition, endPosition,
|
||||||
_ => localScale.x
|
iAnimationStateController.GetCurrentAnimationNormalizedTime());
|
||||||
};
|
yield return null;
|
||||||
visualLook.localScale = localScale;
|
}
|
||||||
|
|
||||||
|
JumpSlam();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void JumpSlam()
|
||||||
|
{
|
||||||
|
if (currentHp <= 0) return;
|
||||||
|
|
||||||
|
jumpSlamCoroutine = StartCoroutine(nameof(JumpSlamCoroutine));
|
||||||
|
}
|
||||||
|
|
||||||
|
private IEnumerator JumpSlamCoroutine()
|
||||||
|
{
|
||||||
|
iAnimationStateController.SetAnimationParameter(TitanSlimeAnimationParameter.IS_JUMP_SLAM, true);
|
||||||
|
|
||||||
|
var animationStarted = false;
|
||||||
|
yield return StartCoroutine(iAnimationStateController.WaitForAnimationToRun(TitanSlimeAnimationName.JUMP_SLAM,
|
||||||
|
success => animationStarted = success));
|
||||||
|
|
||||||
|
if (!animationStarted)
|
||||||
|
{
|
||||||
|
EndJumpSlam(0);
|
||||||
|
yield break;
|
||||||
|
}
|
||||||
|
|
||||||
|
iAnimationStateController.SetCurrentAnimationSpeed(slimeState.Speed);
|
||||||
|
var startPosition = transform.position;
|
||||||
|
Vector3 endPosition;
|
||||||
|
var hitCount = Physics.OverlapSphereNonAlloc(startPosition, slimeState.Range, hitColliders, targetLayer);
|
||||||
|
if (hitCount >= 1)
|
||||||
|
{
|
||||||
|
endPosition = CalculateRandomPosition(hitColliders[0].transform.position, 1f);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
endPosition = CalculateRandomPosition(startPosition, 3f);
|
||||||
|
}
|
||||||
|
|
||||||
|
while (iAnimationStateController.IsComparingCurrentAnimation(TitanSlimeAnimationName.JUMP_SLAM) &&
|
||||||
|
iAnimationStateController.GetCurrentAnimationNormalizedTime() < 1f)
|
||||||
|
{
|
||||||
|
transform.position = Vector3.Lerp(startPosition, endPosition,
|
||||||
|
iAnimationStateController.GetCurrentAnimationNormalizedTime());
|
||||||
|
yield return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
var randomCooldown = Random.Range(slimeState.RandomCooldown.x, slimeState.RandomCooldown.y);
|
||||||
|
EndJumpSlam(randomCooldown);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void EndJumpSlam(float cooldown)
|
||||||
|
{
|
||||||
|
iAnimationStateController.ResetAnimationSpeed();
|
||||||
|
iAnimationStateController.SetAnimationParameter(TitanSlimeAnimationParameter.IS_JUMP_SLAM, false);
|
||||||
|
|
||||||
|
StartCoroutine(Utils.CoolDown(cooldown, JumpSlam));
|
||||||
|
}
|
||||||
|
|
||||||
|
private Vector3 CalculateRandomPosition(Vector3 startPosition, float range, int iterationCount = 50)
|
||||||
|
{
|
||||||
|
for (var i = 0; i < iterationCount; i++)
|
||||||
|
{
|
||||||
|
var randomPosition = startPosition + Random.insideUnitSphere * range;
|
||||||
|
randomPosition.y = startPosition.y;
|
||||||
|
|
||||||
|
if (!CheckMovablePosition(randomPosition)) continue;
|
||||||
|
|
||||||
|
return randomPosition;
|
||||||
|
}
|
||||||
|
|
||||||
|
return startPosition;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool CheckMovablePosition(Vector3 checkPosition)
|
||||||
|
{
|
||||||
|
if (Physics.Raycast(checkPosition, Vector3.down, 1f, groundLayer))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
57
BlueWater/Assets/02.Scripts/SlimeBossMapController.cs
Normal file
57
BlueWater/Assets/02.Scripts/SlimeBossMapController.cs
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using BlueWaterProject;
|
||||||
|
using Sirenix.OdinInspector;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
// ReSharper disable once CheckNamespace
|
||||||
|
public class SlimeBossMapController : MonoBehaviour
|
||||||
|
{
|
||||||
|
// 컴포넌트
|
||||||
|
[Title("컴포넌트")]
|
||||||
|
[SerializeField] private Transform playerSpawnTransform;
|
||||||
|
[SerializeField] private Transform bossSpawnTransform;
|
||||||
|
[SerializeField] private Transform bossInstantiateTransform;
|
||||||
|
[SerializeField] private TitanSlime bossPrefab;
|
||||||
|
[SerializeField] private List<SlimeState> slimeStateList = new(5);
|
||||||
|
|
||||||
|
private List<GameObject> bossInstanceList = new(10);
|
||||||
|
|
||||||
|
public void InitBossMap()
|
||||||
|
{
|
||||||
|
AllDestroyInstantiateObject();
|
||||||
|
bossInstanceList = new List<GameObject>(10);
|
||||||
|
|
||||||
|
var player = GameObject.FindWithTag("CombatPlayer");
|
||||||
|
if (player && playerSpawnTransform)
|
||||||
|
{
|
||||||
|
player.transform.position = playerSpawnTransform.position;
|
||||||
|
}
|
||||||
|
|
||||||
|
InstantiateSlime(bossSpawnTransform.position, 1, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InstantiateSlime(Vector3 instantiatePosition, int level, bool hasRabbit)
|
||||||
|
{
|
||||||
|
var instantiateBoss = Instantiate(bossPrefab, instantiatePosition, Quaternion.identity, bossInstantiateTransform);
|
||||||
|
var slimeState = slimeStateList.Find((list) => list.Level == level);
|
||||||
|
instantiateBoss.Init(slimeState, hasRabbit);
|
||||||
|
|
||||||
|
UiManager.Inst.CombatUi.FieldBossHpSlider.SetHpSlider(instantiateBoss.MaxHp, instantiateBoss.BossName);
|
||||||
|
|
||||||
|
bossInstanceList.Add(instantiateBoss.gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SpawnSplitSlimes(Vector3 deathPosition, int nextLevel, bool hasRabbit)
|
||||||
|
{
|
||||||
|
InstantiateSlime(deathPosition, nextLevel, hasRabbit);
|
||||||
|
InstantiateSlime(deathPosition, nextLevel, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AllDestroyInstantiateObject()
|
||||||
|
{
|
||||||
|
foreach (var element in bossInstanceList)
|
||||||
|
{
|
||||||
|
Destroy(element);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9d736acd182e9d84484a4ff16ea608c6
|
@ -14,7 +14,7 @@ GameObject:
|
|||||||
- component: {fileID: 5660425300834808149}
|
- component: {fileID: 5660425300834808149}
|
||||||
- component: {fileID: 5876525979198911062}
|
- component: {fileID: 5876525979198911062}
|
||||||
m_Layer: 13
|
m_Layer: 13
|
||||||
m_Name: SlimeRabbit
|
m_Name: Slime
|
||||||
m_TagString: FieldBoss
|
m_TagString: FieldBoss
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
@ -30,8 +30,8 @@ Transform:
|
|||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 10, y: 10, z: 10}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 1
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 695049024773443745}
|
- {fileID: 695049024773443745}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
@ -58,10 +58,10 @@ Rigidbody:
|
|||||||
m_Bits: 0
|
m_Bits: 0
|
||||||
m_ImplicitCom: 1
|
m_ImplicitCom: 1
|
||||||
m_ImplicitTensor: 1
|
m_ImplicitTensor: 1
|
||||||
m_UseGravity: 1
|
m_UseGravity: 0
|
||||||
m_IsKinematic: 1
|
m_IsKinematic: 0
|
||||||
m_Interpolate: 0
|
m_Interpolate: 0
|
||||||
m_Constraints: 112
|
m_Constraints: 116
|
||||||
m_CollisionDetection: 0
|
m_CollisionDetection: 0
|
||||||
--- !u!136 &1668494360487994466
|
--- !u!136 &1668494360487994466
|
||||||
CapsuleCollider:
|
CapsuleCollider:
|
||||||
@ -82,10 +82,10 @@ CapsuleCollider:
|
|||||||
m_ProvidesContacts: 0
|
m_ProvidesContacts: 0
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Radius: 1.5
|
m_Radius: 0.25
|
||||||
m_Height: 3
|
m_Height: 0.25
|
||||||
m_Direction: 1
|
m_Direction: 1
|
||||||
m_Center: {x: 0, y: 1.5, z: 0}
|
m_Center: {x: 0, y: 0.25, z: 0}
|
||||||
--- !u!114 &5660425300834808149
|
--- !u!114 &5660425300834808149
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -105,24 +105,22 @@ MonoBehaviour:
|
|||||||
logTaskChanges: 0
|
logTaskChanges: 0
|
||||||
group: 0
|
group: 0
|
||||||
resetValuesOnRestart: 0
|
resetValuesOnRestart: 0
|
||||||
externalBehavior: {fileID: 11400000, guid: d13d572258c1a34448812a8c0c0b54a1, type: 2}
|
externalBehavior: {fileID: 0}
|
||||||
mBehaviorSource:
|
mBehaviorSource:
|
||||||
behaviorName: Rhinoceros
|
behaviorName: TitanSlime
|
||||||
behaviorDescription:
|
behaviorDescription:
|
||||||
mTaskData:
|
mTaskData:
|
||||||
types: []
|
types: []
|
||||||
parentIndex:
|
parentIndex:
|
||||||
startIndex:
|
startIndex:
|
||||||
variableStartIndex:
|
variableStartIndex:
|
||||||
JSONSerialization: '{"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true,"GameObjectmValue":0},{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":"CurrentHp","IsShared":true,"PropertyMapping":"BlueWaterProject.Rhinoceros/CurrentHp","PropertyMappingOwner":1,"SinglemValue":0},{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"MovePoint","IsShared":true,"Vector3mValue":"(0,0,0)"},{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":"StoppingDistance","IsShared":true,"SinglemValue":0},{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"isStartBehavior","IsShared":true,"BooleanmValue":false}]}'
|
JSONSerialization: '{}'
|
||||||
fieldSerializationData:
|
fieldSerializationData:
|
||||||
typeName: []
|
typeName: []
|
||||||
fieldNameHash:
|
fieldNameHash:
|
||||||
startIndex:
|
startIndex:
|
||||||
dataPosition:
|
dataPosition:
|
||||||
unityObjects:
|
unityObjects: []
|
||||||
- {fileID: 1907803032604947452}
|
|
||||||
- {fileID: 1907803032604947452}
|
|
||||||
byteData:
|
byteData:
|
||||||
byteDataArray:
|
byteDataArray:
|
||||||
Version: 1.7.7
|
Version: 1.7.7
|
||||||
@ -140,25 +138,32 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 25f52002aaedd9f47a21029646c1feba, type: 3}
|
m_Script: {fileID: 11500000, guid: 25f52002aaedd9f47a21029646c1feba, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
rb: {fileID: 0}
|
rb: {fileID: 8142684666082997760}
|
||||||
capsuleCollider: {fileID: 0}
|
col: {fileID: 1668494360487994466}
|
||||||
agent: {fileID: 0}
|
behaviorTree: {fileID: 5660425300834808149}
|
||||||
behaviorTree: {fileID: 0}
|
visualLook: {fileID: 695049024773443745}
|
||||||
visualLook: {fileID: 0}
|
<Anim>k__BackingField: {fileID: 0}
|
||||||
animator: {fileID: 0}
|
spriteRenderer: {fileID: 8089310337301863899}
|
||||||
spriteRenderer: {fileID: 0}
|
slimeController: {fileID: 9100000, guid: 86a4cd4976c230e43ab5f86f49711ee8, type: 2}
|
||||||
<Name>k__BackingField: TitanSlime
|
slimeRabbitController: {fileID: 9100000, guid: 37338d4da60b9074897d606fa445d255,
|
||||||
<MaxHp>k__BackingField: 500
|
type: 2}
|
||||||
moveSpeed: 1
|
<BossName>k__BackingField: "\uAC70\uB300 \uC2AC\uB77C\uC784"
|
||||||
|
slimeState:
|
||||||
|
<Level>k__BackingField: 0
|
||||||
|
<Size>k__BackingField: 0
|
||||||
|
<MaxHp>k__BackingField: 0
|
||||||
|
<Speed>k__BackingField: 0
|
||||||
|
<RandomCooldown>k__BackingField: {x: 0, y: 0}
|
||||||
|
<HasRabbit>k__BackingField: 0
|
||||||
|
currentHp: 0
|
||||||
|
targetRange: 3
|
||||||
targetLayer:
|
targetLayer:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Bits: 512
|
m_Bits: 512
|
||||||
flashWhiteTime: 0.1
|
groundLayer:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 8
|
||||||
skillList: []
|
skillList: []
|
||||||
<CurrentHp>k__BackingField: 0
|
|
||||||
<Target>k__BackingField: {fileID: 0}
|
|
||||||
<IsUsingSkill>k__BackingField: 0
|
|
||||||
isMoving: 0
|
|
||||||
--- !u!1 &5250888242721872286
|
--- !u!1 &5250888242721872286
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -187,7 +192,7 @@ Transform:
|
|||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 5, y: 5, z: 5}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 1
|
m_ConstrainProportionsScale: 1
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 8090463508496005930}
|
m_Father: {fileID: 8090463508496005930}
|
Loading…
Reference in New Issue
Block a user