feat: 플레이어 자원/액션바 HUD 분리 및 긴급회피 슬롯 추가
This commit is contained in:
File diff suppressed because it is too large
Load Diff
1020
Assets/_Game/Prefabs/UI/UI_ActionBar.prefab
Normal file
1020
Assets/_Game/Prefabs/UI/UI_ActionBar.prefab
Normal file
File diff suppressed because it is too large
Load Diff
7
Assets/_Game/Prefabs/UI/UI_ActionBar.prefab.meta
Normal file
7
Assets/_Game/Prefabs/UI/UI_ActionBar.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 49cc51b51d25b2e4f85ceec039fb545c
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
1396
Assets/_Game/Prefabs/UI/UI_ActionBar_EvadeItem.prefab
Normal file
1396
Assets/_Game/Prefabs/UI/UI_ActionBar_EvadeItem.prefab
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 57e5d30f9d5f9724eba1a18f03be3889
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -88,81 +88,6 @@ MonoBehaviour:
|
||||
rawImage: {fileID: 8524252734736764718}
|
||||
speed: {x: -0.1, y: 0}
|
||||
size: {x: 256, y: 64}
|
||||
--- !u!1 &887616750182392209
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 9180799155483852847}
|
||||
- component: {fileID: 2815095170849506622}
|
||||
- component: {fileID: 3077997186489176163}
|
||||
m_Layer: 5
|
||||
m_Name: SPR_Greeble_Demon
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &9180799155483852847
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 887616750182392209}
|
||||
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: 7303605616070184167}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 39.1}
|
||||
m_SizeDelta: {x: 180, y: 90}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &2815095170849506622
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 887616750182392209}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &3077997186489176163
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 887616750182392209}
|
||||
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: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 0
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 21300000, guid: 238e31403ddb5f04c92a6a6edcda17f5, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 1
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &1833205063244138202
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -172,7 +97,7 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1384280946776679044}
|
||||
- component: {fileID: 7123456789012345678}
|
||||
- component: {fileID: 2655491180900726042}
|
||||
m_Layer: 5
|
||||
m_Name: UI_BossHealthBar
|
||||
m_TagString: Untagged
|
||||
@@ -187,9 +112,9 @@ RectTransform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1833205063244138202}
|
||||
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_LocalScale: {x: 0.8, y: 0.8, z: 0.8}
|
||||
m_LocalScale: {x: 0.72, y: 0.72, z: 0.72}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 7303605616070184167}
|
||||
@@ -198,8 +123,26 @@ RectTransform:
|
||||
m_AnchorMin: {x: 0.5, y: 1}
|
||||
m_AnchorMax: {x: 0.5, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: -200}
|
||||
m_SizeDelta: {x: 1000, y: 40}
|
||||
m_SizeDelta: {x: 920, y: 36}
|
||||
m_Pivot: {x: 0.5, y: 1}
|
||||
--- !u!114 &2655491180900726042
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1833205063244138202}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 892f9842e85256b47b24e0aab016820b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Colosseum.Game::Colosseum.UI.BossHealthBarUI
|
||||
healthSlider: {fileID: 1229044099469274636}
|
||||
healthText: {fileID: 6434164023740824016}
|
||||
bossNameText: {fileID: 7053117599274393893}
|
||||
targetBoss: {fileID: 0}
|
||||
hideOnDeath: 1
|
||||
lerpSpeed: 15
|
||||
--- !u!1 &5163086717113548400
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -378,7 +321,6 @@ RectTransform:
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 9180799155483852847}
|
||||
- {fileID: 5303515918785520477}
|
||||
- {fileID: 7061785310460012807}
|
||||
- {fileID: 822400900121516796}
|
||||
@@ -409,19 +351,23 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1990594193549166204, guid: 9aea4cf6dad33b1419c4597a344a2e92, type: 3}
|
||||
propertyPath: m_fontSize
|
||||
value: 43.9
|
||||
value: 42
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1990594193549166204, guid: 9aea4cf6dad33b1419c4597a344a2e92, type: 3}
|
||||
propertyPath: m_fontSizeMax
|
||||
value: 56
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1990594193549166204, guid: 9aea4cf6dad33b1419c4597a344a2e92, type: 3}
|
||||
propertyPath: m_fontSizeBase
|
||||
value: 42
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1990594193549166204, guid: 9aea4cf6dad33b1419c4597a344a2e92, type: 3}
|
||||
propertyPath: m_sharedMaterial
|
||||
value:
|
||||
objectReference: {fileID: 2100000, guid: a3063f2d22ae4ba44828c3885272eaf2, type: 2}
|
||||
- target: {fileID: 1990594193549166204, guid: 9aea4cf6dad33b1419c4597a344a2e92, type: 3}
|
||||
propertyPath: m_enableAutoSizing
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1990594193549166204, guid: 9aea4cf6dad33b1419c4597a344a2e92, type: 3}
|
||||
propertyPath: m_VerticalAlignment
|
||||
@@ -568,6 +514,17 @@ PrefabInstance:
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 9aea4cf6dad33b1419c4597a344a2e92, type: 3}
|
||||
--- !u!114 &6434164023740824016 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 1990594193549166204, guid: 9aea4cf6dad33b1419c4597a344a2e92, type: 3}
|
||||
m_PrefabInstance: {fileID: 4821873919640174508}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!224 &8872377597972643978 stripped
|
||||
RectTransform:
|
||||
m_CorrespondingSourceObject: {fileID: 4164625289371221798, guid: 9aea4cf6dad33b1419c4597a344a2e92, type: 3}
|
||||
@@ -581,6 +538,94 @@ PrefabInstance:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 7303605616070184167}
|
||||
m_Modifications:
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_Pivot.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: -50
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 100
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: -20
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 43
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3420556218193743673, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_text
|
||||
value: John the Impaler
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3420556218193743673, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_fontSize
|
||||
value: 42
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3420556218193743673, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_fontSizeMax
|
||||
value: 56
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3420556218193743673, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_fontSizeBase
|
||||
value: 42
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3420556218193743673, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_sharedMaterial
|
||||
value:
|
||||
objectReference: {fileID: 2100000, guid: a3063f2d22ae4ba44828c3885272eaf2, type: 2}
|
||||
- target: {fileID: 3420556218193743673, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_enableAutoSizing
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3420556218193743673, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_HorizontalAlignment
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3420556218193743673, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
|
||||
value: 1801810542
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4546473359128379108, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Label_BossName
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 378538600947842191, guid: 289e34102b96a4515a667a4f636007c0, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Label_BossName
|
||||
@@ -669,99 +714,22 @@ PrefabInstance:
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_Pivot.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: -50
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 100
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: -20
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 43
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3420556218193743673, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_text
|
||||
value: John the Impaler
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3420556218193743673, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_fontSize
|
||||
value: 56
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3420556218193743673, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_fontSizeMax
|
||||
value: 56
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3420556218193743673, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_fontSizeBase
|
||||
value: 56
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3420556218193743673, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_sharedMaterial
|
||||
value:
|
||||
objectReference: {fileID: 2100000, guid: a3063f2d22ae4ba44828c3885272eaf2, type: 2}
|
||||
- target: {fileID: 3420556218193743673, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_enableAutoSizing
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3420556218193743673, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_HorizontalAlignment
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3420556218193743673, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
|
||||
value: 1801810542
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4546473359128379108, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Label_BossName
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
--- !u!114 &7053117599274393893 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 3420556218193743673, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
m_PrefabInstance: {fileID: 5663827212940307996}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!224 &7543839057773374457 stripped
|
||||
RectTransform:
|
||||
m_CorrespondingSourceObject: {fileID: 2749708641982727653, guid: 0ed0a70e5a4682c4c9e105178800133f, type: 3}
|
||||
@@ -963,6 +931,17 @@ PrefabInstance:
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 1310706873006053288}
|
||||
m_SourcePrefab: {fileID: 100100000, guid: f7b3a50e852da2c40b98f9d4cf10e289, type: 3}
|
||||
--- !u!114 &1229044099469274636 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 7156924125190553902, guid: f7b3a50e852da2c40b98f9d4cf10e289, type: 3}
|
||||
m_PrefabInstance: {fileID: 8240726994871906082}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3264878362326918023}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &1416821347091459177 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 7058686565070685003, guid: f7b3a50e852da2c40b98f9d4cf10e289, type: 3}
|
||||
|
||||
2133
Assets/_Game/Prefabs/UI/UI_PlayerResources.prefab
Normal file
2133
Assets/_Game/Prefabs/UI/UI_PlayerResources.prefab
Normal file
File diff suppressed because it is too large
Load Diff
7
Assets/_Game/Prefabs/UI/UI_PlayerResources.prefab.meta
Normal file
7
Assets/_Game/Prefabs/UI/UI_PlayerResources.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6a6d1b384d7c82f49802f1650bb34b40
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -17,7 +17,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &7251707132790510
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -279,7 +279,7 @@ RectTransform:
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 1000, y: 160}
|
||||
m_SizeDelta: {x: 700, y: 140}
|
||||
m_Pivot: {x: 0.5, y: 0}
|
||||
--- !u!114 &5745543168284002773
|
||||
MonoBehaviour:
|
||||
@@ -313,7 +313,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &638920959796156018
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -407,8 +407,8 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 60}
|
||||
m_SizeDelta: {x: 0, y: 40}
|
||||
m_AnchoredPosition: {x: 0, y: 82}
|
||||
m_SizeDelta: {x: -80, y: 40}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &4521187534841194808
|
||||
MonoBehaviour:
|
||||
@@ -424,7 +424,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier: Colosseum.Game::Colosseum.UI.StatBar
|
||||
slider: {fileID: 6171176470312880999}
|
||||
fillImage: {fileID: 4865039855673322941}
|
||||
valueText: {fileID: 7606115145092636445}
|
||||
valueText: {fileID: 4278009329655597422}
|
||||
fullColor: {r: 1, g: 0, b: 0, a: 1}
|
||||
lowColor: {r: 1, g: 0, b: 0, a: 1}
|
||||
lowThreshold: 0.3
|
||||
@@ -448,7 +448,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &4250423574011084299
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -547,7 +547,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 1325, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 0.5}
|
||||
--- !u!114 &7673766168690170142
|
||||
@@ -609,6 +609,7 @@ MonoBehaviour:
|
||||
- {fileID: 1423210892419994845}
|
||||
- {fileID: 7830658735294947559}
|
||||
- {fileID: 6568354020171798426}
|
||||
debugMode: 1
|
||||
keyLabels:
|
||||
- L
|
||||
- R
|
||||
@@ -816,8 +817,8 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 20}
|
||||
m_SizeDelta: {x: 0, y: 40}
|
||||
m_AnchoredPosition: {x: 0, y: 30}
|
||||
m_SizeDelta: {x: -80, y: 40}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &4622408951537218836
|
||||
MonoBehaviour:
|
||||
@@ -972,6 +973,10 @@ PrefabInstance:
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7980170689800973879, guid: 10b369200a4505640bea81594ae56cb8, type: 3}
|
||||
propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
|
||||
value: 1801810542
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7997306272064920525, guid: 10b369200a4505640bea81594ae56cb8, type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
value: 0
|
||||
@@ -1108,17 +1113,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!114 &7606115145092636445 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 7980170689800973879, guid: 10b369200a4505640bea81594ae56cb8, type: 3}
|
||||
m_PrefabInstance: {fileID: 518225783641420074}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1001 &1397865734090967693
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1135,6 +1129,10 @@ PrefabInstance:
|
||||
propertyPath: m_Name
|
||||
value: ActionBar_Item (4)
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4888074778808592692, guid: 553b74bdb60f6af47b5d2c8928a2af07, type: 3}
|
||||
propertyPath: m_Enabled
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5866635796840437353, guid: 553b74bdb60f6af47b5d2c8928a2af07, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
@@ -1872,6 +1870,17 @@ RectTransform:
|
||||
m_CorrespondingSourceObject: {fileID: 4164625289371221798, guid: 9aea4cf6dad33b1419c4597a344a2e92, type: 3}
|
||||
m_PrefabInstance: {fileID: 2377487249451896594}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &4278009329655597422 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 1990594193549166204, guid: 9aea4cf6dad33b1419c4597a344a2e92, type: 3}
|
||||
m_PrefabInstance: {fileID: 2377487249451896594}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1001 &2660882964466318832
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1888,6 +1897,10 @@ PrefabInstance:
|
||||
propertyPath: m_Name
|
||||
value: ActionBar_Item (5)
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4888074778808592692, guid: 553b74bdb60f6af47b5d2c8928a2af07, type: 3}
|
||||
propertyPath: m_Enabled
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5866635796840437353, guid: 553b74bdb60f6af47b5d2c8928a2af07, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
@@ -2029,6 +2042,10 @@ PrefabInstance:
|
||||
propertyPath: m_Name
|
||||
value: ActionBar_Item (2)
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4888074778808592692, guid: 553b74bdb60f6af47b5d2c8928a2af07, type: 3}
|
||||
propertyPath: m_Enabled
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5866635796840437353, guid: 553b74bdb60f6af47b5d2c8928a2af07, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
@@ -2371,6 +2388,10 @@ PrefabInstance:
|
||||
propertyPath: m_Name
|
||||
value: ActionBar_Item (1)
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4888074778808592692, guid: 553b74bdb60f6af47b5d2c8928a2af07, type: 3}
|
||||
propertyPath: m_Enabled
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5866635796840437353, guid: 553b74bdb60f6af47b5d2c8928a2af07, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
@@ -2512,6 +2533,10 @@ PrefabInstance:
|
||||
propertyPath: m_Name
|
||||
value: ActionBar_Item
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4888074778808592692, guid: 553b74bdb60f6af47b5d2c8928a2af07, type: 3}
|
||||
propertyPath: m_Enabled
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5866635796840437353, guid: 553b74bdb60f6af47b5d2c8928a2af07, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
@@ -2653,6 +2678,10 @@ PrefabInstance:
|
||||
propertyPath: m_Name
|
||||
value: ActionBar_Item (3)
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4888074778808592692, guid: 553b74bdb60f6af47b5d2c8928a2af07, type: 3}
|
||||
propertyPath: m_Enabled
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5866635796840437353, guid: 553b74bdb60f6af47b5d2c8928a2af07, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
|
||||
@@ -11,25 +11,193 @@ namespace Colosseum.UI
|
||||
public class SkillQuickSlotUI : MonoBehaviour
|
||||
{
|
||||
[Header("Skill Slots")]
|
||||
[Tooltip("6개의 스킬 슬롯 UI (인덱스 순서대로)")]
|
||||
[SerializeField] private SkillSlotUI[] skillSlots = new SkillSlotUI[6];
|
||||
[Tooltip("표시 순서대로 배치된 스킬 슬롯 UI")]
|
||||
[SerializeField] private SkillSlotUI[] skillSlots = new SkillSlotUI[7];
|
||||
|
||||
[Header("Debug")]
|
||||
[SerializeField] private bool debugMode = false;
|
||||
|
||||
[Header("Display Order")]
|
||||
[Tooltip("UI 슬롯 순서가 참조할 실제 스킬 슬롯 인덱스")]
|
||||
[SerializeField] private int[] slotMappings = { 6, 0, 1, 2, 3, 4, 5 };
|
||||
|
||||
[Header("Keybind Labels")]
|
||||
[Tooltip("키바인딩 표시 텍스트 (기본: Q, W, E, R, A, S)")]
|
||||
[SerializeField] private string[] keyLabels = { "Q", "W", "E", "R", "A", "S" };
|
||||
[Tooltip("키바인딩 표시 텍스트")]
|
||||
[SerializeField] private string[] keyLabels = { "Ctrl", "L", "R", "1", "2", "3", "4" };
|
||||
|
||||
private PlayerSkillInput playerSkillInput;
|
||||
private PlayerNetworkController networkController;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
AutoCollectSkillSlots();
|
||||
}
|
||||
|
||||
private void OnValidate()
|
||||
{
|
||||
AutoCollectSkillSlots();
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
// 로컬 플레이어 찾기
|
||||
FindLocalPlayer();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 자식 슬롯을 자동 수집해 프리팹 중첩 구조 변경에도 참조가 유지되도록 합니다.
|
||||
/// </summary>
|
||||
private void AutoCollectSkillSlots()
|
||||
{
|
||||
SkillSlotUI[] foundSlots = GetComponentsInChildren<SkillSlotUI>(true);
|
||||
if (foundSlots == null || foundSlots.Length == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (skillSlots == null || skillSlots.Length != foundSlots.Length)
|
||||
{
|
||||
skillSlots = foundSlots;
|
||||
return;
|
||||
}
|
||||
|
||||
for (int i = 0; i < foundSlots.Length; i++)
|
||||
{
|
||||
if (skillSlots[i] != foundSlots[i])
|
||||
{
|
||||
skillSlots = foundSlots;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
EnsureDisplayConfig();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 슬롯 수 변경이나 프리팹 구조 변경 시 기본 표시 구성을 복구합니다.
|
||||
/// </summary>
|
||||
private void EnsureDisplayConfig()
|
||||
{
|
||||
int slotCount = skillSlots != null ? skillSlots.Length : 0;
|
||||
if (slotCount <= 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (!IsValidSlotMappings(slotMappings, slotCount))
|
||||
{
|
||||
slotMappings = BuildDefaultSlotMappings(slotCount);
|
||||
}
|
||||
|
||||
if (keyLabels == null || keyLabels.Length != slotCount)
|
||||
{
|
||||
keyLabels = BuildDefaultKeyLabels(slotCount);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 7칸 액션바는 긴급회피를 맨 왼쪽에 두고, 나머지는 기본 스킬 순서를 유지합니다.
|
||||
/// </summary>
|
||||
private static int[] BuildDefaultSlotMappings(int slotCount)
|
||||
{
|
||||
int[] defaultMappings = new int[slotCount];
|
||||
|
||||
if (slotCount == 7)
|
||||
{
|
||||
defaultMappings[0] = 6;
|
||||
for (int i = 1; i < slotCount; i++)
|
||||
{
|
||||
defaultMappings[i] = i - 1;
|
||||
}
|
||||
|
||||
return defaultMappings;
|
||||
}
|
||||
|
||||
for (int i = 0; i < slotCount; i++)
|
||||
{
|
||||
defaultMappings[i] = i;
|
||||
}
|
||||
|
||||
return defaultMappings;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 기본 키 라벨을 슬롯 수에 맞춰 생성합니다.
|
||||
/// </summary>
|
||||
private static string[] BuildDefaultKeyLabels(int slotCount)
|
||||
{
|
||||
if (slotCount == 7)
|
||||
{
|
||||
return new[] { "Ctrl", "L", "R", "1", "2", "3", "4" };
|
||||
}
|
||||
|
||||
string[] defaultLabels = new string[slotCount];
|
||||
for (int i = 0; i < slotCount; i++)
|
||||
{
|
||||
defaultLabels[i] = (i + 1).ToString();
|
||||
}
|
||||
|
||||
return defaultLabels;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 표시 매핑이 현재 슬롯 수에 대해 유효한지 검사합니다.
|
||||
/// </summary>
|
||||
private static bool IsValidSlotMappings(int[] mappings, int slotCount)
|
||||
{
|
||||
if (mappings == null || mappings.Length != slotCount)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool[] usedIndices = new bool[slotCount];
|
||||
for (int i = 0; i < mappings.Length; i++)
|
||||
{
|
||||
int mappedIndex = mappings[i];
|
||||
if (mappedIndex < 0 || mappedIndex >= slotCount || usedIndices[mappedIndex])
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
usedIndices[mappedIndex] = true;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// UI 인덱스를 실제 플레이어 스킬 슬롯 인덱스로 변환합니다.
|
||||
/// </summary>
|
||||
private int GetMappedSlotIndex(int displayIndex)
|
||||
{
|
||||
EnsureDisplayConfig();
|
||||
|
||||
if (displayIndex < 0 || displayIndex >= slotMappings.Length)
|
||||
{
|
||||
return displayIndex;
|
||||
}
|
||||
|
||||
return slotMappings[displayIndex];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 실제 슬롯 인덱스를 표시 슬롯 인덱스로 역변환합니다.
|
||||
/// </summary>
|
||||
private int GetDisplayIndex(int slotIndex)
|
||||
{
|
||||
EnsureDisplayConfig();
|
||||
|
||||
for (int i = 0; i < slotMappings.Length; i++)
|
||||
{
|
||||
if (slotMappings[i] == slotIndex)
|
||||
{
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
private void FindLocalPlayer()
|
||||
{
|
||||
var players = FindObjectsByType<PlayerSkillInput>(FindObjectsSortMode.None);
|
||||
@@ -57,17 +225,19 @@ namespace Colosseum.UI
|
||||
|
||||
private void InitializeSlots()
|
||||
{
|
||||
AutoCollectSkillSlots();
|
||||
if (playerSkillInput == null) return;
|
||||
|
||||
int initializedCount = 0;
|
||||
for (int i = 0; i < skillSlots.Length && i < keyLabels.Length; i++)
|
||||
for (int i = 0; i < skillSlots.Length; i++)
|
||||
{
|
||||
SkillData skill = playerSkillInput.GetSkill(i);
|
||||
int mappedSlotIndex = GetMappedSlotIndex(i);
|
||||
SkillData skill = playerSkillInput.GetSkill(mappedSlotIndex);
|
||||
string keyLabel = i < keyLabels.Length ? keyLabels[i] : (i + 1).ToString();
|
||||
|
||||
if (skillSlots[i] != null)
|
||||
{
|
||||
skillSlots[i].Initialize(i, skill, keyLabel);
|
||||
skillSlots[i].Initialize(mappedSlotIndex, skill, keyLabel);
|
||||
if (skill != null) initializedCount++;
|
||||
}
|
||||
else
|
||||
@@ -102,16 +272,17 @@ namespace Colosseum.UI
|
||||
{
|
||||
if (skillSlots[i] == null) continue;
|
||||
|
||||
SkillData skill = playerSkillInput.GetSkill(i);
|
||||
int mappedSlotIndex = GetMappedSlotIndex(i);
|
||||
SkillData skill = playerSkillInput.GetSkill(mappedSlotIndex);
|
||||
if (skill == null) continue;
|
||||
|
||||
float remainingCooldown = playerSkillInput.GetRemainingCooldown(i);
|
||||
float remainingCooldown = playerSkillInput.GetRemainingCooldown(mappedSlotIndex);
|
||||
float totalCooldown = skill.Cooldown;
|
||||
bool hasEnoughMana = networkController == null || networkController.Mana >= skill.ManaCost;
|
||||
|
||||
if (shouldLog && remainingCooldown > 0f)
|
||||
{
|
||||
Debug.Log($"[SkillQuickSlotUI] Slot {i}: {skill.SkillName}, CD: {remainingCooldown:F1}/{totalCooldown:F1}");
|
||||
Debug.Log($"[SkillQuickSlotUI] Slot {mappedSlotIndex}: {skill.SkillName}, CD: {remainingCooldown:F1}/{totalCooldown:F1}");
|
||||
}
|
||||
|
||||
skillSlots[i].UpdateState(remainingCooldown, totalCooldown, hasEnoughMana);
|
||||
@@ -133,10 +304,13 @@ namespace Colosseum.UI
|
||||
/// </summary>
|
||||
public void UpdateSkillSlot(int slotIndex, SkillData skill)
|
||||
{
|
||||
if (slotIndex < 0 || slotIndex >= skillSlots.Length) return;
|
||||
AutoCollectSkillSlots();
|
||||
|
||||
string keyLabel = slotIndex < keyLabels.Length ? keyLabels[slotIndex] : (slotIndex + 1).ToString();
|
||||
skillSlots[slotIndex].Initialize(slotIndex, skill, keyLabel);
|
||||
int displayIndex = GetDisplayIndex(slotIndex);
|
||||
if (displayIndex < 0 || displayIndex >= skillSlots.Length) return;
|
||||
|
||||
string keyLabel = displayIndex < keyLabels.Length ? keyLabels[displayIndex] : (displayIndex + 1).ToString();
|
||||
skillSlots[displayIndex].Initialize(slotIndex, skill, keyLabel);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user