Merge branch 'DO-32-코인-서버-연동' of https://github.com/Degulleo/DegullMok-Client into DO-32-코인-서버-연동
This commit is contained in:
commit
9ab68d8e2b
4
Assets/Plugins/Android/gradleTemplate.properties
Normal file
4
Assets/Plugins/Android/gradleTemplate.properties
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
org.gradle.jvmargs=-Xmx**JVM_HEAP_SIZE**M
|
||||||
|
org.gradle.parallel=true
|
||||||
|
unityStreamingAssets=**STREAMING_ASSETS**
|
||||||
|
**ADDITIONAL_PROPERTIES**
|
7
Assets/Plugins/Android/gradleTemplate.properties.meta
Normal file
7
Assets/Plugins/Android/gradleTemplate.properties.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 57bd9c046524f634fb28feaee6e8bfad
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
41
Assets/Plugins/Android/mainTemplate.gradle
Normal file
41
Assets/Plugins/Android/mainTemplate.gradle
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
apply plugin: 'com.android.library'
|
||||||
|
**APPLY_PLUGINS**
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
|
**DEPS**}
|
||||||
|
|
||||||
|
android {
|
||||||
|
namespace "com.unity3d.player"
|
||||||
|
ndkPath "**NDKPATH**"
|
||||||
|
compileSdkVersion **APIVERSION**
|
||||||
|
buildToolsVersion '**BUILDTOOLS**'
|
||||||
|
|
||||||
|
compileOptions {
|
||||||
|
sourceCompatibility JavaVersion.VERSION_11
|
||||||
|
targetCompatibility JavaVersion.VERSION_11
|
||||||
|
}
|
||||||
|
|
||||||
|
defaultConfig {
|
||||||
|
minSdkVersion **MINSDKVERSION**
|
||||||
|
targetSdkVersion **TARGETSDKVERSION**
|
||||||
|
ndk {
|
||||||
|
abiFilters **ABIFILTERS**
|
||||||
|
}
|
||||||
|
versionCode **VERSIONCODE**
|
||||||
|
versionName '**VERSIONNAME**'
|
||||||
|
consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD**
|
||||||
|
}
|
||||||
|
|
||||||
|
lintOptions {
|
||||||
|
abortOnError false
|
||||||
|
}
|
||||||
|
|
||||||
|
aaptOptions {
|
||||||
|
noCompress = **BUILTIN_NOCOMPRESS** + unityStreamingAssets.tokenize(', ')
|
||||||
|
ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:!CVS:!thumbs.db:!picasa.ini:!*~"
|
||||||
|
}**PACKAGING_OPTIONS**
|
||||||
|
}
|
||||||
|
**IL_CPP_BUILD_SETUP**
|
||||||
|
**SOURCE_BUILD_SETUP**
|
||||||
|
**EXTERNAL_SOURCES**
|
7
Assets/Plugins/Android/mainTemplate.gradle.meta
Normal file
7
Assets/Plugins/Android/mainTemplate.gradle.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 383d67e8b46371e4997c32d24e1c5340
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -58,7 +58,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
m_Color: {r: 0.17254902, g: 0.21568628, b: 0.34901962, a: 1}
|
m_Color: {r: 0.119200125, g: 0.9245283, b: 0.67288977, a: 1}
|
||||||
m_RaycastTarget: 1
|
m_RaycastTarget: 1
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
m_Maskable: 1
|
m_Maskable: 1
|
||||||
@ -133,7 +133,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
m_Color: {r: 0.17254902, g: 0.21568628, b: 0.34901962, a: 1}
|
m_Color: {r: 0.119200125, g: 0.9245283, b: 0.67288977, a: 1}
|
||||||
m_RaycastTarget: 1
|
m_RaycastTarget: 1
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
m_Maskable: 1
|
m_Maskable: 1
|
||||||
@ -160,6 +160,7 @@ GameObject:
|
|||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 4060305112283542636}
|
- component: {fileID: 4060305112283542636}
|
||||||
- component: {fileID: 8984618795075575334}
|
- component: {fileID: 8984618795075575334}
|
||||||
|
- component: {fileID: 2222382815855860034}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: Timer
|
m_Name: Timer
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -208,6 +209,45 @@ MonoBehaviour:
|
|||||||
headCapImage: {fileID: 3995031286537022070}
|
headCapImage: {fileID: 3995031286537022070}
|
||||||
tailCapImage: {fileID: 3282082939413405386}
|
tailCapImage: {fileID: 3282082939413405386}
|
||||||
timeText: {fileID: 1414465240440161498}
|
timeText: {fileID: 1414465240440161498}
|
||||||
|
--- !u!114 &2222382815855860034
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5197632138137602266}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 2eb8d899eaaa7614cbb7b1fdb98d0dd7, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
colorSettings:
|
||||||
|
- targetObject: {fileID: 8836467620212376791}
|
||||||
|
componentType: Image
|
||||||
|
color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
applyToChildren: 0
|
||||||
|
colorableComponent: {fileID: 4727671169278371324}
|
||||||
|
- targetObject: {fileID: 3197710723148271819}
|
||||||
|
componentType: Image
|
||||||
|
color: {r: 0.119200125, g: 0.9245283, b: 0.67288977, a: 1}
|
||||||
|
applyToChildren: 0
|
||||||
|
colorableComponent: {fileID: 337344169386659086}
|
||||||
|
- targetObject: {fileID: 6184671321993608803}
|
||||||
|
componentType: TMP_Text
|
||||||
|
color: {r: 0.119200125, g: 0.9245283, b: 0.67288977, a: 1}
|
||||||
|
applyToChildren: 0
|
||||||
|
colorableComponent: {fileID: 1414465240440161498}
|
||||||
|
- targetObject: {fileID: 880875562942959157}
|
||||||
|
componentType: Image
|
||||||
|
color: {r: 0.119200125, g: 0.9245283, b: 0.67288977, a: 1}
|
||||||
|
applyToChildren: 0
|
||||||
|
colorableComponent: {fileID: 3995031286537022070}
|
||||||
|
- targetObject: {fileID: 8065228685685210519}
|
||||||
|
componentType: Image
|
||||||
|
color: {r: 0.119200125, g: 0.9245283, b: 0.67288977, a: 1}
|
||||||
|
applyToChildren: 0
|
||||||
|
colorableComponent: {fileID: 3282082939413405386}
|
||||||
|
autoDetectChildren: 1
|
||||||
--- !u!1 &6184671321993608803
|
--- !u!1 &6184671321993608803
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -282,8 +322,8 @@ MonoBehaviour:
|
|||||||
m_fontMaterials: []
|
m_fontMaterials: []
|
||||||
m_fontColor32:
|
m_fontColor32:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
rgba: 4284036908
|
rgba: 4289522718
|
||||||
m_fontColor: {r: 0.17254902, g: 0.21568628, b: 0.34901962, a: 1}
|
m_fontColor: {r: 0.119200125, g: 0.9245283, b: 0.67288977, a: 1}
|
||||||
m_enableVertexGradient: 0
|
m_enableVertexGradient: 0
|
||||||
m_colorMode: 3
|
m_colorMode: 3
|
||||||
m_fontColorGradient:
|
m_fontColorGradient:
|
||||||
@ -400,7 +440,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
m_Color: {r: 0.17254902, g: 0.21568628, b: 0.34901962, a: 1}
|
m_Color: {r: 0.119200125, g: 0.9245283, b: 0.67288977, a: 1}
|
||||||
m_RaycastTarget: 1
|
m_RaycastTarget: 1
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
m_Maskable: 1
|
m_Maskable: 1
|
||||||
@ -475,7 +515,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
m_Color: {r: 0.9490196, g: 0.9490196, b: 0.9490196, a: 1}
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
m_RaycastTarget: 1
|
m_RaycastTarget: 1
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
m_Maskable: 1
|
m_Maskable: 1
|
||||||
|
@ -37,7 +37,7 @@ RectTransform:
|
|||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 50, y: -100}
|
m_AnchoredPosition: {x: 50, y: -100}
|
||||||
m_SizeDelta: {x: 228, y: 125.900024}
|
m_SizeDelta: {x: 228, y: 188.85}
|
||||||
m_Pivot: {x: 0, y: 1}
|
m_Pivot: {x: 0, y: 1}
|
||||||
--- !u!222 &4747539784995484548
|
--- !u!222 &4747539784995484548
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
@ -196,10 +196,10 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
|
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_UiScaleMode: 0
|
m_UiScaleMode: 1
|
||||||
m_ReferencePixelsPerUnit: 100
|
m_ReferencePixelsPerUnit: 100
|
||||||
m_ScaleFactor: 1
|
m_ScaleFactor: 1
|
||||||
m_ReferenceResolution: {x: 800, y: 600}
|
m_ReferenceResolution: {x: 1920, y: 1080}
|
||||||
m_ScreenMatchMode: 0
|
m_ScreenMatchMode: 0
|
||||||
m_MatchWidthOrHeight: 0
|
m_MatchWidthOrHeight: 0
|
||||||
m_PhysicalUnit: 3
|
m_PhysicalUnit: 3
|
||||||
@ -224,6 +224,44 @@ MonoBehaviour:
|
|||||||
m_BlockingMask:
|
m_BlockingMask:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Bits: 4294967295
|
m_Bits: 4294967295
|
||||||
|
--- !u!1 &638907547342607085
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 6209444297678801107}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Player Div
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &6209444297678801107
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 638907547342607085}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 8758049298581854606}
|
||||||
|
- {fileID: 2785359725927864505}
|
||||||
|
- {fileID: 1286412008661516750}
|
||||||
|
m_Father: {fileID: 8942070830740152784}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 1, y: 0}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: -600, y: 335}
|
||||||
|
m_Pivot: {x: 0.5, y: 0}
|
||||||
--- !u!1 &2180157736785062510
|
--- !u!1 &2180157736785062510
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -284,7 +322,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
m_Color: {r: 1, g: 0.3679244, b: 0.49593952, a: 1}
|
m_Color: {r: 1, g: 1, b: 1, a: 0}
|
||||||
m_RaycastTarget: 1
|
m_RaycastTarget: 1
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
m_Maskable: 1
|
m_Maskable: 1
|
||||||
@ -292,7 +330,7 @@ MonoBehaviour:
|
|||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
m_Sprite: {fileID: 0}
|
m_Sprite: {fileID: 0}
|
||||||
m_Type: 1
|
m_Type: 0
|
||||||
m_PreserveAspect: 0
|
m_PreserveAspect: 0
|
||||||
m_FillCenter: 1
|
m_FillCenter: 1
|
||||||
m_FillMethod: 4
|
m_FillMethod: 4
|
||||||
@ -406,17 +444,14 @@ RectTransform:
|
|||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 8758049298581854606}
|
- {fileID: 451599240785790819}
|
||||||
- {fileID: 2785359725927864505}
|
- {fileID: 6209444297678801107}
|
||||||
- {fileID: 1286412008661516750}
|
|
||||||
- {fileID: 1250546304786973426}
|
|
||||||
- {fileID: 2039662309230983458}
|
|
||||||
m_Father: {fileID: 6113787613246818512}
|
m_Father: {fileID: 6113787613246818512}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0.5, y: 0}
|
m_AnchorMax: {x: 1, y: 0}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 100}
|
||||||
m_SizeDelta: {x: 1080, y: 500}
|
m_SizeDelta: {x: 0, y: 500}
|
||||||
m_Pivot: {x: 0.5, y: 0}
|
m_Pivot: {x: 0.5, y: 0}
|
||||||
--- !u!222 &870318249725167959
|
--- !u!222 &870318249725167959
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
@ -439,7 +474,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
m_Color: {r: 0.78798443, g: 0.26167864, b: 0.8238993, a: 1}
|
m_Color: {r: 1, g: 1, b: 1, a: 0}
|
||||||
m_RaycastTarget: 1
|
m_RaycastTarget: 1
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
m_Maskable: 1
|
m_Maskable: 1
|
||||||
@ -481,19 +516,19 @@ RectTransform:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 2964396940857713075}
|
m_GameObject: {fileID: 2964396940857713075}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 3482171304034939411}
|
- {fileID: 3482171304034939411}
|
||||||
m_Father: {fileID: 8942070830740152784}
|
m_Father: {fileID: 451599240785790819}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0.5}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0.5}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: -0.000061035156, y: 0}
|
||||||
m_SizeDelta: {x: 540, y: 120}
|
m_SizeDelta: {x: 540, y: 120}
|
||||||
m_Pivot: {x: 0, y: 1}
|
m_Pivot: {x: 0, y: 0.5}
|
||||||
--- !u!222 &2606606041086763757
|
--- !u!222 &2606606041086763757
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -832,13 +867,13 @@ RectTransform:
|
|||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2627969753235636098}
|
- {fileID: 2627969753235636098}
|
||||||
m_Father: {fileID: 8942070830740152784}
|
m_Father: {fileID: 6209444297678801107}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
m_AnchoredPosition: {x: 0, y: 100}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 250, y: 250}
|
m_SizeDelta: {x: 250, y: 250}
|
||||||
m_Pivot: {x: 0.5, y: 0}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &7235566515169572492
|
--- !u!222 &7235566515169572492
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -1214,20 +1249,20 @@ RectTransform:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 4670535236205086833}
|
m_GameObject: {fileID: 4670535236205086833}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 7503863592388163661}
|
- {fileID: 7503863592388163661}
|
||||||
- {fileID: 6390176559788333322}
|
- {fileID: 6390176559788333322}
|
||||||
m_Father: {fileID: 8942070830740152784}
|
m_Father: {fileID: 6209444297678801107}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0.5}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 0.5}
|
||||||
m_AnchoredPosition: {x: 50, y: 40}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 250, y: 300}
|
m_SizeDelta: {x: 250, y: 300}
|
||||||
m_Pivot: {x: 0, y: 0}
|
m_Pivot: {x: 0, y: 0.5}
|
||||||
--- !u!1 &5258332010899716781
|
--- !u!1 &5258332010899716781
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -1251,20 +1286,20 @@ RectTransform:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 5258332010899716781}
|
m_GameObject: {fileID: 5258332010899716781}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 469323470332872332}
|
- {fileID: 469323470332872332}
|
||||||
- {fileID: 380278372965382015}
|
- {fileID: 380278372965382015}
|
||||||
m_Father: {fileID: 8942070830740152784}
|
m_Father: {fileID: 6209444297678801107}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 1, y: 0}
|
m_AnchorMin: {x: 1, y: 0.5}
|
||||||
m_AnchorMax: {x: 1, y: 0}
|
m_AnchorMax: {x: 1, y: 0.5}
|
||||||
m_AnchoredPosition: {x: -50, y: 40}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 250, y: 300}
|
m_SizeDelta: {x: 250, y: 300}
|
||||||
m_Pivot: {x: 1, y: 0}
|
m_Pivot: {x: 1, y: 0.5}
|
||||||
--- !u!1 &5273637481048279427
|
--- !u!1 &5273637481048279427
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -1633,19 +1668,19 @@ RectTransform:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 8214827650714712775}
|
m_GameObject: {fileID: 8214827650714712775}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 4790269285780218839}
|
- {fileID: 4790269285780218839}
|
||||||
m_Father: {fileID: 8942070830740152784}
|
m_Father: {fileID: 451599240785790819}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 1, y: 1}
|
m_AnchorMin: {x: 1, y: 0.5}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 0.5}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 540, y: 120}
|
m_SizeDelta: {x: 540, y: 120}
|
||||||
m_Pivot: {x: 1, y: 1}
|
m_Pivot: {x: 1, y: 0.5}
|
||||||
--- !u!222 &4536082858370354248
|
--- !u!222 &4536082858370354248
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -1684,6 +1719,43 @@ MonoBehaviour:
|
|||||||
m_FillOrigin: 0
|
m_FillOrigin: 0
|
||||||
m_UseSpriteMesh: 0
|
m_UseSpriteMesh: 0
|
||||||
m_PixelsPerUnitMultiplier: 1
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!1 &8622821704889965313
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 451599240785790819}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Indicator Div
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &451599240785790819
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8622821704889965313}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 1250546304786973426}
|
||||||
|
- {fileID: 2039662309230983458}
|
||||||
|
m_Father: {fileID: 8942070830740152784}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: -300, y: 120}
|
||||||
|
m_Pivot: {x: 0.5, y: 1}
|
||||||
--- !u!1001 &4056566997434591085
|
--- !u!1001 &4056566997434591085
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
File diff suppressed because it is too large
Load Diff
22
Assets/Script/Game/CameraController.cs
Normal file
22
Assets/Script/Game/CameraController.cs
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
[RequireComponent(typeof(Camera))]
|
||||||
|
public class CameraController : MonoBehaviour
|
||||||
|
{
|
||||||
|
[SerializeField] private float widthUnit = 6f;
|
||||||
|
|
||||||
|
private Camera _camera;
|
||||||
|
void Start()
|
||||||
|
{
|
||||||
|
_camera = GetComponent<Camera>();
|
||||||
|
_camera.orthographicSize = widthUnit / _camera.aspect / 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Update()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
11
Assets/Script/Game/CameraController.cs.meta
Normal file
11
Assets/Script/Game/CameraController.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a98355720bed2234fb32d55fc1b0cce6
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
3
Assets/Script/Utilty.meta
Normal file
3
Assets/Script/Utilty.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d8268e93b195495ebd68dffa2b3b5aaa
|
||||||
|
timeCreated: 1741935635
|
357
Assets/Script/Utilty/FioChildColorEditor.cs
Normal file
357
Assets/Script/Utilty/FioChildColorEditor.cs
Normal file
@ -0,0 +1,357 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using TMPro;
|
||||||
|
|
||||||
|
#if UNITY_EDITOR
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEditor.SceneManagement;
|
||||||
|
using System.Linq;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// 하위 요소들의 색상을 인스펙터에서 수정할 수 있게 해주는 컴포넌트
|
||||||
|
public class FioChildColorEditor : MonoBehaviour
|
||||||
|
{
|
||||||
|
// 인스펙터에서 수정할 색상 정보
|
||||||
|
[System.Serializable]
|
||||||
|
public class ColorSettings
|
||||||
|
{
|
||||||
|
public GameObject targetObject; // 직접 오브젝트 참조
|
||||||
|
public string componentType; // 컴포넌트 타입 (읽기 전용)
|
||||||
|
public Color color = Color.white; // 적용할 색상
|
||||||
|
public bool applyToChildren = false; // 해당 요소의 모든 하위 요소에도 적용할지 여부
|
||||||
|
|
||||||
|
[HideInInspector]
|
||||||
|
public Component colorableComponent; // 색상을 적용할 컴포넌트 참조
|
||||||
|
}
|
||||||
|
|
||||||
|
// 인스펙터에서 편집할 색상 목록
|
||||||
|
public List<ColorSettings> colorSettings = new List<ColorSettings>();
|
||||||
|
|
||||||
|
// 자동 감지 옵션
|
||||||
|
public bool autoDetectChildren = true;
|
||||||
|
|
||||||
|
// 지원되는 컴포넌트 유형들
|
||||||
|
private static readonly System.Type[] supportedTypes = new System.Type[]
|
||||||
|
{
|
||||||
|
typeof(Renderer),
|
||||||
|
typeof(SpriteRenderer),
|
||||||
|
typeof(UnityEngine.UI.Image),
|
||||||
|
typeof(UnityEngine.UI.RawImage),
|
||||||
|
typeof(UnityEngine.UI.Text),
|
||||||
|
typeof(TMP_Text)
|
||||||
|
};
|
||||||
|
|
||||||
|
// 초기화 시 하위 요소 자동 감지
|
||||||
|
private void OnValidate()
|
||||||
|
{
|
||||||
|
if (autoDetectChildren)
|
||||||
|
{
|
||||||
|
DetectChildComponents();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 모든 항목에 대해 컴포넌트 타입 업데이트
|
||||||
|
UpdateComponentTypes();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 하위 요소 자동 감지
|
||||||
|
public void DetectChildComponents()
|
||||||
|
{
|
||||||
|
// 현재 목록을 유지할 오브젝트들
|
||||||
|
HashSet<GameObject> existingObjects = new HashSet<GameObject>();
|
||||||
|
foreach (var setting in colorSettings)
|
||||||
|
{
|
||||||
|
if (setting.targetObject != null)
|
||||||
|
{
|
||||||
|
existingObjects.Add(setting.targetObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 모든 자식 오브젝트 검색
|
||||||
|
List<ColorSettings> newSettings = new List<ColorSettings>();
|
||||||
|
foreach (Transform child in transform)
|
||||||
|
{
|
||||||
|
// 이미 목록에 있는 오브젝트는 건너뛰기
|
||||||
|
if (existingObjects.Contains(child.gameObject))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 지원되는 컴포넌트 찾기
|
||||||
|
Component colorableComponent = FindColorableComponent(child.gameObject);
|
||||||
|
if (colorableComponent != null)
|
||||||
|
{
|
||||||
|
ColorSettings setting = new ColorSettings
|
||||||
|
{
|
||||||
|
targetObject = child.gameObject,
|
||||||
|
colorableComponent = colorableComponent,
|
||||||
|
color = GetCurrentColor(colorableComponent)
|
||||||
|
};
|
||||||
|
newSettings.Add(setting);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 새로운 항목 추가 (기존 항목은 유지)
|
||||||
|
colorSettings.AddRange(newSettings);
|
||||||
|
|
||||||
|
// 컴포넌트 타입 업데이트
|
||||||
|
UpdateComponentTypes();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 컴포넌트 타입 문자열 업데이트
|
||||||
|
private void UpdateComponentTypes()
|
||||||
|
{
|
||||||
|
foreach (var setting in colorSettings)
|
||||||
|
{
|
||||||
|
if (setting.targetObject != null)
|
||||||
|
{
|
||||||
|
// 컴포넌트 찾기
|
||||||
|
Component comp = setting.colorableComponent;
|
||||||
|
if (comp == null)
|
||||||
|
{
|
||||||
|
comp = FindColorableComponent(setting.targetObject);
|
||||||
|
setting.colorableComponent = comp;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (comp != null)
|
||||||
|
{
|
||||||
|
setting.componentType = GetComponentTypeName(comp);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
setting.componentType = "지원되지 않음";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
setting.componentType = "없음";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 컴포넌트 타입 이름 얻기
|
||||||
|
private string GetComponentTypeName(Component component)
|
||||||
|
{
|
||||||
|
if (component is Renderer) return "Renderer";
|
||||||
|
if (component is SpriteRenderer) return "SpriteRenderer";
|
||||||
|
if (component is UnityEngine.UI.Image) return "Image";
|
||||||
|
if (component is UnityEngine.UI.RawImage) return "RawImage";
|
||||||
|
if (component is UnityEngine.UI.Text) return "Text";
|
||||||
|
if (component is TMP_Text) return "TMP_Text";
|
||||||
|
return component.GetType().Name;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 색상을 적용할 수 있는 컴포넌트 찾기
|
||||||
|
private Component FindColorableComponent(GameObject obj)
|
||||||
|
{
|
||||||
|
foreach (var type in supportedTypes)
|
||||||
|
{
|
||||||
|
Component comp = obj.GetComponent(type);
|
||||||
|
if (comp != null)
|
||||||
|
{
|
||||||
|
return comp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 현재 색상 가져오기
|
||||||
|
private Color GetCurrentColor(Component component)
|
||||||
|
{
|
||||||
|
if (component is Renderer renderer)
|
||||||
|
{
|
||||||
|
return renderer.material.color;
|
||||||
|
}
|
||||||
|
else if (component is SpriteRenderer spriteRenderer)
|
||||||
|
{
|
||||||
|
return spriteRenderer.color;
|
||||||
|
}
|
||||||
|
else if (component is UnityEngine.UI.Graphic graphic)
|
||||||
|
{
|
||||||
|
return graphic.color;
|
||||||
|
}
|
||||||
|
else if (component is TMP_Text tmpText)
|
||||||
|
{
|
||||||
|
return tmpText.color;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Color.white;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 색상을 적용하는 함수
|
||||||
|
public void ApplyColors()
|
||||||
|
{
|
||||||
|
foreach (var setting in colorSettings)
|
||||||
|
{
|
||||||
|
if (setting.targetObject != null)
|
||||||
|
{
|
||||||
|
ApplyColorToObject(setting.targetObject, setting.color, setting.applyToChildren);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 특정 오브젝트에 색상 적용
|
||||||
|
private void ApplyColorToObject(GameObject obj, Color color, bool applyToChildren)
|
||||||
|
{
|
||||||
|
// 렌더러
|
||||||
|
Renderer renderer = obj.GetComponent<Renderer>();
|
||||||
|
if (renderer != null)
|
||||||
|
{
|
||||||
|
renderer.material.color = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 스프라이트 렌더러
|
||||||
|
SpriteRenderer spriteRenderer = obj.GetComponent<SpriteRenderer>();
|
||||||
|
if (spriteRenderer != null)
|
||||||
|
{
|
||||||
|
spriteRenderer.color = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
// UI 이미지
|
||||||
|
UnityEngine.UI.Image image = obj.GetComponent<UnityEngine.UI.Image>();
|
||||||
|
if (image != null)
|
||||||
|
{
|
||||||
|
image.color = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
// UI 로우 이미지
|
||||||
|
UnityEngine.UI.RawImage rawImage = obj.GetComponent<UnityEngine.UI.RawImage>();
|
||||||
|
if (rawImage != null)
|
||||||
|
{
|
||||||
|
rawImage.color = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
// UI 텍스트
|
||||||
|
UnityEngine.UI.Text text = obj.GetComponent<UnityEngine.UI.Text>();
|
||||||
|
if (text != null)
|
||||||
|
{
|
||||||
|
text.color = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TextMeshPro 텍스트
|
||||||
|
TMP_Text tmpText = obj.GetComponent<TMP_Text>();
|
||||||
|
if (tmpText != null)
|
||||||
|
{
|
||||||
|
tmpText.color = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 하위 요소에도 재귀적으로 색상 적용
|
||||||
|
if (applyToChildren)
|
||||||
|
{
|
||||||
|
foreach (Transform child in obj.transform)
|
||||||
|
{
|
||||||
|
ApplyColorToObject(child.gameObject, color, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#if UNITY_EDITOR
|
||||||
|
// 에디터 인스펙터 커스터마이징
|
||||||
|
[CustomEditor(typeof(FioChildColorEditor))]
|
||||||
|
public class ChildColorEditorInspector : Editor
|
||||||
|
{
|
||||||
|
private SerializedProperty colorSettingsProperty;
|
||||||
|
private SerializedProperty autoDetectChildrenProperty;
|
||||||
|
|
||||||
|
private void OnEnable()
|
||||||
|
{
|
||||||
|
colorSettingsProperty = serializedObject.FindProperty("colorSettings");
|
||||||
|
autoDetectChildrenProperty = serializedObject.FindProperty("autoDetectChildren");
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnInspectorGUI()
|
||||||
|
{
|
||||||
|
serializedObject.Update();
|
||||||
|
|
||||||
|
FioChildColorEditor colorEditor = (FioChildColorEditor)target;
|
||||||
|
|
||||||
|
// 자동 감지 옵션
|
||||||
|
EditorGUILayout.PropertyField(autoDetectChildrenProperty, new GUIContent("자동 하위 요소 감지"));
|
||||||
|
|
||||||
|
// 새로고침 버튼
|
||||||
|
EditorGUILayout.BeginHorizontal();
|
||||||
|
if (GUILayout.Button("하위 요소 새로 감지", GUILayout.Height(30)))
|
||||||
|
{
|
||||||
|
colorEditor.DetectChildComponents();
|
||||||
|
serializedObject.Update();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (GUILayout.Button("목록 초기화", GUILayout.Height(30)))
|
||||||
|
{
|
||||||
|
colorSettingsProperty.ClearArray();
|
||||||
|
colorEditor.DetectChildComponents();
|
||||||
|
serializedObject.Update();
|
||||||
|
}
|
||||||
|
EditorGUILayout.EndHorizontal();
|
||||||
|
|
||||||
|
// 구분선 추가
|
||||||
|
EditorGUILayout.Space();
|
||||||
|
EditorGUILayout.LabelField("", GUI.skin.horizontalSlider);
|
||||||
|
|
||||||
|
// 목록 타이틀
|
||||||
|
EditorGUILayout.LabelField("하위 요소 색상 설정", EditorStyles.boldLabel);
|
||||||
|
|
||||||
|
// 각 항목 표시
|
||||||
|
for (int i = 0; i < colorSettingsProperty.arraySize; i++)
|
||||||
|
{
|
||||||
|
SerializedProperty itemProperty = colorSettingsProperty.GetArrayElementAtIndex(i);
|
||||||
|
SerializedProperty targetObjectProperty = itemProperty.FindPropertyRelative("targetObject");
|
||||||
|
SerializedProperty componentTypeProperty = itemProperty.FindPropertyRelative("componentType");
|
||||||
|
SerializedProperty colorProperty = itemProperty.FindPropertyRelative("color");
|
||||||
|
SerializedProperty applyToChildrenProperty = itemProperty.FindPropertyRelative("applyToChildren");
|
||||||
|
|
||||||
|
EditorGUILayout.BeginVertical(EditorStyles.helpBox);
|
||||||
|
|
||||||
|
// 왼쪽에 오브젝트 선택 필드, 오른쪽에 컴포넌트 타입 표시
|
||||||
|
EditorGUILayout.BeginHorizontal();
|
||||||
|
EditorGUILayout.PropertyField(targetObjectProperty, GUIContent.none, GUILayout.ExpandWidth(true));
|
||||||
|
|
||||||
|
GUI.enabled = false;
|
||||||
|
EditorGUILayout.TextField(componentTypeProperty.stringValue, GUILayout.Width(100));
|
||||||
|
GUI.enabled = true;
|
||||||
|
|
||||||
|
if (GUILayout.Button("✕", GUILayout.Width(20)))
|
||||||
|
{
|
||||||
|
colorSettingsProperty.DeleteArrayElementAtIndex(i);
|
||||||
|
serializedObject.ApplyModifiedProperties();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
EditorGUILayout.EndHorizontal();
|
||||||
|
|
||||||
|
// 색상과 하위 요소 적용 옵션
|
||||||
|
EditorGUILayout.PropertyField(colorProperty);
|
||||||
|
EditorGUILayout.PropertyField(applyToChildrenProperty, new GUIContent("하위 요소에도 적용"));
|
||||||
|
|
||||||
|
EditorGUILayout.EndVertical();
|
||||||
|
EditorGUILayout.Space();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 항목 추가 버튼
|
||||||
|
if (GUILayout.Button("항목 추가"))
|
||||||
|
{
|
||||||
|
colorSettingsProperty.arraySize++;
|
||||||
|
serializedObject.ApplyModifiedProperties();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 구분선 추가
|
||||||
|
EditorGUILayout.Space();
|
||||||
|
EditorGUILayout.LabelField("", GUI.skin.horizontalSlider);
|
||||||
|
EditorGUILayout.Space();
|
||||||
|
|
||||||
|
// 색상 적용 버튼 추가
|
||||||
|
if (GUILayout.Button("모든 색상 적용하기", GUILayout.Height(40)))
|
||||||
|
{
|
||||||
|
colorEditor.ApplyColors();
|
||||||
|
|
||||||
|
// 씬 변경 사항 저장
|
||||||
|
EditorUtility.SetDirty(target);
|
||||||
|
if (!Application.isPlaying)
|
||||||
|
{
|
||||||
|
EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
serializedObject.ApplyModifiedProperties();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
11
Assets/Script/Utilty/FioChildColorEditor.cs.meta
Normal file
11
Assets/Script/Utilty/FioChildColorEditor.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2eb8d899eaaa7614cbb7b1fdb98d0dd7
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
4
ProjectSettings/GvhProjectSettings.xml
Normal file
4
ProjectSettings/GvhProjectSettings.xml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<projectSettings>
|
||||||
|
<projectSetting name="GooglePlayServices.UseJetifier" value="True" />
|
||||||
|
</projectSettings>
|
Loading…
x
Reference in New Issue
Block a user