feat: 스킬 편집 UI 내의 스킬 슬롯, 스킬 정보 클릭 액션 적용
This commit is contained in:
BIN
Gameton-06/Assets/Gameton/Art/Custom Inventory/inventory_select_long_ver.png
LFS
Normal file
BIN
Gameton-06/Assets/Gameton/Art/Custom Inventory/inventory_select_long_ver.png
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,127 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d38d0eab2a70b9245868a06c5d63f4ba
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 0
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -1,74 +1,76 @@
|
|||||||
[
|
{
|
||||||
{
|
"items": [
|
||||||
"id": "K0001",
|
{
|
||||||
"name": "FireBall",
|
"id": "K0001",
|
||||||
"mpConsumption": 10,
|
"name": "FireBall",
|
||||||
"damage": 1.2,
|
"mpConsumption": 10,
|
||||||
"coolDown": 5,
|
"damage": 1.2000000476837159,
|
||||||
"slotNumber": 1,
|
"coolDown": 5,
|
||||||
"requiredLevel": 1
|
"slotNumber": 0,
|
||||||
},
|
"requiredLevel": 1
|
||||||
{
|
},
|
||||||
"id": "K0002",
|
{
|
||||||
"name": "IceBall",
|
"id": "K0002",
|
||||||
"mpConsumption": 12,
|
"name": "IceBall",
|
||||||
"damage": 1.3,
|
"mpConsumption": 12,
|
||||||
"coolDown": 6,
|
"damage": 1.2999999523162842,
|
||||||
"slotNumber": 2,
|
"coolDown": 6,
|
||||||
"requiredLevel": 3
|
"slotNumber": 1,
|
||||||
},
|
"requiredLevel": 3
|
||||||
{
|
},
|
||||||
"id": "K0003",
|
{
|
||||||
"name": "Leaf Shuriken",
|
"id": "K0003",
|
||||||
"mpConsumption": 7,
|
"name": "Leaf Shuriken",
|
||||||
"damage": 1.15,
|
"mpConsumption": 7,
|
||||||
"coolDown": 3,
|
"damage": 1.149999976158142,
|
||||||
"slotNumber": 0,
|
"coolDown": 3,
|
||||||
"requiredLevel": 5
|
"slotNumber": 0,
|
||||||
},
|
"requiredLevel": 5
|
||||||
{
|
},
|
||||||
"id": "K0004",
|
{
|
||||||
"name": "Earth Smash",
|
"id": "K0004",
|
||||||
"mpConsumption": 20,
|
"name": "Earth Smash",
|
||||||
"damage": 1.8,
|
"mpConsumption": 20,
|
||||||
"coolDown": 15,
|
"damage": 1.7999999523162842,
|
||||||
"slotNumber": 0,
|
"coolDown": 15,
|
||||||
"requiredLevel": 7
|
"slotNumber": 0,
|
||||||
},
|
"requiredLevel": 7
|
||||||
{
|
},
|
||||||
"id": "K0005",
|
{
|
||||||
"name": "Bubble POP",
|
"id": "K0005",
|
||||||
"mpConsumption": 5,
|
"name": "Bubble POP",
|
||||||
"damage": 1.15,
|
"mpConsumption": 5,
|
||||||
"coolDown": 2,
|
"damage": 1.149999976158142,
|
||||||
"slotNumber": 0,
|
"coolDown": 2,
|
||||||
"requiredLevel": 9
|
"slotNumber": 0,
|
||||||
},
|
"requiredLevel": 9
|
||||||
{
|
},
|
||||||
"id": "K0006",
|
{
|
||||||
"name": "Leaf Cutter",
|
"id": "K0006",
|
||||||
"mpConsumption": 14,
|
"name": "Leaf Cutter",
|
||||||
"damage": 1.4,
|
"mpConsumption": 14,
|
||||||
"coolDown": 5,
|
"damage": 1.399999976158142,
|
||||||
"slotNumber": 0,
|
"coolDown": 5,
|
||||||
"requiredLevel": 11
|
"slotNumber": 0,
|
||||||
},
|
"requiredLevel": 11
|
||||||
{
|
},
|
||||||
"id": "K0007",
|
{
|
||||||
"name": "DarknessBall",
|
"id": "K0007",
|
||||||
"mpConsumption": 30,
|
"name": "DarknessBall",
|
||||||
"damage": 2.4,
|
"mpConsumption": 30,
|
||||||
"coolDown": 12,
|
"damage": 2.4000000953674318,
|
||||||
"slotNumber": 0,
|
"coolDown": 12,
|
||||||
"requiredLevel": 13
|
"slotNumber": 0,
|
||||||
},
|
"requiredLevel": 13
|
||||||
{
|
},
|
||||||
"id": "K0008",
|
{
|
||||||
"name": "Elemental burst",
|
"id": "K0008",
|
||||||
"mpConsumption": 60,
|
"name": "Elemental burst",
|
||||||
"damage": 8,
|
"mpConsumption": 60,
|
||||||
"coolDown": 40,
|
"damage": 8.0,
|
||||||
"slotNumber": 0,
|
"coolDown": 40,
|
||||||
"requiredLevel": 15
|
"slotNumber": 0,
|
||||||
}
|
"requiredLevel": 15
|
||||||
]
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 3994df9e50c49d64782998dd7a9706a3
|
guid: a5c573092f412bf47b101f0d7f7c809f
|
||||||
TextScriptImporter:
|
TextScriptImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@@ -92,13 +92,13 @@ MonoBehaviour:
|
|||||||
m_faceColor:
|
m_faceColor:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
rgba: 4294967295
|
rgba: 4294967295
|
||||||
m_fontSize: 16
|
m_fontSize: 14
|
||||||
m_fontSizeBase: 16
|
m_fontSizeBase: 14
|
||||||
m_fontWeight: 400
|
m_fontWeight: 400
|
||||||
m_enableAutoSizing: 0
|
m_enableAutoSizing: 0
|
||||||
m_fontSizeMin: 18
|
m_fontSizeMin: 18
|
||||||
m_fontSizeMax: 72
|
m_fontSizeMax: 72
|
||||||
m_fontStyle: 0
|
m_fontStyle: 1
|
||||||
m_HorizontalAlignment: 1
|
m_HorizontalAlignment: 1
|
||||||
m_VerticalAlignment: 512
|
m_VerticalAlignment: 512
|
||||||
m_textAlignment: 65535
|
m_textAlignment: 65535
|
||||||
@@ -263,13 +263,13 @@ MonoBehaviour:
|
|||||||
m_faceColor:
|
m_faceColor:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
rgba: 4294967295
|
rgba: 4294967295
|
||||||
m_fontSize: 16
|
m_fontSize: 14
|
||||||
m_fontSizeBase: 16
|
m_fontSizeBase: 14
|
||||||
m_fontWeight: 400
|
m_fontWeight: 400
|
||||||
m_enableAutoSizing: 0
|
m_enableAutoSizing: 0
|
||||||
m_fontSizeMin: 18
|
m_fontSizeMin: 18
|
||||||
m_fontSizeMax: 72
|
m_fontSizeMax: 72
|
||||||
m_fontStyle: 0
|
m_fontStyle: 1
|
||||||
m_HorizontalAlignment: 1
|
m_HorizontalAlignment: 1
|
||||||
m_VerticalAlignment: 512
|
m_VerticalAlignment: 512
|
||||||
m_textAlignment: 65535
|
m_textAlignment: 65535
|
||||||
@@ -317,6 +317,7 @@ GameObject:
|
|||||||
- component: {fileID: 7711391530007573910}
|
- component: {fileID: 7711391530007573910}
|
||||||
- component: {fileID: 894771521184045827}
|
- component: {fileID: 894771521184045827}
|
||||||
- component: {fileID: 3064740509906673288}
|
- component: {fileID: 3064740509906673288}
|
||||||
|
- component: {fileID: 1927401673230932622}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: Skill Information Item
|
m_Name: Skill Information Item
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@@ -397,16 +398,72 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: ed9616c40d2f25049a1cd91f744b3eff, type: 3}
|
m_Script: {fileID: 11500000, guid: ed9616c40d2f25049a1cd91f744b3eff, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
imageSprites:
|
|
||||||
keys: []
|
|
||||||
values: []
|
|
||||||
skillImage: {fileID: 8663022219627117037}
|
skillImage: {fileID: 8663022219627117037}
|
||||||
skillName: {fileID: 8742526129269004090}
|
skillName: {fileID: 8742526129269004090}
|
||||||
skillDamage: {fileID: 6604346907373336785}
|
skillDamage: {fileID: 6604346907373336785}
|
||||||
skillCooltime: {fileID: 5644015466645616352}
|
skillCooltime: {fileID: 5644015466645616352}
|
||||||
skillReqMp: {fileID: 2735593499604854753}
|
skillReqMp: {fileID: 2735593499604854753}
|
||||||
|
skillReqLvTitle: {fileID: 5702090017575127642}
|
||||||
skillReqLv: {fileID: 8218594638945546518}
|
skillReqLv: {fileID: 8218594638945546518}
|
||||||
locker: {fileID: 8836474559121583485}
|
locker: {fileID: 8836474559121583485}
|
||||||
|
selectedState: {fileID: 6064772624787250806}
|
||||||
|
skillId:
|
||||||
|
--- !u!114 &1927401673230932622
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 979625317529729593}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Navigation:
|
||||||
|
m_Mode: 3
|
||||||
|
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: 1, g: 1, b: 1, a: 1}
|
||||||
|
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: 894771521184045827}
|
||||||
|
m_OnClick:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls:
|
||||||
|
- m_Target: {fileID: 4246042669031692282, guid: 69c387b76a1d6fe48a70aa3e0eb1c0ac, type: 3}
|
||||||
|
m_TargetAssemblyTypeName: TON.SkillSettingUI, Assembly-CSharp
|
||||||
|
m_MethodName: OnClickSkillInfo
|
||||||
|
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!1 &1100155134931810629
|
--- !u!1 &1100155134931810629
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -546,7 +603,7 @@ MonoBehaviour:
|
|||||||
m_OnCullStateChanged:
|
m_OnCullStateChanged:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
m_Sprite: {fileID: 21300000, guid: 2aa08635294c7f4439316a676e949dc8, type: 3}
|
m_Sprite: {fileID: 21300000, guid: d38d0eab2a70b9245868a06c5d63f4ba, type: 3}
|
||||||
m_Type: 0
|
m_Type: 0
|
||||||
m_PreserveAspect: 0
|
m_PreserveAspect: 0
|
||||||
m_FillCenter: 1
|
m_FillCenter: 1
|
||||||
@@ -648,13 +705,13 @@ MonoBehaviour:
|
|||||||
m_faceColor:
|
m_faceColor:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
rgba: 4294967295
|
rgba: 4294967295
|
||||||
m_fontSize: 16
|
m_fontSize: 14
|
||||||
m_fontSizeBase: 16
|
m_fontSizeBase: 14
|
||||||
m_fontWeight: 400
|
m_fontWeight: 400
|
||||||
m_enableAutoSizing: 0
|
m_enableAutoSizing: 0
|
||||||
m_fontSizeMin: 18
|
m_fontSizeMin: 18
|
||||||
m_fontSizeMax: 72
|
m_fontSizeMax: 72
|
||||||
m_fontStyle: 0
|
m_fontStyle: 1
|
||||||
m_HorizontalAlignment: 1
|
m_HorizontalAlignment: 1
|
||||||
m_VerticalAlignment: 512
|
m_VerticalAlignment: 512
|
||||||
m_textAlignment: 65535
|
m_textAlignment: 65535
|
||||||
@@ -936,7 +993,7 @@ MonoBehaviour:
|
|||||||
m_enableAutoSizing: 0
|
m_enableAutoSizing: 0
|
||||||
m_fontSizeMin: 18
|
m_fontSizeMin: 18
|
||||||
m_fontSizeMax: 72
|
m_fontSizeMax: 72
|
||||||
m_fontStyle: 0
|
m_fontStyle: 1
|
||||||
m_HorizontalAlignment: 2
|
m_HorizontalAlignment: 2
|
||||||
m_VerticalAlignment: 512
|
m_VerticalAlignment: 512
|
||||||
m_textAlignment: 65535
|
m_textAlignment: 65535
|
||||||
@@ -1064,13 +1121,13 @@ MonoBehaviour:
|
|||||||
m_faceColor:
|
m_faceColor:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
rgba: 4294967295
|
rgba: 4294967295
|
||||||
m_fontSize: 16
|
m_fontSize: 14
|
||||||
m_fontSizeBase: 16
|
m_fontSizeBase: 14
|
||||||
m_fontWeight: 400
|
m_fontWeight: 400
|
||||||
m_enableAutoSizing: 0
|
m_enableAutoSizing: 0
|
||||||
m_fontSizeMin: 18
|
m_fontSizeMin: 18
|
||||||
m_fontSizeMax: 72
|
m_fontSizeMax: 72
|
||||||
m_fontStyle: 0
|
m_fontStyle: 1
|
||||||
m_HorizontalAlignment: 1
|
m_HorizontalAlignment: 1
|
||||||
m_VerticalAlignment: 512
|
m_VerticalAlignment: 512
|
||||||
m_textAlignment: 65535
|
m_textAlignment: 65535
|
||||||
@@ -1198,13 +1255,13 @@ MonoBehaviour:
|
|||||||
m_faceColor:
|
m_faceColor:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
rgba: 4294967295
|
rgba: 4294967295
|
||||||
m_fontSize: 16
|
m_fontSize: 14
|
||||||
m_fontSizeBase: 16
|
m_fontSizeBase: 14
|
||||||
m_fontWeight: 400
|
m_fontWeight: 400
|
||||||
m_enableAutoSizing: 0
|
m_enableAutoSizing: 0
|
||||||
m_fontSizeMin: 18
|
m_fontSizeMin: 18
|
||||||
m_fontSizeMax: 72
|
m_fontSizeMax: 72
|
||||||
m_fontStyle: 0
|
m_fontStyle: 1
|
||||||
m_HorizontalAlignment: 1
|
m_HorizontalAlignment: 1
|
||||||
m_VerticalAlignment: 512
|
m_VerticalAlignment: 512
|
||||||
m_textAlignment: 65535
|
m_textAlignment: 65535
|
||||||
@@ -1332,13 +1389,13 @@ MonoBehaviour:
|
|||||||
m_faceColor:
|
m_faceColor:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
rgba: 4294967295
|
rgba: 4294967295
|
||||||
m_fontSize: 16
|
m_fontSize: 14
|
||||||
m_fontSizeBase: 16
|
m_fontSizeBase: 14
|
||||||
m_fontWeight: 400
|
m_fontWeight: 400
|
||||||
m_enableAutoSizing: 0
|
m_enableAutoSizing: 0
|
||||||
m_fontSizeMin: 18
|
m_fontSizeMin: 18
|
||||||
m_fontSizeMax: 72
|
m_fontSizeMax: 72
|
||||||
m_fontStyle: 0
|
m_fontStyle: 1
|
||||||
m_HorizontalAlignment: 1
|
m_HorizontalAlignment: 1
|
||||||
m_VerticalAlignment: 512
|
m_VerticalAlignment: 512
|
||||||
m_textAlignment: 65535
|
m_textAlignment: 65535
|
||||||
@@ -1541,13 +1598,13 @@ MonoBehaviour:
|
|||||||
m_faceColor:
|
m_faceColor:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
rgba: 4294967295
|
rgba: 4294967295
|
||||||
m_fontSize: 16
|
m_fontSize: 14
|
||||||
m_fontSizeBase: 16
|
m_fontSizeBase: 14
|
||||||
m_fontWeight: 400
|
m_fontWeight: 400
|
||||||
m_enableAutoSizing: 0
|
m_enableAutoSizing: 0
|
||||||
m_fontSizeMin: 18
|
m_fontSizeMin: 18
|
||||||
m_fontSizeMax: 72
|
m_fontSizeMax: 72
|
||||||
m_fontStyle: 0
|
m_fontStyle: 1
|
||||||
m_HorizontalAlignment: 1
|
m_HorizontalAlignment: 1
|
||||||
m_VerticalAlignment: 512
|
m_VerticalAlignment: 512
|
||||||
m_textAlignment: 65535
|
m_textAlignment: 65535
|
||||||
@@ -1748,13 +1805,13 @@ MonoBehaviour:
|
|||||||
m_faceColor:
|
m_faceColor:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
rgba: 4294967295
|
rgba: 4294967295
|
||||||
m_fontSize: 16
|
m_fontSize: 14
|
||||||
m_fontSizeBase: 16
|
m_fontSizeBase: 14
|
||||||
m_fontWeight: 400
|
m_fontWeight: 400
|
||||||
m_enableAutoSizing: 0
|
m_enableAutoSizing: 0
|
||||||
m_fontSizeMin: 18
|
m_fontSizeMin: 18
|
||||||
m_fontSizeMax: 72
|
m_fontSizeMax: 72
|
||||||
m_fontStyle: 0
|
m_fontStyle: 1
|
||||||
m_HorizontalAlignment: 1
|
m_HorizontalAlignment: 1
|
||||||
m_VerticalAlignment: 512
|
m_VerticalAlignment: 512
|
||||||
m_textAlignment: 65535
|
m_textAlignment: 65535
|
||||||
|
|||||||
@@ -162,6 +162,7 @@ GameObject:
|
|||||||
- component: {fileID: 7221054774098027555}
|
- component: {fileID: 7221054774098027555}
|
||||||
- component: {fileID: 8618505599359909844}
|
- component: {fileID: 8618505599359909844}
|
||||||
- component: {fileID: 8968069870202076509}
|
- component: {fileID: 8968069870202076509}
|
||||||
|
- component: {fileID: 5331091819972320112}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: Skill Slot
|
m_Name: Skill Slot
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@@ -244,6 +245,62 @@ MonoBehaviour:
|
|||||||
skillImage: {fileID: 6834027631568802153}
|
skillImage: {fileID: 6834027631568802153}
|
||||||
lockerImage: {fileID: 5863612593878900192}
|
lockerImage: {fileID: 5863612593878900192}
|
||||||
selectedState: {fileID: 2050701555096933595}
|
selectedState: {fileID: 2050701555096933595}
|
||||||
|
--- !u!114 &5331091819972320112
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6583065413429247215}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Navigation:
|
||||||
|
m_Mode: 3
|
||||||
|
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.9607844, g: 0.9607844, b: 0.9607844, a: 1}
|
||||||
|
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: 8618505599359909844}
|
||||||
|
m_OnClick:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls:
|
||||||
|
- m_Target: {fileID: 4246042669031692282, guid: 69c387b76a1d6fe48a70aa3e0eb1c0ac, type: 3}
|
||||||
|
m_TargetAssemblyTypeName: TON.SkillSettingUI, Assembly-CSharp
|
||||||
|
m_MethodName: OnClickSkillSlot
|
||||||
|
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!1 &6834027631568802153
|
--- !u!1 &6834027631568802153
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 69c387b76a1d6fe48a70aa3e0eb1c0ac
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -53,9 +53,10 @@ namespace TON
|
|||||||
// TODO : Custom Order After System Load
|
// TODO : Custom Order After System Load
|
||||||
// UIManager.Show<IngameUI>(UIList.IngameUI);
|
// UIManager.Show<IngameUI>(UIList.IngameUI);
|
||||||
// UIManager.Show<LobbyUI>(UIList.LobbyUI);
|
// UIManager.Show<LobbyUI>(UIList.LobbyUI);
|
||||||
UIManager.Show<ControllerUI>(UIList.ControllerUI);
|
// UIManager.Show<ControllerUI>(UIList.ControllerUI);
|
||||||
ControllerUI.Instance.Initalize();
|
// ControllerUI.Instance.Initalize();
|
||||||
// UIManager.Show<IngameOptionUI>(UIList.IngameOptionUI);
|
// UIManager.Show<IngameOptionUI>(UIList.IngameOptionUI);
|
||||||
|
UIManager.Show<SkillSettingUI>(UIList.SkillSettingUI);
|
||||||
// UIManager.Show<CharaterCreateUI>(UIList.CharaterCreateUI);
|
// UIManager.Show<CharaterCreateUI>(UIList.CharaterCreateUI);
|
||||||
// UIManager.Show<TitleUI>(UIList.TitleUI);
|
// UIManager.Show<TitleUI>(UIList.TitleUI);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,12 +99,11 @@ namespace TON
|
|||||||
// 일반 객체는 그대로 JSON 변환
|
// 일반 객체는 그대로 JSON 변환
|
||||||
json = JsonUtility.ToJson(data, true);
|
json = JsonUtility.ToJson(data, true);
|
||||||
}
|
}
|
||||||
|
Debug.Log("SaveToFile ::: " + json);
|
||||||
|
|
||||||
File.WriteAllText(path, json);
|
File.WriteAllText(path, json);
|
||||||
Debug.Log($"파일 저장 성공 ::: {fileName}.json");
|
Debug.Log($"파일 저장 성공 ::: {fileName}.json");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,13 +12,10 @@ namespace TON
|
|||||||
|
|
||||||
private List<SkillBase> equippedSkills = new List<SkillBase>();
|
private List<SkillBase> equippedSkills = new List<SkillBase>();
|
||||||
|
|
||||||
|
|
||||||
public void Initalize()
|
public void Initalize()
|
||||||
{
|
{
|
||||||
LoadSkillData();
|
LoadSkillData();
|
||||||
SetSkillInstances();
|
SetSkillInstances();
|
||||||
// TODO: player skill data 초기화[셋팅]
|
|
||||||
// 예시) 1,4,5번 스킬을 EquippedSkills에 추가
|
|
||||||
GetActiveSkillInstance();
|
GetActiveSkillInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -38,7 +35,8 @@ namespace TON
|
|||||||
skillDatas.Clear();
|
skillDatas.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
skillDatas = JSONLoader.LoadFromResources<List<SkillData>>("Skill");
|
skillDatas = JSONLoader.LoadFromResources<List<SkillData>>("skill");
|
||||||
|
|
||||||
if (skillDatas == null)
|
if (skillDatas == null)
|
||||||
{
|
{
|
||||||
skillDatas = new List<SkillData>();
|
skillDatas = new List<SkillData>();
|
||||||
@@ -89,10 +87,11 @@ namespace TON
|
|||||||
{
|
{
|
||||||
if (skill.slotNumber == 1 || skill.slotNumber == 2 || skill.slotNumber == 3)
|
if (skill.slotNumber == 1 || skill.slotNumber == 2 || skill.slotNumber == 3)
|
||||||
{
|
{
|
||||||
Debug.Log("GetActiveSkillInstance() : " + skill.id);
|
// Debug.Log("GetActiveSkillInstance() : " + skill.id);
|
||||||
equippedSkills.Add(skillInstances.GetValueOrDefault(skill.id));
|
equippedSkills.Add(skillInstances.GetValueOrDefault(skill.id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
equippedSkills.Sort((a, b) => a.SkillData.slotNumber.CompareTo(b.SkillData.slotNumber));
|
||||||
return equippedSkills;
|
return equippedSkills;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -133,14 +132,14 @@ namespace TON
|
|||||||
// 스킬 생성
|
// 스킬 생성
|
||||||
GameObject effectGameObject = ObjectPoolManager.Instance.GetEffect(skillId);
|
GameObject effectGameObject = ObjectPoolManager.Instance.GetEffect(skillId);
|
||||||
Projectile projectile = effectGameObject.GetComponent<Projectile>();
|
Projectile projectile = effectGameObject.GetComponent<Projectile>();
|
||||||
SkillBase targetSkillBase = GetSkillData(skillId);
|
SkillBase targetSkillBase = GetSkillInstance(skillId);
|
||||||
targetSkillBase.SetCurrentCoolDown();
|
targetSkillBase.SetCurrentCoolDown();
|
||||||
|
|
||||||
projectile.Init(targetSkillBase.SkillData.damage);
|
projectile.Init(targetSkillBase.SkillData.damage);
|
||||||
|
|
||||||
effectGameObject.transform.SetPositionAndRotation(firePoint.position, firePoint.rotation);
|
effectGameObject.transform.SetPositionAndRotation(firePoint.position, firePoint.rotation);
|
||||||
|
|
||||||
// 🔥 스킬 방향 반전
|
// 스킬 방향 반전
|
||||||
var bulletScale = effectGameObject.transform.localScale;
|
var bulletScale = effectGameObject.transform.localScale;
|
||||||
bulletScale.x = Mathf.Abs(bulletScale.x) * lastDirection;
|
bulletScale.x = Mathf.Abs(bulletScale.x) * lastDirection;
|
||||||
effectGameObject.transform.localScale = bulletScale;
|
effectGameObject.transform.localScale = bulletScale;
|
||||||
@@ -152,14 +151,29 @@ namespace TON
|
|||||||
targetSkillBase.OnSkillExecuted?.Invoke();
|
targetSkillBase.OnSkillExecuted?.Invoke();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public SkillBase GetSkillInstance(string skillId)
|
||||||
|
|
||||||
public SkillBase GetSkillData(string skillId)
|
|
||||||
{
|
{
|
||||||
// 스킬 베이스가 null일때 방어로직 추가
|
// 스킬 베이스가 null일때 방어로직 추가
|
||||||
SkillBase result = skillInstances.GetValueOrDefault(skillId);
|
SkillBase result = skillInstances.GetValueOrDefault(skillId);
|
||||||
Assert.IsNotNull(result, "SkillDataManager.ExecuteSkill() : targetSkillBase is null");
|
Assert.IsNotNull(result, "SkillDataManager.ExecuteSkill() : targetSkillBase is null");
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void UpdateSkillData(string skillId, int slotNumber)
|
||||||
|
{
|
||||||
|
foreach (var skill in skillDatas)
|
||||||
|
{
|
||||||
|
if (skill.id == skillId)
|
||||||
|
{
|
||||||
|
skill.slotNumber = slotNumber;
|
||||||
|
}
|
||||||
|
if (skill.slotNumber == slotNumber && skill.id != skillId)
|
||||||
|
{
|
||||||
|
skill.slotNumber = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONLoader.SaveToFile(skillDatas, "skill");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,9 +9,6 @@ namespace TON
|
|||||||
{
|
{
|
||||||
public class SkillInformationItem : MonoBehaviour
|
public class SkillInformationItem : MonoBehaviour
|
||||||
{
|
{
|
||||||
[SerializeField]
|
|
||||||
SerializableDictionary<string, Sprite> imageSprites = new SerializableDictionary<string, Sprite>();
|
|
||||||
|
|
||||||
public GameObject skillImage;
|
public GameObject skillImage;
|
||||||
public TextMeshProUGUI skillName;
|
public TextMeshProUGUI skillName;
|
||||||
public TextMeshProUGUI skillDamage;
|
public TextMeshProUGUI skillDamage;
|
||||||
@@ -21,10 +18,15 @@ namespace TON
|
|||||||
public TextMeshProUGUI skillReqLv;
|
public TextMeshProUGUI skillReqLv;
|
||||||
|
|
||||||
public GameObject locker;
|
public GameObject locker;
|
||||||
|
public GameObject selectedState;
|
||||||
|
|
||||||
|
public string skillId;
|
||||||
|
|
||||||
|
|
||||||
public void Initalize(SkillData skillData, int playerLevel)
|
public void Initalize(SkillData skillData, int playerLevel)
|
||||||
{
|
{
|
||||||
|
skillId = skillData.id;
|
||||||
|
|
||||||
skillName.text = skillData.name;
|
skillName.text = skillData.name;
|
||||||
skillDamage.text = $"{skillData.damage}";
|
skillDamage.text = $"{skillData.damage}";
|
||||||
skillCooltime.text = $"{skillData.coolDown}";
|
skillCooltime.text = $"{skillData.coolDown}";
|
||||||
@@ -46,5 +48,16 @@ namespace TON
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string SelectedSkillInfo()
|
||||||
|
{
|
||||||
|
selectedState.SetActive(true);
|
||||||
|
return skillId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UnselectedSkillInfo()
|
||||||
|
{
|
||||||
|
selectedState.SetActive(false);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.EventSystems;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
|
|
||||||
namespace TON
|
namespace TON
|
||||||
@@ -8,13 +9,16 @@ namespace TON
|
|||||||
public class SkillScrollViewController : MonoBehaviour
|
public class SkillScrollViewController : MonoBehaviour
|
||||||
{
|
{
|
||||||
public ScrollRect scrollRect;
|
public ScrollRect scrollRect;
|
||||||
public float space = 10f;
|
|
||||||
|
|
||||||
public GameObject uiPrefab;
|
public SkillInformationItem skillInfoPrefab;
|
||||||
public List<RectTransform> uiPrefabList = new List<RectTransform>();
|
public List<RectTransform> uiPrefabList = new List<RectTransform>();
|
||||||
|
public List<SkillInformationItem> createSkillInfo = new List<SkillInformationItem>();
|
||||||
|
|
||||||
public int playerLevel;
|
public int playerLevel;
|
||||||
|
|
||||||
|
private SkillInformationItem selectedSkillInfo;
|
||||||
|
|
||||||
|
|
||||||
private void Start()
|
private void Start()
|
||||||
{
|
{
|
||||||
scrollRect = GetComponent<ScrollRect>();
|
scrollRect = GetComponent<ScrollRect>();
|
||||||
@@ -31,8 +35,16 @@ namespace TON
|
|||||||
for (int i = 0; i < skillDatas.Count; i++)
|
for (int i = 0; i < skillDatas.Count; i++)
|
||||||
{
|
{
|
||||||
SkillData skillData = skillDatas[i];
|
SkillData skillData = skillDatas[i];
|
||||||
GameObject skillInfoItem = Instantiate(uiPrefab, scrollRect.content);
|
SkillInformationItem skillInfoItem = Instantiate(skillInfoPrefab, scrollRect.content);
|
||||||
skillInfoItem.GetComponent<SkillInformationItem>().Initalize(skillData, playerLevel);
|
|
||||||
|
skillInfoItem.gameObject.SetActive(true);
|
||||||
|
skillInfoItem.Initalize(skillData, playerLevel);
|
||||||
|
createSkillInfo.Add(skillInfoItem);
|
||||||
|
|
||||||
|
if (playerLevel < skillData.requiredLevel)
|
||||||
|
{
|
||||||
|
skillInfoItem.GetComponent<Button>().interactable = false;
|
||||||
|
}
|
||||||
|
|
||||||
RectTransform rectTransform = skillInfoItem.GetComponent<RectTransform>();
|
RectTransform rectTransform = skillInfoItem.GetComponent<RectTransform>();
|
||||||
|
|
||||||
@@ -43,5 +55,26 @@ namespace TON
|
|||||||
|
|
||||||
scrollRect.content.sizeDelta = new Vector2(scrollRect.content.sizeDelta.x, y);
|
scrollRect.content.sizeDelta = new Vector2(scrollRect.content.sizeDelta.x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void OnClickSkillInfo()
|
||||||
|
{
|
||||||
|
GameObject selectedSlotGameObject = EventSystem.current.currentSelectedGameObject;
|
||||||
|
selectedSkillInfo = selectedSlotGameObject.GetComponent<SkillInformationItem>();
|
||||||
|
|
||||||
|
string selectSkillId = selectedSkillInfo.SelectedSkillInfo();
|
||||||
|
// SkillSettingUI.Instance.OnClickSkillInfo(selectSkillId);
|
||||||
|
Debug.Log($"OnClickSkillInfo() : {createSkillInfo.Count}");
|
||||||
|
foreach (var skillInfo in createSkillInfo)
|
||||||
|
{
|
||||||
|
Debug.Log($"OnClickSkillInfo() : {selectSkillId} , {skillInfo.skillId}");
|
||||||
|
Debug.Log(skillInfo.skillId != selectSkillId);
|
||||||
|
if (skillInfo.skillId != selectSkillId)
|
||||||
|
{
|
||||||
|
skillInfo.UnselectedSkillInfo();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using UnityEditor.PackageManager;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.EventSystems;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
namespace TON
|
namespace TON
|
||||||
{
|
{
|
||||||
@@ -12,10 +15,36 @@ namespace TON
|
|||||||
public SkillSettingUI_SkillSlot skillSlotPrefab;
|
public SkillSettingUI_SkillSlot skillSlotPrefab;
|
||||||
public List<SkillSettingUI_SkillSlot> createSkillSlots = new List<SkillSettingUI_SkillSlot>();
|
public List<SkillSettingUI_SkillSlot> createSkillSlots = new List<SkillSettingUI_SkillSlot>();
|
||||||
|
|
||||||
|
public ScrollRect scrollRect;
|
||||||
|
public SkillInformationItem skillInfoPrefab;
|
||||||
|
public List<RectTransform> uiPrefabList = new List<RectTransform>();
|
||||||
|
public List<SkillInformationItem> createSkillInfo = new List<SkillInformationItem>();
|
||||||
|
|
||||||
|
public Button settingButton;
|
||||||
|
|
||||||
|
|
||||||
|
private int selectedSlotIndex = -1;
|
||||||
|
private string selectedSkillId = null;
|
||||||
|
private int playerLevel;
|
||||||
|
|
||||||
public void Start()
|
public void Start()
|
||||||
{
|
{
|
||||||
|
playerLevel = PlayerDataManager.Singleton.player.level;
|
||||||
|
|
||||||
SetSkillSlots();
|
SetSkillSlots();
|
||||||
|
SetSkillInfoItem();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Update()
|
||||||
|
{
|
||||||
|
if (selectedSlotIndex != -1 && !string.IsNullOrWhiteSpace(selectedSkillId))
|
||||||
|
{
|
||||||
|
settingButton.interactable = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
settingButton.interactable = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetSkillSlots()
|
private void SetSkillSlots()
|
||||||
@@ -39,15 +68,102 @@ namespace TON
|
|||||||
|
|
||||||
if (i < activatedSkills.Count) // 해당 인덱스에 활성화된 스킬이 있을 경우
|
if (i < activatedSkills.Count) // 해당 인덱스에 활성화된 스킬이 있을 경우
|
||||||
{
|
{
|
||||||
newSkillSlot.Initalize(activatedSkills[i].SkillData.id);
|
newSkillSlot.Initalize(activatedSkills[i].SkillData.id, i);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// 복제 됐을때 기본 상태가 잠금 상태
|
// 복제 됐을때 기본 상태가 잠금 상태
|
||||||
|
newSkillSlot.GetComponent<Button>().interactable = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
createSkillSlots.Add(newSkillSlot);
|
createSkillSlots.Add(newSkillSlot);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void SetSkillInfoItem()
|
||||||
|
{
|
||||||
|
List<SkillData> skillDatas = SkillDataManager.Singleton.skillDatas;
|
||||||
|
|
||||||
|
float y = 0;
|
||||||
|
for (int i = 0; i < skillDatas.Count; i++)
|
||||||
|
{
|
||||||
|
SkillData skillData = skillDatas[i];
|
||||||
|
SkillInformationItem skillInfoItem = Instantiate(skillInfoPrefab, scrollRect.content);
|
||||||
|
|
||||||
|
skillInfoItem.gameObject.SetActive(true);
|
||||||
|
skillInfoItem.Initalize(skillData, playerLevel);
|
||||||
|
createSkillInfo.Add(skillInfoItem);
|
||||||
|
|
||||||
|
if (playerLevel < skillData.requiredLevel)
|
||||||
|
{
|
||||||
|
skillInfoItem.GetComponent<Button>().interactable = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
RectTransform rectTransform = skillInfoItem.GetComponent<RectTransform>();
|
||||||
|
|
||||||
|
uiPrefabList.Add(rectTransform);
|
||||||
|
uiPrefabList[i].anchoredPosition = new Vector2(0f, -y);
|
||||||
|
y += uiPrefabList[i].sizeDelta.y;
|
||||||
|
}
|
||||||
|
|
||||||
|
scrollRect.content.sizeDelta = new Vector2(scrollRect.content.sizeDelta.x, y);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnClickSkillSlot()
|
||||||
|
{
|
||||||
|
GameObject selectedSlotGameObject = EventSystem.current.currentSelectedGameObject;
|
||||||
|
SkillSettingUI_SkillSlot selectedSlot = selectedSlotGameObject.GetComponent<SkillSettingUI_SkillSlot>();
|
||||||
|
|
||||||
|
selectedSlotIndex = selectedSlot.SelectedSlot();
|
||||||
|
for (int i = 0; i < 3; i++)
|
||||||
|
{
|
||||||
|
if (i != selectedSlotIndex)
|
||||||
|
{
|
||||||
|
createSkillSlots[i].UnselectedSlot();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnClickSkillInfo()
|
||||||
|
{
|
||||||
|
GameObject selectedSlotGameObject = EventSystem.current.currentSelectedGameObject;
|
||||||
|
SkillInformationItem selectedSkillInfo = selectedSlotGameObject.GetComponent<SkillInformationItem>();
|
||||||
|
|
||||||
|
selectedSkillId = selectedSkillInfo.SelectedSkillInfo();
|
||||||
|
foreach (var skillInfo in createSkillInfo)
|
||||||
|
{
|
||||||
|
if (skillInfo.skillId != selectedSkillId)
|
||||||
|
{
|
||||||
|
skillInfo.UnselectedSkillInfo();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnClickSettingButton()
|
||||||
|
{
|
||||||
|
Debug.Log($"OnClickSettingButton() : {selectedSkillId} , {selectedSlotIndex}");
|
||||||
|
// 스킬 데이터 업데이트 할때 selectedSlotIndex +1 해서 넘겨줘야함
|
||||||
|
SkillDataManager.Singleton.UpdateSkillData(selectedSkillId, selectedSlotIndex + 1);
|
||||||
|
|
||||||
|
// 스킬 업데이트 후 UI 갱신
|
||||||
|
var unselectedSkill = createSkillInfo.Find(skill => skill.skillId == selectedSkillId);
|
||||||
|
unselectedSkill?.UnselectedSkillInfo();
|
||||||
|
createSkillSlots[selectedSlotIndex].UnselectedSlot();
|
||||||
|
|
||||||
|
selectedSkillId = null;
|
||||||
|
selectedSlotIndex = -1;
|
||||||
|
|
||||||
|
RefreshUI();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RefreshUI()
|
||||||
|
{
|
||||||
|
SetSkillSlots();
|
||||||
|
SetSkillInfoItem();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnClickCloseButton()
|
||||||
|
{
|
||||||
|
UIManager.Hide<SkillSettingUI>(UIList.SkillSettingUI);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,18 +12,26 @@ namespace TON
|
|||||||
public GameObject lockerImage;
|
public GameObject lockerImage;
|
||||||
public GameObject selectedState;
|
public GameObject selectedState;
|
||||||
|
|
||||||
public void Initalize(string skillId)
|
private int slotIndex;
|
||||||
|
|
||||||
|
public void Initalize(string skillId, int index)
|
||||||
{
|
{
|
||||||
|
slotIndex = index;
|
||||||
// 스킬 이미지 세팅하기
|
// 스킬 이미지 세팅하기
|
||||||
Assert.IsTrue(AssetManager.Singleton.LoadSkillIcon(skillId, out Sprite loadedSkillImage));
|
if (skillId != null) // 스킬 슬롯에 스킬이 지정된 경우
|
||||||
skillImage.SetActive(true);
|
{
|
||||||
skillImage.GetComponent<Image>().sprite = loadedSkillImage;
|
Assert.IsTrue(AssetManager.Singleton.LoadSkillIcon(skillId, out Sprite loadedSkillImage));
|
||||||
|
skillImage.SetActive(true);
|
||||||
|
skillImage.GetComponent<Image>().sprite = loadedSkillImage;
|
||||||
|
}
|
||||||
|
|
||||||
lockerImage.SetActive(false);
|
lockerImage.SetActive(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SelectedSlot()
|
public int SelectedSlot()
|
||||||
{
|
{
|
||||||
selectedState.SetActive(true);
|
selectedState.SetActive(true);
|
||||||
|
return slotIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UnselectedSlot()
|
public void UnselectedSlot()
|
||||||
|
|||||||
Reference in New Issue
Block a user