commonButton 연동
This commit is contained in:
parent
3e93ad0b39
commit
cf43d6f0ff
@ -8,9 +8,9 @@ public class SetXY : Action
|
||||
{
|
||||
[Tooltip("The Vector2 to set the values of")]
|
||||
public SharedVector2 vector2Variable;
|
||||
[Tooltip("The X value. Set to None to have the value ignored")]
|
||||
[Tooltip("The X value. Set to Normal to have the value ignored")]
|
||||
public SharedFloat xValue;
|
||||
[Tooltip("The Y value. Set to None to have the value ignored")]
|
||||
[Tooltip("The Y value. Set to Normal to have the value ignored")]
|
||||
public SharedFloat yValue;
|
||||
|
||||
public override TaskStatus OnUpdate()
|
||||
|
@ -8,11 +8,11 @@ public class SetXYZ : Action
|
||||
{
|
||||
[Tooltip("The Vector3 to set the values of")]
|
||||
public SharedVector3 vector3Variable;
|
||||
[Tooltip("The X value. Set to None to have the value ignored")]
|
||||
[Tooltip("The X value. Set to Normal to have the value ignored")]
|
||||
public SharedFloat xValue;
|
||||
[Tooltip("The Y value. Set to None to have the value ignored")]
|
||||
[Tooltip("The Y value. Set to Normal to have the value ignored")]
|
||||
public SharedFloat yValue;
|
||||
[Tooltip("The Z value. Set to None to have the value ignored")]
|
||||
[Tooltip("The Z value. Set to Normal to have the value ignored")]
|
||||
public SharedFloat zValue;
|
||||
|
||||
public override TaskStatus OnUpdate()
|
||||
|
BIN
Assets/TextMesh Pro/Resources/Fonts & Materials/GodoM SDF.asset
(Stored with Git LFS)
BIN
Assets/TextMesh Pro/Resources/Fonts & Materials/GodoM SDF.asset
(Stored with Git LFS)
Binary file not shown.
@ -97,7 +97,7 @@ AnimationClip:
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: {x: 1.1, y: 1.1, z: 1.1}
|
||||
value: {x: 1, y: 1, z: 1}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
@ -274,7 +274,7 @@ AnimationClip:
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1.1
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
@ -295,7 +295,7 @@ AnimationClip:
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1.1
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
@ -316,7 +316,7 @@ AnimationClip:
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1.1
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
@ -480,42 +480,42 @@ AnimatorController:
|
||||
m_Name: CategoryTabUi
|
||||
serializedVersion: 5
|
||||
m_AnimatorParameters:
|
||||
- m_Name: Normal
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Highlighted
|
||||
m_Type: 9
|
||||
- m_Name: Disabled
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Pressed
|
||||
m_Type: 9
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Toggled
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Selected
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Disabled
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: CanDisabled
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Highlighted
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Enabled
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 1
|
||||
m_Controller: {fileID: 9100000}
|
||||
m_AnimatorLayers:
|
||||
- serializedVersion: 5
|
||||
m_Name: Base Layer
|
||||
@ -537,8 +537,8 @@ AnimatorStateTransition:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: CanDisabled
|
||||
- m_ConditionMode: 2
|
||||
m_ConditionEvent: Enabled
|
||||
m_EventTreshold: 0
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Disabled
|
||||
@ -1350,7 +1350,7 @@ AnimationClip:
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0.71765
|
||||
value: 0.8
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
@ -1572,7 +1572,7 @@ AnimationClip:
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0.71765
|
||||
value: 0.8
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
@ -1649,26 +1649,26 @@ AnimatorStateMachine:
|
||||
m_ChildStates:
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -9197952397577950673}
|
||||
m_Position: {x: 200, y: 0, z: 0}
|
||||
m_Position: {x: 400, y: -20, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 5740288191183519716}
|
||||
m_Position: {x: 235, y: 65, z: 0}
|
||||
m_Position: {x: 430, y: 50, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 2264358156696285842}
|
||||
m_Position: {x: 270, y: 130, z: 0}
|
||||
m_Position: {x: 470, y: 110, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -2657841246124178625}
|
||||
m_Position: {x: 305, y: 195, z: 0}
|
||||
m_Position: {x: 500, y: 180, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -4335743845369311454}
|
||||
m_Position: {x: 340, y: 260, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions:
|
||||
- {fileID: 7122475715172880790}
|
||||
- {fileID: -4959916750101030702}
|
||||
- {fileID: 113719257869837387}
|
||||
- {fileID: -4382471172070126114}
|
||||
- {fileID: 8410860602511447315}
|
||||
- {fileID: 113719257869837387}
|
||||
- {fileID: -4959916750101030702}
|
||||
- {fileID: 7122475715172880790}
|
||||
m_EntryTransitions: []
|
||||
m_StateMachineTransitions: {}
|
||||
m_StateMachineBehaviours: []
|
||||
@ -1685,8 +1685,17 @@ AnimatorStateTransition:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Normal
|
||||
- m_ConditionMode: 2
|
||||
m_ConditionEvent: Disabled
|
||||
m_EventTreshold: 0
|
||||
- m_ConditionMode: 2
|
||||
m_ConditionEvent: Pressed
|
||||
m_EventTreshold: 0
|
||||
- m_ConditionMode: 2
|
||||
m_ConditionEvent: Toggled
|
||||
m_EventTreshold: 0
|
||||
- m_ConditionMode: 2
|
||||
m_ConditionEvent: Highlighted
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -9197952397577950673}
|
||||
@ -2054,7 +2063,7 @@ AnimatorStateTransition:
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Selected
|
||||
m_ConditionEvent: Toggled
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -2657841246124178625}
|
||||
|
@ -876,8 +876,8 @@ AnimatorStateTransition:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: CanDisabled
|
||||
- m_ConditionMode: 2
|
||||
m_ConditionEvent: Enabled
|
||||
m_EventTreshold: 0
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Disabled
|
||||
@ -907,26 +907,26 @@ AnimatorStateMachine:
|
||||
m_ChildStates:
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -6677785953113548519}
|
||||
m_Position: {x: 200, y: 0, z: 0}
|
||||
m_Position: {x: 360, y: -10, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -8792213448813508643}
|
||||
m_Position: {x: 235, y: 65, z: 0}
|
||||
m_Position: {x: 390, y: 50, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 5205114662233237982}
|
||||
m_Position: {x: 270, y: 130, z: 0}
|
||||
m_Position: {x: 430, y: 120, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -5490678238363298755}
|
||||
m_Position: {x: 305, y: 195, z: 0}
|
||||
m_Position: {x: 460, y: 180, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 1374993701516088108}
|
||||
m_Position: {x: 340, y: 260, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions:
|
||||
- {fileID: -30650213741062983}
|
||||
- {fileID: -6580421973980778535}
|
||||
- {fileID: -4112017457821995473}
|
||||
- {fileID: -566993761381039251}
|
||||
- {fileID: 8862062841961532378}
|
||||
- {fileID: -4112017457821995473}
|
||||
- {fileID: -6580421973980778535}
|
||||
- {fileID: -30650213741062983}
|
||||
m_EntryTransitions: []
|
||||
m_StateMachineTransitions: {}
|
||||
m_StateMachineBehaviours: []
|
||||
@ -968,8 +968,17 @@ AnimatorStateTransition:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Normal
|
||||
- m_ConditionMode: 2
|
||||
m_ConditionEvent: Disabled
|
||||
m_EventTreshold: 0
|
||||
- m_ConditionMode: 2
|
||||
m_ConditionEvent: Pressed
|
||||
m_EventTreshold: 0
|
||||
- m_ConditionMode: 2
|
||||
m_ConditionEvent: Toggled
|
||||
m_EventTreshold: 0
|
||||
- m_ConditionMode: 2
|
||||
m_ConditionEvent: Highlighted
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -6677785953113548519}
|
||||
@ -994,42 +1003,42 @@ AnimatorController:
|
||||
m_Name: SectionTabUi
|
||||
serializedVersion: 5
|
||||
m_AnimatorParameters:
|
||||
- m_Name: Normal
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Highlighted
|
||||
m_Type: 9
|
||||
- m_Name: Disabled
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Pressed
|
||||
m_Type: 9
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Toggled
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Selected
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Disabled
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: CanDisabled
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Highlighted
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Enabled
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 1
|
||||
m_Controller: {fileID: 9100000}
|
||||
m_AnimatorLayers:
|
||||
- serializedVersion: 5
|
||||
m_Name: Base Layer
|
||||
@ -1134,7 +1143,7 @@ AnimationClip:
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0.7176471
|
||||
value: 0.8
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
@ -1284,7 +1293,7 @@ AnimationClip:
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0.7176471
|
||||
value: 0.8
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
@ -1614,7 +1623,7 @@ AnimatorStateTransition:
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Selected
|
||||
m_ConditionEvent: Toggled
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -5490678238363298755}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 077fbb30d2367574db4211e2945acda0
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 9100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1ccba7a2ea7adb54b9c10f748eb5e15c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 9100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -8,8 +8,20 @@ AnimatorStateTransition:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Normal
|
||||
- m_ConditionMode: 2
|
||||
m_ConditionEvent: Disabled
|
||||
m_EventTreshold: 0
|
||||
- m_ConditionMode: 2
|
||||
m_ConditionEvent: Pressed
|
||||
m_EventTreshold: 0
|
||||
- m_ConditionMode: 2
|
||||
m_ConditionEvent: Toggled
|
||||
m_EventTreshold: 0
|
||||
- m_ConditionMode: 2
|
||||
m_ConditionEvent: Selected
|
||||
m_EventTreshold: 0
|
||||
- m_ConditionMode: 2
|
||||
m_ConditionEvent: Highlighted
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -6259034119004896615}
|
||||
@ -368,26 +380,26 @@ AnimatorStateMachine:
|
||||
m_ChildStates:
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -6259034119004896615}
|
||||
m_Position: {x: 200, y: 0, z: 0}
|
||||
m_Position: {x: 460, y: 0, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -4170228312314127899}
|
||||
m_Position: {x: 235, y: 65, z: 0}
|
||||
m_Position: {x: 540, y: 70, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -2429834667517848280}
|
||||
m_Position: {x: 270, y: 130, z: 0}
|
||||
m_Position: {x: 520, y: 140, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 6386372134413823796}
|
||||
m_Position: {x: 305, y: 195, z: 0}
|
||||
m_Position: {x: 510, y: 200, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -755592736906726463}
|
||||
m_Position: {x: 340, y: 260, z: 0}
|
||||
m_Position: {x: 430, y: 270, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions:
|
||||
- {fileID: -8454442321133926692}
|
||||
- {fileID: 5688398759945136006}
|
||||
- {fileID: 768286118201508997}
|
||||
- {fileID: -2947644494943107051}
|
||||
- {fileID: 814151823820984193}
|
||||
- {fileID: 768286118201508997}
|
||||
- {fileID: 5688398759945136006}
|
||||
- {fileID: -8454442321133926692}
|
||||
m_EntryTransitions: []
|
||||
m_StateMachineTransitions: {}
|
||||
m_StateMachineBehaviours: []
|
||||
@ -1120,36 +1132,42 @@ AnimatorController:
|
||||
m_Name: InventorySlotUi
|
||||
serializedVersion: 5
|
||||
m_AnimatorParameters:
|
||||
- m_Name: Normal
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Highlighted
|
||||
m_Type: 9
|
||||
- m_Name: Disabled
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Pressed
|
||||
m_Type: 9
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Toggled
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Selected
|
||||
m_Type: 9
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Disabled
|
||||
m_Type: 9
|
||||
- m_Name: Highlighted
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Enabled
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 1
|
||||
m_Controller: {fileID: 9100000}
|
||||
m_AnimatorLayers:
|
||||
- serializedVersion: 5
|
||||
m_Name: Base Layer
|
||||
|
@ -1,6 +1,6 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1101 &-8454442321133926692
|
||||
--- !u!1101 &-8514625505402044885
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@ -9,7 +9,44 @@ AnimatorStateTransition:
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Normal
|
||||
m_ConditionEvent: Pressed
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -2429834667517848280}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.75
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &-8454442321133926692
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 2
|
||||
m_ConditionEvent: Toggled
|
||||
m_EventTreshold: 0
|
||||
- m_ConditionMode: 2
|
||||
m_ConditionEvent: Highlighted
|
||||
m_EventTreshold: 0
|
||||
- m_ConditionMode: 2
|
||||
m_ConditionEvent: Pressed
|
||||
m_EventTreshold: 0
|
||||
- m_ConditionMode: 2
|
||||
m_ConditionEvent: Selected
|
||||
m_EventTreshold: 0
|
||||
- m_ConditionMode: 2
|
||||
m_ConditionEvent: Disabled
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -6259034119004896615}
|
||||
@ -368,25 +405,25 @@ AnimatorStateMachine:
|
||||
m_ChildStates:
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -6259034119004896615}
|
||||
m_Position: {x: 200, y: 0, z: 0}
|
||||
m_Position: {x: 410, y: 0, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -4170228312314127899}
|
||||
m_Position: {x: 235, y: 65, z: 0}
|
||||
m_Position: {x: 580, y: 60, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -2429834667517848280}
|
||||
m_Position: {x: 270, y: 130, z: 0}
|
||||
m_Position: {x: 540, y: 140, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 6386372134413823796}
|
||||
m_Position: {x: 305, y: 195, z: 0}
|
||||
m_Position: {x: 530, y: 210, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -755592736906726463}
|
||||
m_Position: {x: 340, y: 260, z: 0}
|
||||
m_Position: {x: 410, y: 270, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions:
|
||||
- {fileID: 768286118201508997}
|
||||
- {fileID: 814151823820984193}
|
||||
- {fileID: -2947644494943107051}
|
||||
- {fileID: 5688398759945136006}
|
||||
- {fileID: -1036174919220373316}
|
||||
- {fileID: -8514625505402044885}
|
||||
- {fileID: 5381093293389739199}
|
||||
- {fileID: 1846144826618844133}
|
||||
- {fileID: -8454442321133926692}
|
||||
m_EntryTransitions: []
|
||||
m_StateMachineTransitions: {}
|
||||
@ -728,31 +765,6 @@ AnimatorState:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &-2947644494943107051
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Pressed
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -2429834667517848280}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.75
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &-2429834667517848280
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
@ -1085,6 +1097,31 @@ AnimationClip:
|
||||
m_HasGenericRootTransform: 0
|
||||
m_HasMotionFloatCurves: 0
|
||||
m_Events: []
|
||||
--- !u!1101 &-1036174919220373316
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Disabled
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -755592736906726463}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.75
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &-755592736906726463
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
@ -1120,36 +1157,42 @@ AnimatorController:
|
||||
m_Name: TodayMenuSlotUi
|
||||
serializedVersion: 5
|
||||
m_AnimatorParameters:
|
||||
- m_Name: Normal
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Highlighted
|
||||
m_Type: 9
|
||||
- m_Name: Disabled
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Pressed
|
||||
m_Type: 9
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Toggled
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Selected
|
||||
m_Type: 9
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Disabled
|
||||
m_Type: 9
|
||||
- m_Name: Highlighted
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Enabled
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 1
|
||||
m_Controller: {fileID: 9100000}
|
||||
m_AnimatorLayers:
|
||||
- serializedVersion: 5
|
||||
m_Name: Base Layer
|
||||
@ -1163,57 +1206,7 @@ AnimatorController:
|
||||
m_IKPass: 0
|
||||
m_SyncedLayerAffectsTiming: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
--- !u!1101 &768286118201508997
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Disabled
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -755592736906726463}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.75
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &814151823820984193
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Selected
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 6386372134413823796}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.75
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &5688398759945136006
|
||||
--- !u!1101 &1846144826618844133
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@ -1238,6 +1231,31 @@ AnimatorStateTransition:
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &5381093293389739199
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Selected
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 6386372134413823796}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.75
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!74 &5939040793034423229
|
||||
AnimationClip:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 077fbb30d2367574db4211e2945acda0
|
||||
guid: eb71f745b6cd4de419660adac752471b
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 9100000
|
||||
|
@ -13,6 +13,7 @@ GameObject:
|
||||
- component: {fileID: 7876932839802805243}
|
||||
- component: {fileID: 6141761943717344037}
|
||||
- component: {fileID: 2840965674874438582}
|
||||
- component: {fileID: 8127989733875123651}
|
||||
m_Layer: 5
|
||||
m_Name: BaseButton
|
||||
m_TagString: Untagged
|
||||
@ -68,7 +69,7 @@ MonoBehaviour:
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 3
|
||||
m_Transition: 0
|
||||
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}
|
||||
@ -89,7 +90,7 @@ MonoBehaviour:
|
||||
m_SelectedTrigger: Selected
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 0}
|
||||
m_TargetGraphic: {fileID: 2857241882409296209}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
@ -103,7 +104,7 @@ Animator:
|
||||
m_GameObject: {fileID: 7153853149712347897}
|
||||
m_Enabled: 1
|
||||
m_Avatar: {fileID: 0}
|
||||
m_Controller: {fileID: 9100000, guid: 662dee01fb75baf4a8b0706a2a8997d1, type: 2}
|
||||
m_Controller: {fileID: 9100000, guid: 077fbb30d2367574db4211e2945acda0, type: 2}
|
||||
m_CullingMode: 0
|
||||
m_UpdateMode: 0
|
||||
m_ApplyRootMotion: 0
|
||||
@ -135,6 +136,22 @@ MonoBehaviour:
|
||||
m_FlexibleWidth: -1
|
||||
m_FlexibleHeight: -1
|
||||
m_LayoutPriority: 1
|
||||
--- !u!114 &8127989733875123651
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7153853149712347897}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fb17a59bc188495b84cb323bb982f64b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_button: {fileID: 7876932839802805243}
|
||||
_animator: {fileID: 6141761943717344037}
|
||||
_synchronizeStates: 1
|
||||
_buttonType: 0
|
||||
--- !u!1001 &1381293524313834950
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -165,7 +182,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7857853769095069531, guid: c7ae409f7430c9a408d36ccf54ef4164, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: TextLabel
|
||||
value: Label
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 9048682655274794071, guid: c7ae409f7430c9a408d36ccf54ef4164, type: 3}
|
||||
propertyPath: m_Pivot.x
|
||||
@ -359,13 +376,24 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6023966856263752882, guid: ecdd9e5f95150a64788ab21d61a154b9, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: BaseBackground
|
||||
value: Background
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: ecdd9e5f95150a64788ab21d61a154b9, type: 3}
|
||||
--- !u!114 &2857241882409296209 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 4684438329468569219, guid: ecdd9e5f95150a64788ab21d61a154b9, type: 3}
|
||||
m_PrefabInstance: {fileID: 7396178934505482194}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!224 &3058851479138929988 stripped
|
||||
RectTransform:
|
||||
m_CorrespondingSourceObject: {fileID: 5537097381728496278, guid: ecdd9e5f95150a64788ab21d61a154b9, type: 3}
|
||||
|
@ -158,6 +158,10 @@ PrefabInstance:
|
||||
propertyPath: m_Name
|
||||
value: ButtonWithOutline
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7876932839802805243, guid: 556da9949111f1a428d7e13fe22600fb, type: 3}
|
||||
propertyPath: m_TargetGraphic
|
||||
value:
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects:
|
||||
- {fileID: 3836482481758862176, guid: 556da9949111f1a428d7e13fe22600fb, type: 3}
|
||||
@ -262,7 +266,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4018690074381891769, guid: b82b15dc37a01c04d82151c6c7fd0ee6, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: BackgroundWithOutline
|
||||
value: Background
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
|
@ -163,6 +163,10 @@ PrefabInstance:
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2994250131869375978, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Background
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6930594362999665433, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: FilledButtonWithOutline
|
||||
|
@ -294,10 +294,6 @@ PrefabInstance:
|
||||
propertyPath: m_HorizontalAlignment
|
||||
value: 4
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6220058918333870789, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
propertyPath: m_Controller
|
||||
value:
|
||||
objectReference: {fileID: 9100000, guid: 83afdd7c8e0232443a83b09a90d0d3b1, type: 2}
|
||||
- target: {fileID: 6930594362999665433, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: ItemSlot
|
||||
@ -343,17 +339,6 @@ PrefabInstance:
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: -7696367963215207771}
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
--- !u!114 &304190825780974321 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 7942522337697241627, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
m_PrefabInstance: {fileID: 7638441478130698474}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 733902947636509683}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &733902947636509683 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 6930594362999665433, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
@ -372,7 +357,6 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
<RectTransform>k__BackingField: {fileID: 7689845634213550448}
|
||||
_button: {fileID: 304190825780974321}
|
||||
_backgroundImage: {fileID: 5843313364549996337}
|
||||
_icon: {fileID: 4868191311215280477}
|
||||
_countText: {fileID: 3433189186403740826}
|
||||
|
@ -112,14 +112,14 @@ PrefabInstance:
|
||||
propertyPath: m_fontSize
|
||||
value: 36
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6220058918333870789, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
propertyPath: m_Controller
|
||||
value:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6930594362999665433, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: TabButton
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8333232481367262243, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
propertyPath: _buttonType
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
@ -145,23 +145,4 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: a0323801ed497de44ab53f18c23cc402, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_button: {fileID: 1035128454163554855}
|
||||
_animator: {fileID: 3906332291023473401}
|
||||
_content: []
|
||||
_isEnabled: 1
|
||||
--- !u!114 &1035128454163554855 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 7942522337697241627, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
m_PrefabInstance: {fileID: 6945678879497254972}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 20944589761710885}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!95 &3906332291023473401 stripped
|
||||
Animator:
|
||||
m_CorrespondingSourceObject: {fileID: 6220058918333870789, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
m_PrefabInstance: {fileID: 6945678879497254972}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
|
@ -96,6 +96,10 @@ PrefabInstance:
|
||||
propertyPath: m_text
|
||||
value: "\uD655\uC778"
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6220058918333870789, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
propertyPath: m_Controller
|
||||
value:
|
||||
objectReference: {fileID: 9100000, guid: 1ccba7a2ea7adb54b9c10f748eb5e15c, type: 2}
|
||||
- target: {fileID: 6930594362999665433, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: ConfirmButton
|
||||
@ -118,15 +122,15 @@ RectTransform:
|
||||
m_CorrespondingSourceObject: {fileID: 51478933647135130, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
m_PrefabInstance: {fileID: 365676999855177481}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &7722165617535051026 stripped
|
||||
--- !u!114 &8554221910551001898 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 7942522337697241627, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
m_CorrespondingSourceObject: {fileID: 8333232481367262243, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
m_PrefabInstance: {fileID: 365676999855177481}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: fb17a59bc188495b84cb323bb982f64b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1001 &1754916058526123613
|
||||
@ -327,6 +331,10 @@ PrefabInstance:
|
||||
propertyPath: m_text
|
||||
value: "\uCDE8\uC18C"
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6220058918333870789, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
propertyPath: m_Controller
|
||||
value:
|
||||
objectReference: {fileID: 9100000, guid: 1ccba7a2ea7adb54b9c10f748eb5e15c, type: 2}
|
||||
- target: {fileID: 6930594362999665433, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: CancelButton
|
||||
@ -340,15 +348,15 @@ PrefabInstance:
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
--- !u!114 &3014273876221658359 stripped
|
||||
--- !u!114 &3767486664176736975 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 7942522337697241627, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
m_CorrespondingSourceObject: {fileID: 8333232481367262243, guid: 4e6ece2a19dc5204bb37f2182e8d857c, type: 3}
|
||||
m_PrefabInstance: {fileID: 5182899775093219052}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: fb17a59bc188495b84cb323bb982f64b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!224 &5141905932541103990 stripped
|
||||
@ -813,12 +821,11 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
<UiType>k__BackingField: 3
|
||||
_enableBlockImage: 1
|
||||
InputActionMaps: 3
|
||||
_uiActionsInputBinding: {fileID: 11400000, guid: 99d3d87bd43df65488e757c43a308f36, type: 2}
|
||||
_messageLabel: {fileID: 3495127426411772216}
|
||||
_messageLabelLocalizeStringEvent: {fileID: 7334955628972040157}
|
||||
_cancelButton: {fileID: 3014273876221658359}
|
||||
_confirmButton: {fileID: 7722165617535051026}
|
||||
_cancelButton: {fileID: 3767486664176736975}
|
||||
_confirmButton: {fileID: 8554221910551001898}
|
||||
--- !u!224 &1239966994818037661 stripped
|
||||
RectTransform:
|
||||
m_CorrespondingSourceObject: {fileID: 8967231042952671610, guid: 4f2bf029cb06b084ba41defc8fc76731, type: 3}
|
||||
|
@ -5440,6 +5440,10 @@ PrefabInstance:
|
||||
propertyPath: m_Name
|
||||
value: CompleteBatchButton
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8042095202224553856, guid: 58ae0c57367fe0641baa61ad17086ce2, type: 3}
|
||||
propertyPath: m_Controller
|
||||
value:
|
||||
objectReference: {fileID: 9100000, guid: 1ccba7a2ea7adb54b9c10f748eb5e15c, type: 2}
|
||||
- target: {fileID: 8965898531745589557, guid: 58ae0c57367fe0641baa61ad17086ce2, type: 3}
|
||||
propertyPath: m_text
|
||||
value: "\uBC30\uCE58 \uC644\uB8CC"
|
||||
@ -5481,6 +5485,18 @@ PrefabInstance:
|
||||
propertyPath: propertyValue
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5843313364549996337, guid: 1ad3a3bc80a837444b272ed226c73c9a, type: 3}
|
||||
propertyPath: m_Color.b
|
||||
value: 0.44705886
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5843313364549996337, guid: 1ad3a3bc80a837444b272ed226c73c9a, type: 3}
|
||||
propertyPath: m_Color.g
|
||||
value: 0.5254902
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5843313364549996337, guid: 1ad3a3bc80a837444b272ed226c73c9a, type: 3}
|
||||
propertyPath: m_Color.r
|
||||
value: 0.5529412
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7689845634213550448, guid: 1ad3a3bc80a837444b272ed226c73c9a, type: 3}
|
||||
propertyPath: m_Pivot.x
|
||||
value: 0.5
|
||||
@ -8375,6 +8391,10 @@ PrefabInstance:
|
||||
propertyPath: m_Navigation.m_Mode
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1423582709212085279, guid: b8766f1471289d74bbcdc2f5ad979e8b, type: 3}
|
||||
propertyPath: _isEnabled
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2720195383270857804, guid: b8766f1471289d74bbcdc2f5ad979e8b, type: 3}
|
||||
propertyPath: m_text
|
||||
value: "\uC810\uC6D0"
|
||||
|
BIN
Assets/_DDD/_Addressables/So/RestaurantData/RestaurantManagementData.asset
(Stored with Git LFS)
BIN
Assets/_DDD/_Addressables/So/RestaurantData/RestaurantManagementData.asset
(Stored with Git LFS)
Binary file not shown.
@ -1899,6 +1899,10 @@ PrefabInstance:
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 9202130552867610519, guid: 1804d4a9b5156fb4fab4ef0464ee226b, type: 3}
|
||||
propertyPath: _animator
|
||||
value:
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents:
|
||||
- {fileID: 6504051702555978097, guid: 1804d4a9b5156fb4fab4ef0464ee226b, type: 3}
|
||||
m_RemovedGameObjects: []
|
||||
|
@ -59,7 +59,7 @@ public async Task Init()
|
||||
}
|
||||
#else
|
||||
var data = new SceneData(activeScene, null);
|
||||
_loadedSceneDatas[GameFlowState.None] = data;
|
||||
_loadedSceneDatas[GameFlowState.Normal] = data;
|
||||
#endif
|
||||
await PreloadAll();
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
using UnityEngine.EventSystems;
|
||||
using UnityEngine.InputSystem;
|
||||
using UnityEngine.Localization.Components;
|
||||
@ -12,11 +13,11 @@ public class ConfirmUi : PopupUi<RestaurantUiActions, ConfirmViewModel>
|
||||
{
|
||||
[SerializeField] private TextMeshProUGUI _messageLabel;
|
||||
[SerializeField] private LocalizeStringEvent _messageLabelLocalizeStringEvent;
|
||||
[SerializeField] private Button _cancelButton;
|
||||
[SerializeField] private Button _confirmButton;
|
||||
[SerializeField] private CommonButton _cancelButton;
|
||||
[SerializeField] private CommonButton _confirmButton;
|
||||
|
||||
private Action _onCancel;
|
||||
private Action _onConfirm;
|
||||
private UnityAction _onCancel;
|
||||
private UnityAction _onConfirm;
|
||||
|
||||
protected override GameObject GetInitialSelected()
|
||||
{
|
||||
@ -36,8 +37,14 @@ public override void Open(OpenPopupUiEvent evt)
|
||||
|
||||
_messageLabelLocalizeStringEvent.StringReference = LocalizationManager.Instance.GetLocalizedString(evt.NewMessageKey);
|
||||
|
||||
_cancelButton.onClick.RemoveAllListeners();
|
||||
_confirmButton.onClick.RemoveAllListeners();
|
||||
if (_onCancel != null)
|
||||
{
|
||||
_cancelButton.RemoveListener(_onCancel);
|
||||
}
|
||||
if (_onConfirm != null)
|
||||
{
|
||||
_confirmButton.RemoveListener(_onConfirm);
|
||||
}
|
||||
|
||||
_onCancel = () =>
|
||||
{
|
||||
@ -51,13 +58,14 @@ public override void Open(OpenPopupUiEvent evt)
|
||||
Close();
|
||||
};
|
||||
|
||||
_cancelButton.onClick.AddListener(() => _onCancel?.Invoke());
|
||||
_confirmButton.onClick.AddListener(() => _onConfirm?.Invoke());
|
||||
_cancelButton.AddListener(_onCancel);
|
||||
_confirmButton.AddListener(_onConfirm);
|
||||
|
||||
_cancelButton.gameObject.SetActive(evt.IsCancelButtonVisible);
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected override bool OnInputPerformed(RestaurantUiActions actionEnum, InputAction.CallbackContext context)
|
||||
{
|
||||
if (base.OnInputPerformed(actionEnum, context) == false) return false;
|
||||
|
@ -9,7 +9,7 @@ public enum TodayMenuEventType
|
||||
Remove
|
||||
}
|
||||
|
||||
public class ItemSlotInteractor : MonoBehaviour, IInteractableUi
|
||||
public class ItemSlotInteractor : MonoBehaviour
|
||||
{
|
||||
private ItemSlotUi _itemSlotUi;
|
||||
|
||||
@ -17,18 +17,15 @@ public class ItemSlotInteractor : MonoBehaviour, IInteractableUi
|
||||
|
||||
public IItemSlotInteractorStrategy Strategy { get; private set; }
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
_itemSlotUi = GetComponent<ItemSlotUi>();
|
||||
}
|
||||
|
||||
public void Initialize(TodayMenuEventType todayMenuEventType, IItemSlotInteractorStrategy strategy)
|
||||
{
|
||||
_itemSlotUi = GetComponent<ItemSlotUi>();
|
||||
_todayMenuEventType = todayMenuEventType;
|
||||
Strategy = strategy;
|
||||
_itemSlotUi.AddListener(OnInteracted);
|
||||
}
|
||||
|
||||
public void OnInteract()
|
||||
public void OnInteracted()
|
||||
{
|
||||
switch (_todayMenuEventType)
|
||||
{
|
||||
|
@ -1,14 +1,15 @@
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
using UnityEngine.EventSystems;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace DDD
|
||||
{
|
||||
[RequireComponent(typeof(CommonButton))]
|
||||
public class ItemSlotUi : MonoBehaviour, ISelectHandler, IAutoScrollItem
|
||||
{
|
||||
[field: SerializeField] public RectTransform RectTransform { get; private set; }
|
||||
[SerializeField] private Button _button;
|
||||
[SerializeField] private Image _backgroundImage;
|
||||
[SerializeField] private Image _icon;
|
||||
[SerializeField] private TextMeshProUGUI _countText;
|
||||
@ -17,9 +18,13 @@ public class ItemSlotUi : MonoBehaviour, ISelectHandler, IAutoScrollItem
|
||||
|
||||
[field: SerializeField] public ItemViewModel Model { get; private set; }
|
||||
public IItemSlotUiStrategy Strategy { get; private set; }
|
||||
|
||||
private CommonButton _commonButton;
|
||||
|
||||
public void Initialize(ItemViewModel model, IItemSlotUiStrategy strategy)
|
||||
{
|
||||
_commonButton = GetComponent<CommonButton>();
|
||||
|
||||
Model = model;
|
||||
Strategy = strategy;
|
||||
|
||||
@ -43,12 +48,14 @@ public void ShowMark(Sprite sprite)
|
||||
_markImage.gameObject.SetActive(true);
|
||||
}
|
||||
public void HideMark() => _markImage.gameObject.SetActive(false);
|
||||
public void SetButtonInteractable(bool interactable) => _button.interactable = interactable;
|
||||
public void SetButtonInteractable(bool interactable) => _commonButton.SetInteractable(interactable);
|
||||
public void SetActive(bool value) => gameObject.SetActive(value);
|
||||
public void OnSelect(BaseEventData eventData)
|
||||
{
|
||||
RestaurantEvents.ItemSlotSelectedEvent.Model = Model;
|
||||
EventBus.Broadcast(RestaurantEvents.ItemSlotSelectedEvent);
|
||||
}
|
||||
public void AddListener(UnityAction action) => _commonButton.AddListener(action);
|
||||
public void ForceUpdateState() => _commonButton.ForceUpdateState();
|
||||
}
|
||||
}
|
@ -98,7 +98,6 @@ protected override GameObject GetInitialSelected()
|
||||
{
|
||||
if (IsInitialized == false) return null;
|
||||
|
||||
// ViewModel의 현재 상태에 따라 초기 선택 UI 결정
|
||||
var inventoryInitialSelected = _inventoryView.GetInitialSelected();
|
||||
if (inventoryInitialSelected)
|
||||
{
|
||||
|
@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using UnityEngine.Events;
|
||||
|
||||
namespace DDD
|
||||
{
|
||||
@ -18,12 +19,6 @@ public interface ITabButton
|
||||
/// </summary>
|
||||
bool IsInteractable { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 탭 데이터를 설정합니다.
|
||||
/// </summary>
|
||||
/// <param name="tabValue">탭 값</param>
|
||||
void SetTabData(int tabValue);
|
||||
|
||||
/// <summary>
|
||||
/// 탭의 선택 상태를 설정합니다.
|
||||
/// </summary>
|
||||
@ -33,6 +28,6 @@ public interface ITabButton
|
||||
/// <summary>
|
||||
/// 탭이 클릭되었을 때 발생하는 이벤트
|
||||
/// </summary>
|
||||
event Action<int> OnTabClicked;
|
||||
event UnityAction OnSelected;
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.Events;
|
||||
|
||||
namespace DDD
|
||||
{
|
||||
@ -22,87 +21,43 @@ public enum InventoryCategoryType
|
||||
Cookware, // 조리도구
|
||||
Special // 특수 아이템
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 공통 탭 버튼 UI 클래스
|
||||
/// 제네릭 없이 탭을 관리합니다.
|
||||
/// </summary>
|
||||
public class TabButtonUi : MonoBehaviour, IInteractableUi, ITabButton
|
||||
|
||||
[RequireComponent(typeof(CommonButton))]
|
||||
public class TabButtonUi : MonoBehaviour, ITabButton
|
||||
{
|
||||
[SerializeField] private Button _button;
|
||||
[SerializeField] private Animator _animator;
|
||||
[SerializeField] private List<GameObject> _content = new();
|
||||
|
||||
[SerializeField] private bool _isEnabled = true;
|
||||
|
||||
private Action<int> _onSelected;
|
||||
private CommonButton _commonButton;
|
||||
private bool _isSelected;
|
||||
|
||||
// ITabButton 인터페이스 구현을 위한 필드
|
||||
private int _tabButtonValue;
|
||||
public event Action<int> OnTabClicked;
|
||||
|
||||
private readonly int _canDisabled = Animator.StringToHash("CanDisabled");
|
||||
|
||||
public event UnityAction OnSelected;
|
||||
|
||||
// ITabButton 인터페이스 구현
|
||||
public int TabValue => _tabButtonValue;
|
||||
public bool IsInteractable => _button != null && _button.interactable;
|
||||
public bool IsInteractable => _commonButton.IsInteractable;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
if (_isEnabled == false)
|
||||
{
|
||||
_animator.SetBool(_canDisabled, true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (_isSelected == true)
|
||||
{
|
||||
_animator.SetTrigger(nameof(DefaultAnimatorParams.Selected));
|
||||
}
|
||||
}
|
||||
|
||||
public void Initialize(Action<int> onSelected)
|
||||
public void Initialize(int tabValue, UnityAction onSelected)
|
||||
{
|
||||
_commonButton = GetComponent<CommonButton>();
|
||||
gameObject.SetActive(true);
|
||||
_onSelected = onSelected;
|
||||
_button.onClick.AddListener(() => _onSelected?.Invoke(_tabButtonValue));
|
||||
|
||||
if (_commonButton.IsEnabled == false) return;
|
||||
|
||||
_tabButtonValue = tabValue;
|
||||
OnSelected = onSelected;
|
||||
_commonButton.AddListener(OnSelected);
|
||||
}
|
||||
|
||||
public void SetSelected(bool isSelected)
|
||||
{
|
||||
if (_isEnabled == false) return;
|
||||
if (_commonButton.IsEnabled == false) return;
|
||||
|
||||
_isSelected = isSelected;
|
||||
SetActiveContents(isSelected);
|
||||
_button.interactable = _isSelected == false;
|
||||
|
||||
if (_isSelected == true)
|
||||
{
|
||||
_animator.SetTrigger(nameof(DefaultAnimatorParams.Selected));
|
||||
}
|
||||
else
|
||||
{
|
||||
_animator.SetTrigger(nameof(DefaultAnimatorParams.Normal));
|
||||
}
|
||||
}
|
||||
|
||||
public void SetTabData(int tabValue)
|
||||
{
|
||||
if (_isEnabled == false) return;
|
||||
|
||||
_tabButtonValue = tabValue;
|
||||
|
||||
// 버튼 클릭 이벤트 설정
|
||||
if (_button != null)
|
||||
{
|
||||
_button.onClick.RemoveAllListeners();
|
||||
_button.onClick.AddListener(() =>
|
||||
{
|
||||
_onSelected?.Invoke(tabValue);
|
||||
OnTabClicked?.Invoke(tabValue);
|
||||
});
|
||||
}
|
||||
_commonButton.SetToggle(_isSelected);
|
||||
}
|
||||
|
||||
private void SetActiveContents(bool isActive)
|
||||
@ -112,11 +67,5 @@ private void SetActiveContents(bool isActive)
|
||||
content.SetActive(isActive);
|
||||
}
|
||||
}
|
||||
|
||||
public void OnInteract()
|
||||
{
|
||||
_onSelected?.Invoke(_tabButtonValue);
|
||||
OnTabClicked?.Invoke(_tabButtonValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -61,19 +61,6 @@ public class TabGroupUi : MonoBehaviour
|
||||
|
||||
public event Action<int> OnTabSelected;
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
if (_tabButtons == null) return;
|
||||
|
||||
foreach (var tabButton in _tabButtons)
|
||||
{
|
||||
if (tabButton != null)
|
||||
{
|
||||
tabButton.OnTabClicked -= HandleTabButtonClicked;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Initialize(Action<int> onTabSelected)
|
||||
{
|
||||
if (onTabSelected != null)
|
||||
@ -119,13 +106,7 @@ public void InitializeTabsWithValues(List<int> allowedValues)
|
||||
|
||||
if (tabButton != null)
|
||||
{
|
||||
// 탭 버튼 데이터 설정
|
||||
tabButton.SetTabData(enumValue);
|
||||
|
||||
// 클릭 이벤트 설정 (add/remove 패턴 사용)
|
||||
tabButton.OnTabClicked += HandleTabButtonClicked;
|
||||
|
||||
// 딕셔너리에 추가
|
||||
tabButton.Initialize(enumValue, () => HandleTabButtonClicked(enumValue));
|
||||
_tabLookup[enumValue] = tabButton;
|
||||
}
|
||||
}
|
||||
|
292
Assets/_DDD/_Scripts/GameUi/CommonButton.cs
Normal file
292
Assets/_DDD/_Scripts/GameUi/CommonButton.cs
Normal file
@ -0,0 +1,292 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.EventSystems;
|
||||
using UnityEngine.InputSystem;
|
||||
|
||||
namespace DDD
|
||||
{
|
||||
public enum ButtonState
|
||||
{
|
||||
Normal,
|
||||
Highlighted,
|
||||
Pressed,
|
||||
Selected,
|
||||
Disabled
|
||||
}
|
||||
|
||||
public enum ButtonType
|
||||
{
|
||||
Normal = 0,
|
||||
Toggle
|
||||
}
|
||||
|
||||
[RequireComponent(typeof(Button))]
|
||||
public class CommonButton : MonoBehaviour, IInteractableUi, IPointerClickHandler, IPointerEnterHandler, IPointerExitHandler,
|
||||
IPointerDownHandler, IPointerUpHandler, ISelectHandler, IDeselectHandler, ISubmitHandler
|
||||
{
|
||||
[SerializeField] private Button _button;
|
||||
[SerializeField] private Animator _animator;
|
||||
[SerializeField] private bool _isEnabled = true;
|
||||
[SerializeField] private bool _synchronizeStates = true;
|
||||
[SerializeField] private ButtonType _buttonType;
|
||||
|
||||
private bool _isPressed;
|
||||
private bool _isHighlighted;
|
||||
private bool _isSelected;
|
||||
private bool _isToggled;
|
||||
|
||||
private readonly int _normalHash = Animator.StringToHash("Normal");
|
||||
private readonly int _highlightedHash = Animator.StringToHash("Highlighted");
|
||||
private readonly int _pressedHash = Animator.StringToHash("Pressed");
|
||||
private readonly int _selectedHash = Animator.StringToHash("Selected");
|
||||
private readonly int _toggleHash = Animator.StringToHash("Toggled");
|
||||
private readonly int _disabledHash = Animator.StringToHash("Disabled");
|
||||
private readonly int _isEnabledHash = Animator.StringToHash("Enabled");
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
_isPressed = false;
|
||||
_isHighlighted = false;
|
||||
_isSelected = false;
|
||||
_isToggled = false;
|
||||
|
||||
UpdateVisualState();
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
if (_button)
|
||||
{
|
||||
_button.onClick.RemoveAllListeners();
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateVisualState()
|
||||
{
|
||||
if (gameObject.activeInHierarchy == false || _synchronizeStates == false) return;
|
||||
|
||||
var currentState = GetCurrentState();
|
||||
ApplyVisualState(currentState);
|
||||
}
|
||||
|
||||
private ButtonState GetCurrentState()
|
||||
{
|
||||
if (_buttonType == ButtonType.Normal)
|
||||
{
|
||||
if (_button.interactable == false)
|
||||
{
|
||||
return ButtonState.Disabled;
|
||||
}
|
||||
if (_isPressed)
|
||||
{
|
||||
return ButtonState.Pressed;
|
||||
}
|
||||
if (_isSelected)
|
||||
{
|
||||
return ButtonState.Selected;
|
||||
}
|
||||
return ButtonState.Normal;
|
||||
}
|
||||
if (_buttonType == ButtonType.Toggle)
|
||||
{
|
||||
if (_isToggled)
|
||||
{
|
||||
return ButtonState.Selected;
|
||||
}
|
||||
if (_isPressed)
|
||||
{
|
||||
return ButtonState.Pressed;
|
||||
}
|
||||
if (_isSelected || _isHighlighted)
|
||||
{
|
||||
return ButtonState.Highlighted;
|
||||
}
|
||||
if (_button.interactable == false)
|
||||
{
|
||||
return ButtonState.Disabled;
|
||||
}
|
||||
}
|
||||
|
||||
return ButtonState.Normal;
|
||||
}
|
||||
|
||||
private void ApplyVisualState(ButtonState state)
|
||||
{
|
||||
if (_animator && _animator.runtimeAnimatorController)
|
||||
{
|
||||
ApplyAnimatorState(state);
|
||||
}
|
||||
}
|
||||
|
||||
private void ApplyAnimatorState(ButtonState state)
|
||||
{
|
||||
_animator.SetBool(_isEnabledHash, _isEnabled);
|
||||
_animator.SetBool(_highlightedHash, _isHighlighted);
|
||||
_animator.SetBool(_pressedHash, _isPressed);
|
||||
_animator.SetBool(_selectedHash, _isSelected);
|
||||
_animator.SetBool(_toggleHash, _isToggled);
|
||||
_animator.SetBool(_disabledHash, !_button.interactable);
|
||||
}
|
||||
|
||||
public void OnInteract()
|
||||
{
|
||||
_button.onClick.Invoke();
|
||||
}
|
||||
|
||||
public void OnPointerClick(PointerEventData eventData)
|
||||
{
|
||||
UpdateVisualState();
|
||||
}
|
||||
|
||||
public void OnPointerEnter(PointerEventData eventData)
|
||||
{
|
||||
if (_button.interactable == false) return;
|
||||
|
||||
if (_buttonType == ButtonType.Normal)
|
||||
{
|
||||
_isSelected = true;
|
||||
EventSystem.current.SetSelectedGameObject(gameObject);
|
||||
}
|
||||
else if (_buttonType == ButtonType.Toggle)
|
||||
{
|
||||
_isHighlighted = true;
|
||||
}
|
||||
UpdateVisualState();
|
||||
}
|
||||
|
||||
public void OnPointerExit(PointerEventData eventData)
|
||||
{
|
||||
if (_button.interactable == false) return;
|
||||
|
||||
if (_buttonType == ButtonType.Normal)
|
||||
{
|
||||
_isSelected = false;
|
||||
}
|
||||
else if (_buttonType == ButtonType.Toggle)
|
||||
{
|
||||
_isHighlighted = false;
|
||||
}
|
||||
UpdateVisualState();
|
||||
}
|
||||
|
||||
public void OnPointerDown(PointerEventData eventData)
|
||||
{
|
||||
if (_button.interactable == false) return;
|
||||
|
||||
if (eventData.button == PointerEventData.InputButton.Left)
|
||||
{
|
||||
_isPressed = true;
|
||||
UpdateVisualState();
|
||||
}
|
||||
}
|
||||
|
||||
public void OnPointerUp(PointerEventData eventData)
|
||||
{
|
||||
if (_button.interactable == false) return;
|
||||
|
||||
if (eventData.button == PointerEventData.InputButton.Left)
|
||||
{
|
||||
_isPressed = false;
|
||||
if (_buttonType == ButtonType.Normal)
|
||||
{
|
||||
_isSelected = false;
|
||||
}
|
||||
else if (_buttonType == ButtonType.Toggle)
|
||||
{
|
||||
_isHighlighted = false;
|
||||
_isToggled = true;
|
||||
}
|
||||
UpdateVisualState();
|
||||
}
|
||||
}
|
||||
|
||||
public void OnSelect(BaseEventData eventData)
|
||||
{
|
||||
if (_button.interactable == false) return;
|
||||
|
||||
if (_buttonType == ButtonType.Normal)
|
||||
{
|
||||
_isSelected = true;
|
||||
}
|
||||
else if (_buttonType == ButtonType.Toggle)
|
||||
{
|
||||
_isHighlighted = true;
|
||||
}
|
||||
UpdateVisualState();
|
||||
}
|
||||
|
||||
public void OnDeselect(BaseEventData eventData)
|
||||
{
|
||||
if (_button.interactable == false) return;
|
||||
|
||||
if (_buttonType == ButtonType.Normal)
|
||||
{
|
||||
_isSelected = false;
|
||||
}
|
||||
else if (_buttonType == ButtonType.Toggle)
|
||||
{
|
||||
_isHighlighted = false;
|
||||
}
|
||||
UpdateVisualState();
|
||||
}
|
||||
|
||||
public void OnSubmit(BaseEventData eventData)
|
||||
{
|
||||
_button.onClick.Invoke();
|
||||
}
|
||||
|
||||
public void AddListener(UnityAction action) => _button.onClick.AddListener(action);
|
||||
public void RemoveListener(UnityAction action) => _button?.onClick.RemoveListener(action);
|
||||
public void RemoveAllListeners() => _button.onClick.RemoveAllListeners();
|
||||
|
||||
public bool IsEnabled => _isEnabled;
|
||||
public bool IsInteractable => _button.interactable;
|
||||
|
||||
public void SetInteractable(bool interactable)
|
||||
{
|
||||
_button.interactable = interactable;
|
||||
UpdateVisualState();
|
||||
}
|
||||
|
||||
public void SetToggle(bool isSelected)
|
||||
{
|
||||
if (_buttonType == ButtonType.Toggle)
|
||||
{
|
||||
_isToggled = isSelected;
|
||||
_isHighlighted = false;
|
||||
_button.interactable = !isSelected;
|
||||
}
|
||||
|
||||
UpdateVisualState();
|
||||
}
|
||||
|
||||
public void ForceUpdateState()
|
||||
{
|
||||
UpdateVisualState();
|
||||
}
|
||||
|
||||
public bool UseToggle
|
||||
{
|
||||
get => _buttonType == ButtonType.Toggle;
|
||||
set => _buttonType = value ? ButtonType.Toggle : ButtonType.Normal;
|
||||
}
|
||||
|
||||
public bool IsToggled => _isToggled;
|
||||
|
||||
public void SetToggleState(bool toggled)
|
||||
{
|
||||
if (_buttonType != ButtonType.Toggle) return;
|
||||
|
||||
_isToggled = toggled;
|
||||
_isPressed = false;
|
||||
if (!toggled)
|
||||
{
|
||||
_isSelected = false;
|
||||
}
|
||||
|
||||
UpdateVisualState();
|
||||
}
|
||||
}
|
||||
}
|
@ -1,402 +0,0 @@
|
||||
// using System;
|
||||
// using UnityEngine;
|
||||
// using UnityEngine.UI;
|
||||
// using UnityEngine.EventSystems;
|
||||
// using UnityEngine.InputSystem;
|
||||
//
|
||||
// namespace DDD
|
||||
// {
|
||||
// public enum ButtonState
|
||||
// {
|
||||
// Normal,
|
||||
// Highlighted,
|
||||
// Pressed,
|
||||
// Selected,
|
||||
// Disabled
|
||||
// }
|
||||
//
|
||||
// public enum ButtonType
|
||||
// {
|
||||
// None = 0,
|
||||
// Toggle
|
||||
// }
|
||||
//
|
||||
// // TODO : ButtonType == None
|
||||
// // normal, selected(마우스 pointerEnter, eventsystem selected), pressed (마우스 pointerDown, 키보드 외부 입력처리), disabled
|
||||
// // Highlighted가 사실상 selected로 통합, 실제로 마우스가 가리키는 오브젝트가 eventsystem의 selected가 됨
|
||||
// // ButtonType == Toggle
|
||||
// // normal, highlighted, selected(계속 눌려있는 상태, 추후에 ToggleGroup 클래스에서 관리 - 다른 토글이 눌리기 전까지 풀리지 않음), pressed(눌리면 selected 고정), disabled
|
||||
//
|
||||
// public class UiButton : MonoBehaviour, IInteractableUi, IPointerEnterHandler, IPointerExitHandler,
|
||||
// IPointerDownHandler, IPointerUpHandler, ISelectHandler, IDeselectHandler, ISubmitHandler
|
||||
// {
|
||||
// [Header("Button Components")]
|
||||
// [SerializeField] private Button _button;
|
||||
// [SerializeField] private Selectable _selectable;
|
||||
//
|
||||
// [Header("State Synchronization")]
|
||||
// [SerializeField] private bool _synchronizeStates = true;
|
||||
// [SerializeField] private bool _handleKeyboardInput = true;
|
||||
// [SerializeField] private bool _handleGamepadInput = true;
|
||||
//
|
||||
// [Header("Visual Feedback")]
|
||||
// [SerializeField] private Animator _animator;
|
||||
// [SerializeField] private Image _targetGraphic;
|
||||
//
|
||||
// [Header("Toggle Functionality")]
|
||||
// [SerializeField] private ButtonType _buttonType;
|
||||
//
|
||||
// // State tracking
|
||||
// private bool _isPressed;
|
||||
// private bool _isHighlighted;
|
||||
// private bool _isSelected;
|
||||
// private bool _wasSelectedByKeyboard;
|
||||
// private bool _isToggled = false;
|
||||
//
|
||||
// // Events
|
||||
// public event Action OnClicked;
|
||||
// public event Action OnStateChanged;
|
||||
//
|
||||
// // Animation parameter hashes (if using Animator)
|
||||
// private readonly int _normalHash = Animator.StringToHash("Normal");
|
||||
// private readonly int _highlightedHash = Animator.StringToHash("Highlighted");
|
||||
// private readonly int _pressedHash = Animator.StringToHash("Pressed");
|
||||
// private readonly int _selectedHash = Animator.StringToHash("Selected");
|
||||
// private readonly int _disabledHash = Animator.StringToHash("Disabled");
|
||||
//
|
||||
// private void Awake()
|
||||
// {
|
||||
// InitializeComponents();
|
||||
// }
|
||||
//
|
||||
// private void OnEnable()
|
||||
// {
|
||||
// if (_button != null)
|
||||
// {
|
||||
// _button.onClick.AddListener(HandleButtonClick);
|
||||
// }
|
||||
//
|
||||
// UpdateVisualState();
|
||||
// }
|
||||
//
|
||||
// private void OnDisable()
|
||||
// {
|
||||
// if (_button != null)
|
||||
// {
|
||||
// _button.onClick.RemoveListener(HandleButtonClick);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// private void Update()
|
||||
// {
|
||||
// HandleInputUpdate();
|
||||
// }
|
||||
//
|
||||
// private void InitializeComponents()
|
||||
// {
|
||||
// // Get Button component if not assigned
|
||||
// if (_button == null)
|
||||
// {
|
||||
// _button = GetComponent<Button>();
|
||||
// }
|
||||
//
|
||||
// // Get Selectable component (Button inherits from Selectable)
|
||||
// if (_selectable == null)
|
||||
// {
|
||||
// _selectable = _button;
|
||||
// }
|
||||
//
|
||||
// // Get target graphic from button if not assigned
|
||||
// if (_targetGraphic == null && _button != null)
|
||||
// {
|
||||
// _targetGraphic = _button.targetGraphic as Image;
|
||||
// }
|
||||
//
|
||||
// // Get Animator if not assigned
|
||||
// if (_animator == null)
|
||||
// {
|
||||
// _animator = GetComponent<Animator>();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// private void HandleInputUpdate()
|
||||
// {
|
||||
// if (!_handleKeyboardInput && !_handleGamepadInput) return;
|
||||
// if (_selectable == null || !_selectable.interactable) return;
|
||||
//
|
||||
// // Handle keyboard/gamepad input when this button is selected
|
||||
// if (EventSystem.current != null && EventSystem.current.currentSelectedGameObject == gameObject)
|
||||
// {
|
||||
// //HandleSelectedInput();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// private void HandleSelectedInput()
|
||||
// {
|
||||
// var keyboard = Keyboard.current;
|
||||
// var gamepad = Gamepad.current;
|
||||
//
|
||||
// // Handle keyboard input
|
||||
// if (_handleKeyboardInput && keyboard != null)
|
||||
// {
|
||||
// if (keyboard.enterKey.wasPressedThisFrame || keyboard.spaceKey.wasPressedThisFrame)
|
||||
// {
|
||||
// HandleButtonClick();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // Handle gamepad input
|
||||
// if (_handleGamepadInput && gamepad != null)
|
||||
// {
|
||||
// if (gamepad.buttonSouth.wasPressedThisFrame) // A button on Xbox controller
|
||||
// {
|
||||
// HandleButtonClick();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// private void HandleButtonClick()
|
||||
// {
|
||||
// if (_selectable != null && !_selectable.interactable) return;
|
||||
//
|
||||
// if (_buttonType == ButtonType.Toggle)
|
||||
// {
|
||||
// _isToggled = !_isToggled;
|
||||
//
|
||||
// if (_isToggled)
|
||||
// {
|
||||
// // When toggled on, maintain pressed state and make non-interactable
|
||||
// _isPressed = true;
|
||||
// _selectable.interactable = false;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// // When toggled off, restore normal behavior
|
||||
// _isPressed = false;
|
||||
// _selectable.interactable = true;
|
||||
// }
|
||||
//
|
||||
// UpdateVisualState();
|
||||
// }
|
||||
//
|
||||
// OnClicked?.Invoke();
|
||||
// }
|
||||
//
|
||||
// private void UpdateVisualState()
|
||||
// {
|
||||
// if (!_synchronizeStates) return;
|
||||
//
|
||||
// var currentState = GetCurrentState();
|
||||
// print(currentState);
|
||||
// ApplyVisualState(currentState);
|
||||
// OnStateChanged?.Invoke();
|
||||
// }
|
||||
//
|
||||
// private ButtonState GetCurrentState()
|
||||
// {
|
||||
// if (_selectable == null || (!_selectable.interactable && !_isToggled))
|
||||
// return ButtonState.Disabled;
|
||||
//
|
||||
// // Toggle mode: when toggled on, maintain pressed state even if not interactable
|
||||
// if (_useToggle && _isToggled)
|
||||
// return ButtonState.Pressed;
|
||||
//
|
||||
// if (_isPressed)
|
||||
// return ButtonState.Pressed;
|
||||
//
|
||||
// if (_isSelected)
|
||||
// return ButtonState.Selected;
|
||||
//
|
||||
// if (_isHighlighted)
|
||||
// return ButtonState.Highlighted;
|
||||
//
|
||||
// return ButtonState.Normal;
|
||||
// }
|
||||
//
|
||||
// private void ApplyVisualState(ButtonState state)
|
||||
// {
|
||||
// // Apply animator state if available
|
||||
// if (_animator != null && _animator.runtimeAnimatorController != null)
|
||||
// {
|
||||
// ApplyAnimatorState(state);
|
||||
// }
|
||||
//
|
||||
// // Apply color tint if using Button's color block
|
||||
// if (_button != null && _targetGraphic != null)
|
||||
// {
|
||||
// ApplyColorState(state);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// private void ApplyAnimatorState(ButtonState state)
|
||||
// {
|
||||
// switch (state)
|
||||
// {
|
||||
// case ButtonState.Normal:
|
||||
// _animator.SetTrigger(_normalHash);
|
||||
// break;
|
||||
// case ButtonState.Highlighted:
|
||||
// _animator.SetTrigger(_highlightedHash);
|
||||
// break;
|
||||
// case ButtonState.Pressed:
|
||||
// _animator.SetTrigger(_pressedHash);
|
||||
// break;
|
||||
// case ButtonState.Selected:
|
||||
// _animator.SetTrigger(_selectedHash);
|
||||
// break;
|
||||
// case ButtonState.Disabled:
|
||||
// _animator.SetTrigger(_disabledHash);
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// private void ApplyColorState(ButtonState state)
|
||||
// {
|
||||
// var colors = _button.colors;
|
||||
// Color targetColor;
|
||||
//
|
||||
// switch (state)
|
||||
// {
|
||||
// case ButtonState.Normal:
|
||||
// targetColor = colors.normalColor;
|
||||
// break;
|
||||
// case ButtonState.Highlighted:
|
||||
// targetColor = colors.highlightedColor;
|
||||
// break;
|
||||
// case ButtonState.Pressed:
|
||||
// targetColor = colors.pressedColor;
|
||||
// break;
|
||||
// case ButtonState.Selected:
|
||||
// targetColor = colors.selectedColor;
|
||||
// break;
|
||||
// case ButtonState.Disabled:
|
||||
// targetColor = colors.disabledColor;
|
||||
// break;
|
||||
// default:
|
||||
// targetColor = colors.normalColor;
|
||||
// break;
|
||||
// }
|
||||
//
|
||||
// _targetGraphic.color = targetColor;
|
||||
// }
|
||||
//
|
||||
// // IInteractableUi implementation
|
||||
// public void OnInteract()
|
||||
// {
|
||||
// if (_selectable != null && _selectable.interactable)
|
||||
// {
|
||||
// // This method is called for programmatic interaction
|
||||
// HandleButtonClick();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // Pointer event handlers
|
||||
// public void OnPointerEnter(PointerEventData eventData)
|
||||
// {
|
||||
// _isHighlighted = true;
|
||||
// UpdateVisualState();
|
||||
// }
|
||||
//
|
||||
// public void OnPointerExit(PointerEventData eventData)
|
||||
// {
|
||||
// _isHighlighted = false;
|
||||
// UpdateVisualState();
|
||||
// }
|
||||
//
|
||||
// public void OnPointerDown(PointerEventData eventData)
|
||||
// {
|
||||
// if (eventData.button == PointerEventData.InputButton.Left)
|
||||
// {
|
||||
// if (_isSelected)
|
||||
// {
|
||||
// _isPressed = true;
|
||||
// UpdateVisualState();
|
||||
// return;
|
||||
// }
|
||||
// _isSelected = true;
|
||||
// UpdateVisualState();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// public void OnPointerUp(PointerEventData eventData)
|
||||
// {
|
||||
// if (eventData.button == PointerEventData.InputButton.Left)
|
||||
// {
|
||||
// // Don't reset pressed state in toggle mode when toggled on
|
||||
// if (_isPressed && !(_useToggle && _isToggled))
|
||||
// {
|
||||
// _isPressed = false;
|
||||
// }
|
||||
// _isSelected = false;
|
||||
// UpdateVisualState();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // Selection event handlers (for keyboard/gamepad navigation)
|
||||
// public void OnSelect(BaseEventData eventData)
|
||||
// {
|
||||
// _isSelected = true;
|
||||
// UpdateVisualState();
|
||||
// }
|
||||
//
|
||||
// public void OnDeselect(BaseEventData eventData)
|
||||
// {
|
||||
// _isSelected = false;
|
||||
// UpdateVisualState();
|
||||
// }
|
||||
//
|
||||
// // Submit handler (for keyboard/gamepad activation)
|
||||
// public void OnSubmit(BaseEventData eventData)
|
||||
// {
|
||||
// HandleButtonClick();
|
||||
// }
|
||||
//
|
||||
// // Public API
|
||||
// public bool IsInteractable => _selectable != null && _selectable.interactable;
|
||||
//
|
||||
// public void SetInteractable(bool interactable)
|
||||
// {
|
||||
// if (_selectable != null)
|
||||
// {
|
||||
// _selectable.interactable = interactable;
|
||||
// UpdateVisualState();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// public void ForceUpdateState()
|
||||
// {
|
||||
// UpdateVisualState();
|
||||
// }
|
||||
//
|
||||
// // Toggle functionality API
|
||||
// public bool UseToggle
|
||||
// {
|
||||
// get => _useToggle;
|
||||
// set => _useToggle = value;
|
||||
// }
|
||||
//
|
||||
// public bool IsToggled => _isToggled;
|
||||
//
|
||||
// public void SetToggleState(bool toggled)
|
||||
// {
|
||||
// if (!_useToggle) return;
|
||||
//
|
||||
// _isToggled = toggled;
|
||||
//
|
||||
// if (_isToggled)
|
||||
// {
|
||||
// _isPressed = true;
|
||||
// if (_selectable != null)
|
||||
// _selectable.interactable = false;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// _isPressed = false;
|
||||
// if (_selectable != null)
|
||||
// _selectable.interactable = true;
|
||||
// }
|
||||
//
|
||||
// UpdateVisualState();
|
||||
// }
|
||||
// }
|
||||
// }
|
@ -145,7 +145,7 @@ private static string BuildEnumCode(string rootNamespace, Dictionary<string, Has
|
||||
var enumName = IdentifierSanitizer.Sanitize(kv.Key, true);
|
||||
var values = kv.Value
|
||||
.Where(v => !string.IsNullOrWhiteSpace(v) &&
|
||||
!string.Equals(v, "None", StringComparison.OrdinalIgnoreCase))
|
||||
!string.Equals(v, "Normal", StringComparison.OrdinalIgnoreCase))
|
||||
.Select(v => IdentifierSanitizer.Sanitize(v, true))
|
||||
.Distinct(StringComparer.OrdinalIgnoreCase)
|
||||
.OrderBy(v => v, StringComparer.Ordinal)
|
||||
@ -153,7 +153,7 @@ private static string BuildEnumCode(string rootNamespace, Dictionary<string, Has
|
||||
|
||||
sb.AppendLine($" public enum {enumName}");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" None = 0,");
|
||||
sb.AppendLine(" Normal = 0,");
|
||||
for (int i = 0; i < values.Count; i++)
|
||||
sb.AppendLine($" {values[i]} = {i + 1},");
|
||||
sb.AppendLine(" }");
|
||||
@ -231,7 +231,7 @@ private string GenerateDataClass(string rootNamespace, string className, JArray
|
||||
|
||||
private static string NormalizeEnumKey(string input)
|
||||
{
|
||||
if (string.IsNullOrEmpty(input)) return "None";
|
||||
if (string.IsNullOrEmpty(input)) return "Normal";
|
||||
var valid = System.Text.RegularExpressions.Regex.Replace(input, @"[^a-zA-Z0-9_]+", "_");
|
||||
if (char.IsDigit(valid[0])) valid = "_" + valid;
|
||||
return char.ToUpperInvariant(valid[0]) + valid.Substring(1);
|
||||
|
@ -66,7 +66,7 @@ public bool TryConvert(string source, Type targetType, out object value)
|
||||
|
||||
private static string NormalizeEnumKey(string input)
|
||||
{
|
||||
if (string.IsNullOrEmpty(input)) return "None";
|
||||
if (string.IsNullOrEmpty(input)) return "Normal";
|
||||
string valid = System.Text.RegularExpressions.Regex.Replace(input, @"[^a-zA-Z0-9_]+", "_");
|
||||
if (char.IsDigit(valid[0])) valid = "_" + valid;
|
||||
return char.ToUpperInvariant(valid[0]) + valid.Substring(1);
|
||||
|
@ -201,7 +201,7 @@ private void ApplyOutlineType(InteractionOutlineType type)
|
||||
// OutlineData에서 해당 타입의 스타일 가져오기
|
||||
if (!_outlineData.TryGetValue(type, out var data))
|
||||
{
|
||||
// 데이터가 없으면 None 타입 적용
|
||||
// 데이터가 없으면 Normal 타입 적용
|
||||
data = _outlineData[InteractionOutlineType.None];
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user