ugui 소스 제거
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 468ba7fb3e976344eb340d05295e56e6
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
67
Assets/Resources/SHI/Prefabs/ISOPModal.prefab
Normal file
67
Assets/Resources/SHI/Prefabs/ISOPModal.prefab
Normal file
@@ -0,0 +1,67 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &3129090381825983309
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1951183495053314226}
|
||||
- component: {fileID: 5150788519260695383}
|
||||
- component: {fileID: 5178822619495094378}
|
||||
m_Layer: 0
|
||||
m_Name: ISOPModal
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1951183495053314226
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3129090381825983309}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &5150788519260695383
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3129090381825983309}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_PanelSettings: {fileID: 11400000, guid: 23c44a2b28cd90c418bdfb0ea56f91e8, type: 2}
|
||||
m_ParentUI: {fileID: 0}
|
||||
sourceAsset: {fileID: 9197481963319205126, guid: c64f687137f7a2940861d34fc593a917, type: 3}
|
||||
m_SortingOrder: 100
|
||||
m_WorldSpaceSizeMode: 1
|
||||
m_WorldSpaceWidth: 1920
|
||||
m_WorldSpaceHeight: 1080
|
||||
--- !u!114 &5178822619495094378
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3129090381825983309}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a070d33d51211a84ea9e6c6e6133735f, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
uiDocument: {fileID: 5150788519260695383}
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2a2c49ea5939c5749aa88e892518f979
|
||||
guid: 7382f025177c6264da13b7255d6480d2
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c6c35cdcefd487f4b910ceed76b50a8f
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,823 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1462360020605571893
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1022765863909309765}
|
||||
- component: {fileID: 2951520196524031467}
|
||||
- component: {fileID: 2289736159566368719}
|
||||
- component: {fileID: 6025781672912143612}
|
||||
m_Layer: 5
|
||||
m_Name: Scrollbar Horizontal
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1022765863909309765
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1462360020605571893}
|
||||
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: 3097322909638401089}
|
||||
m_Father: {fileID: 8894486403032071402}
|
||||
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: 0, y: 5}
|
||||
m_Pivot: {x: 0, y: 0}
|
||||
--- !u!222 &2951520196524031467
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1462360020605571893}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &2289736159566368719
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1462360020605571893}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.09411765, g: 0.09411765, b: 0.09411765, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &6025781672912143612
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1462360020605571893}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_WrapAround: 0
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
m_SpriteState:
|
||||
m_HighlightedSprite: {fileID: 0}
|
||||
m_PressedSprite: {fileID: 0}
|
||||
m_SelectedSprite: {fileID: 0}
|
||||
m_DisabledSprite: {fileID: 0}
|
||||
m_AnimationTriggers:
|
||||
m_NormalTrigger: Normal
|
||||
m_HighlightedTrigger: Highlighted
|
||||
m_PressedTrigger: Pressed
|
||||
m_SelectedTrigger: Selected
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 2680734087760533677}
|
||||
m_HandleRect: {fileID: 6081086258189437538}
|
||||
m_Direction: 0
|
||||
m_Value: 0
|
||||
m_Size: 1
|
||||
m_NumberOfSteps: 0
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!1 &1572880287690542826
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3301928374361144381}
|
||||
m_Layer: 5
|
||||
m_Name: Sliding Area
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &3301928374361144381
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1572880287690542826}
|
||||
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: 6234462523872176539}
|
||||
m_Father: {fileID: 5780838202259870402}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: -20, y: -20}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &1848783212353540151
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5780838202259870402}
|
||||
- component: {fileID: 2689031090661273458}
|
||||
- component: {fileID: 4121319568877025449}
|
||||
- component: {fileID: 4856300785373777908}
|
||||
m_Layer: 5
|
||||
m_Name: Scrollbar Vertical
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &5780838202259870402
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1848783212353540151}
|
||||
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: 3301928374361144381}
|
||||
m_Father: {fileID: 8894486403032071402}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 5, y: 0}
|
||||
m_Pivot: {x: 1, y: 1}
|
||||
--- !u!222 &2689031090661273458
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1848783212353540151}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!114 &4121319568877025449
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1848783212353540151}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.09411765, g: 0.09411765, b: 0.09411765, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &4856300785373777908
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1848783212353540151}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_WrapAround: 0
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
m_SpriteState:
|
||||
m_HighlightedSprite: {fileID: 0}
|
||||
m_PressedSprite: {fileID: 0}
|
||||
m_SelectedSprite: {fileID: 0}
|
||||
m_DisabledSprite: {fileID: 0}
|
||||
m_AnimationTriggers:
|
||||
m_NormalTrigger: Normal
|
||||
m_HighlightedTrigger: Highlighted
|
||||
m_PressedTrigger: Pressed
|
||||
m_SelectedTrigger: Highlighted
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 7428146289359687929}
|
||||
m_HandleRect: {fileID: 6234462523872176539}
|
||||
m_Direction: 2
|
||||
m_Value: 0
|
||||
m_Size: 1
|
||||
m_NumberOfSteps: 0
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!1 &3011982018749398316
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8894486403032071402}
|
||||
- component: {fileID: 9000987459549261387}
|
||||
- component: {fileID: 4415661564241239138}
|
||||
- component: {fileID: 2006518343008415563}
|
||||
- component: {fileID: 5742779717166474465}
|
||||
m_Layer: 5
|
||||
m_Name: ShiTreeList
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &8894486403032071402
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3011982018749398316}
|
||||
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: 3974886479277341081}
|
||||
- {fileID: 5780838202259870402}
|
||||
- {fileID: 1022765863909309765}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: -76}
|
||||
m_SizeDelta: {x: 0, y: -76}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
--- !u!114 &9000987459549261387
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3011982018749398316}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7be08eb56899e2042811c8d1da0924a6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
itemPrefab: {fileID: 4190301731963491743, guid: 3b667b13f22b81b4896e14bd416de1f7, type: 3}
|
||||
root: {fileID: 908297234377844233}
|
||||
allowMultipleSelection: 1
|
||||
enableDragDrop: 1
|
||||
--- !u!222 &4415661564241239138
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3011982018749398316}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &2006518343008415563
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3011982018749398316}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.14509805, g: 0.14509805, b: 0.14901961, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &5742779717166474465
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3011982018749398316}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Content: {fileID: 2261173428971837695}
|
||||
m_Horizontal: 1
|
||||
m_Vertical: 1
|
||||
m_MovementType: 2
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
m_DecelerationRate: 0.135
|
||||
m_ScrollSensitivity: 10
|
||||
m_Viewport: {fileID: 3974886479277341081}
|
||||
m_HorizontalScrollbar: {fileID: 6025781672912143612}
|
||||
m_VerticalScrollbar: {fileID: 4856300785373777908}
|
||||
m_HorizontalScrollbarVisibility: 1
|
||||
m_VerticalScrollbarVisibility: 1
|
||||
m_HorizontalScrollbarSpacing: -3
|
||||
m_VerticalScrollbarSpacing: -3
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!1 &3904395414431480648
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3974886479277341081}
|
||||
- component: {fileID: 2640013902256625935}
|
||||
- component: {fileID: 7267482512719985956}
|
||||
- component: {fileID: 1414930982064568929}
|
||||
m_Layer: 5
|
||||
m_Name: Viewport
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &3974886479277341081
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3904395414431480648}
|
||||
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: 2261173428971837695}
|
||||
m_Father: {fileID: 8894486403032071402}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
--- !u!114 &2640013902256625935
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3904395414431480648}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_ShowMaskGraphic: 0
|
||||
--- !u!222 &7267482512719985956
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3904395414431480648}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!114 &1414930982064568929
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3904395414431480648}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &4125224351293165923
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6234462523872176539}
|
||||
- component: {fileID: 68695882802577982}
|
||||
- component: {fileID: 7428146289359687929}
|
||||
m_Layer: 5
|
||||
m_Name: Handle
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6234462523872176539
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4125224351293165923}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 3301928374361144381}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 20, y: 20}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &68695882802577982
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4125224351293165923}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!114 &7428146289359687929
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4125224351293165923}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &4235972654286552744
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 908297234377844233}
|
||||
- component: {fileID: 5053221704473354703}
|
||||
- component: {fileID: 2409632255040810509}
|
||||
- component: {fileID: 3050818479446949986}
|
||||
m_Layer: 5
|
||||
m_Name: Root
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &908297234377844233
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4235972654286552744}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2261173428971837695}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
--- !u!114 &5053221704473354703
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4235972654286552744}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Padding:
|
||||
m_Left: 20
|
||||
m_Right: 0
|
||||
m_Top: 2
|
||||
m_Bottom: 0
|
||||
m_ChildAlignment: 0
|
||||
m_Spacing: 0
|
||||
m_ChildForceExpandWidth: 0
|
||||
m_ChildForceExpandHeight: 0
|
||||
m_ChildControlWidth: 0
|
||||
m_ChildControlHeight: 0
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
m_ReverseArrangement: 0
|
||||
--- !u!114 &2409632255040810509
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4235972654286552744}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_HorizontalFit: 2
|
||||
m_VerticalFit: 2
|
||||
--- !u!114 &3050818479446949986
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4235972654286552744}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: de4afb3a0d93f05448f2fc60683275c0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
EnableWidth: 0
|
||||
EnableHeight: 1
|
||||
margin: {x: 0, y: 0}
|
||||
target:
|
||||
- {fileID: 2261173428971837695}
|
||||
--- !u!1 &4766152670497772902
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3097322909638401089}
|
||||
m_Layer: 5
|
||||
m_Name: Sliding Area
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &3097322909638401089
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4766152670497772902}
|
||||
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: 6081086258189437538}
|
||||
m_Father: {fileID: 1022765863909309765}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: -20, y: -20}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &4888954506875524224
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6081086258189437538}
|
||||
- component: {fileID: 1173046865919000884}
|
||||
- component: {fileID: 2680734087760533677}
|
||||
m_Layer: 5
|
||||
m_Name: Handle
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6081086258189437538
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4888954506875524224}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 3097322909638401089}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 20, y: 20}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &1173046865919000884
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4888954506875524224}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!114 &2680734087760533677
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4888954506875524224}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &8720199997050006827
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2261173428971837695}
|
||||
m_Layer: 5
|
||||
m_Name: Content
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &2261173428971837695
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8720199997050006827}
|
||||
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: 908297234377844233}
|
||||
m_Father: {fileID: 3974886479277341081}
|
||||
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: 0, y: 2}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6d3ce8d71bb960e49a93e9ac847b300f
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a1c7ff75bed3103408e2cbe323126b3f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,30 +0,0 @@
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UIElements;
|
||||
|
||||
public class GantChartView : EditorWindow
|
||||
{
|
||||
[SerializeField]
|
||||
private VisualTreeAsset m_VisualTreeAsset = default;
|
||||
|
||||
[MenuItem("Window/UI Toolkit/GantChartView")]
|
||||
public static void ShowExample()
|
||||
{
|
||||
GantChartView wnd = GetWindow<GantChartView>();
|
||||
wnd.titleContent = new GUIContent("GantChartView");
|
||||
}
|
||||
|
||||
public void CreateGUI()
|
||||
{
|
||||
// Each editor window contains a root VisualElement object
|
||||
VisualElement root = rootVisualElement;
|
||||
|
||||
// VisualElements objects can contain other VisualElement following a tree hierarchy.
|
||||
VisualElement label = new Label("Hello World! From C#");
|
||||
root.Add(label);
|
||||
|
||||
// Instantiate UXML
|
||||
VisualElement labelFromUXML = m_VisualTreeAsset.Instantiate();
|
||||
root.Add(labelFromUXML);
|
||||
}
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d7cfb84525061514b899380405a7d881
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences:
|
||||
- m_VisualTreeAsset: {fileID: 9197481963319205126, guid: c4ef95400fcdb23448d991f05d022741, type: 3}
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,5 +0,0 @@
|
||||
.custom-label {
|
||||
font-size: 20px;
|
||||
-unity-font-style: bold;
|
||||
color: rgb(68, 138, 255);
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: acd6a9051b5206b4db77f775332e354b
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
|
||||
disableValidation: 0
|
||||
@@ -1,5 +0,0 @@
|
||||
<engine:UXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:engine="UnityEngine.UIElements" xmlns:editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
|
||||
<Style src="project://database/Assets/Resources/SHI/UIToolkit/GantChartView.uss?fileID=7433441132597879392&guid=acd6a9051b5206b4db77f775332e354b&type=3#GantChartView" />
|
||||
<engine:Label text="Hello World! From UXML" />
|
||||
<engine:Label text="Hello World! With Style" class="custom-label" />
|
||||
</engine:UXML>
|
||||
@@ -1,10 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c4ef95400fcdb23448d991f05d022741
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 69d1bf66433281745b84b52616b8b8c7
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,147 +0,0 @@
|
||||
#task-list-header {
|
||||
align-items: flex-start;
|
||||
padding-top: 6px;
|
||||
}
|
||||
|
||||
#gantt-container {
|
||||
flex-grow: 1;
|
||||
flex-direction: row;
|
||||
background-color: rgb(250, 250, 250);
|
||||
}
|
||||
|
||||
#task-list-panel {
|
||||
width: 390px;
|
||||
background-color: white;
|
||||
border-right-width: 1px;
|
||||
border-right-color: rgb(51, 51, 51);
|
||||
}
|
||||
|
||||
#task-list-header {
|
||||
height: 54px;
|
||||
background-color: rgb(123, 183, 226);
|
||||
border-bottom-width: 1px;
|
||||
border-bottom-color: black;
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
font-size: 12px;
|
||||
-unity-text-align: upper-center;
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
#task-list-header Label {
|
||||
font-size: 12px;
|
||||
-unity-font-style: normal;
|
||||
color: black;
|
||||
margin-bottom: 4px;
|
||||
-unity-background-scale-mode: stretch-to-fill;
|
||||
justify-content: center;
|
||||
align-self: center;
|
||||
align-content: center;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
-unity-text-align: middle-left;
|
||||
}
|
||||
|
||||
#task-list-view {
|
||||
flex-grow: 1;
|
||||
background-color: rgb(228, 236, 255);
|
||||
}
|
||||
|
||||
#task-list-view .unity-list-view__item {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.task-row {
|
||||
flex-direction: row;
|
||||
height: 49px;
|
||||
width: 390px;
|
||||
background-color: rgb(136, 190, 230);
|
||||
border-top-style: solid;
|
||||
border-bottom-style: solid;
|
||||
border-left-style: solid;
|
||||
border-right-style: solid;
|
||||
border-top-width: 0;
|
||||
border-bottom-width: 0;
|
||||
border-left-width: 0;
|
||||
border-right-width: 0;
|
||||
border-bottom-color: rgb(136, 190, 230);
|
||||
border-left-color: rgb(136, 190, 230);
|
||||
border-right-color: rgb(136, 190, 230);
|
||||
box-sizing: border-box;
|
||||
-unity-font-definition: resource('Fonts/Pretendard/Pretendard-Regular');
|
||||
font-size: 10px;
|
||||
color: rgb(34, 34, 34);
|
||||
}
|
||||
|
||||
.task-row:first-child {
|
||||
border-top-width: 1px;
|
||||
border-top-color: rgb(136, 190, 230);
|
||||
}
|
||||
|
||||
.task-cell {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
flex-grow: 0;
|
||||
flex-shrink: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
-unity-text-align: middle-center;
|
||||
font-size: 10px;
|
||||
color: rgb(34, 34, 34);
|
||||
background-color: rgb(228, 236, 255);
|
||||
border-left-width: 0;
|
||||
border-left-color: rgb(136, 190, 230);
|
||||
border-left-style: solid;
|
||||
box-sizing: border-box;
|
||||
-unity-font-definition: resource('Fonts/Pretendard/Pretendard-Regular');
|
||||
border-top-width: 0;
|
||||
border-right-width: 0;
|
||||
border-bottom-width: 0;
|
||||
margin-top: 0;
|
||||
margin-right: 1px;
|
||||
margin-bottom: 1px;
|
||||
margin-left: 0;
|
||||
padding-top: 0;
|
||||
padding-right: 0;
|
||||
padding-bottom: 0;
|
||||
padding-left: 0;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.task-cell:first-child {
|
||||
border-left-width: 0;
|
||||
}
|
||||
|
||||
.task-row:hover {
|
||||
background-color: rgb(228, 236, 255);
|
||||
}
|
||||
|
||||
#timeline-panel {
|
||||
flex-grow: 1;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
#timeline-header {
|
||||
height: 54px;
|
||||
background-color: rgb(240, 240, 240);
|
||||
border-bottom-width: 1px;
|
||||
border-bottom-color: black;
|
||||
}
|
||||
|
||||
#time-axis-scroll {
|
||||
flex-grow: 1;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#time-axis-container {
|
||||
height: 100%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#timeline-scroll-view {
|
||||
flex-grow: 1;
|
||||
flex-direction: column;
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1f4fe30776858ce4e96b520e8f407bc8
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
|
||||
disableValidation: 0
|
||||
@@ -1,19 +0,0 @@
|
||||
<ui:UXML xmlns:ui="UnityEngine.UIElements" editor-extension-mode="False">
|
||||
<Style src="project://database/Assets/Resources/SHI/UIToolkit/ISOP/ShipblockGantt.uss?fileID=7433441132597879392&guid=1f4fe30776858ce4e96b520e8f407bc8&type=3#ShipblockGantt" />
|
||||
<ui:VisualElement name="gantt-container">
|
||||
<ui:VisualElement name="task-list-panel">
|
||||
<ui:VisualElement name="task-list-header">
|
||||
<ui:Label text="BLOCK STRUCTURE" />
|
||||
</ui:VisualElement>
|
||||
<ui:ListView name="task-list-view" />
|
||||
</ui:VisualElement>
|
||||
<ui:VisualElement name="timeline-panel">
|
||||
<ui:VisualElement name="timeline-header">
|
||||
<ui:ScrollView name="time-axis-scroll">
|
||||
<ui:VisualElement name="time-axis-container" />
|
||||
</ui:ScrollView>
|
||||
</ui:VisualElement>
|
||||
<ui:ScrollView name="timeline-scroll-view" />
|
||||
</ui:VisualElement>
|
||||
</ui:VisualElement>
|
||||
</ui:UXML>
|
||||
@@ -1,10 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2233c37def8330b4381da9ca3928d163
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
|
||||
@@ -1,297 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.TextCore.Text;
|
||||
using UnityEngine.UIElements;
|
||||
using UVC.Util;
|
||||
|
||||
public class ShipblockGanttController : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private VisualTreeAsset taskRowTemplate; // row with 8 cells
|
||||
[SerializeField] private StyleSheet styleSheet;
|
||||
[SerializeField] private Color planColor = new Color(0.2f, 0.4f, 0.8f, 0.8f);
|
||||
[SerializeField] private Color actualColor = new Color(0.2f, 0.9f, 0.3f, 0.9f);
|
||||
private float pixelsPerDay = 18f; // day cell width
|
||||
[SerializeField] private Font PretendardRegular;
|
||||
|
||||
private VisualElement root;
|
||||
private ListView taskListView;
|
||||
private ScrollView timelineScrollView; // main scroll view (vertical + horizontal)
|
||||
private ScrollView axisScrollView; // header axis scroll view (hidden scrollers, synced)
|
||||
private VisualElement timelineContent;
|
||||
private List<ShipblockTask> tasks;
|
||||
private DateTime projectStartDate;
|
||||
private DateTime projectEndDate;
|
||||
private int totalDays;
|
||||
|
||||
|
||||
|
||||
public void Load(string jsonFileName)
|
||||
{
|
||||
root = GetComponent<UIDocument>().rootVisualElement;
|
||||
if (styleSheet != null && !root.styleSheets.Contains(styleSheet)) root.styleSheets.Add(styleSheet);
|
||||
|
||||
LoadData(jsonFileName);
|
||||
CalculateProjectRange();
|
||||
InitializeUI();
|
||||
SetupTimeAxis();
|
||||
RenderTasks();
|
||||
}
|
||||
|
||||
void LoadData(string jsonFileName)
|
||||
{
|
||||
var json = File.ReadAllText(jsonFileName);
|
||||
var wrapper = JsonUtility.FromJson<ShipblockDataWrapper>("{\"items\":" + json + "}");
|
||||
tasks = wrapper.items.Where(t => !string.IsNullOrEmpty(t.STDT21) && t.STDT21 != "null").ToList();
|
||||
foreach (var task in tasks)
|
||||
task.CalculatedProgress = CalculateProgress(task);
|
||||
}
|
||||
|
||||
|
||||
void CalculateProjectRange()
|
||||
{
|
||||
var dates = new List<DateTime>();
|
||||
foreach (var task in tasks)
|
||||
{
|
||||
if (task.GetPlanStart().HasValue) dates.Add(task.GetPlanStart().Value);
|
||||
if (task.GetPlanEnd().HasValue) dates.Add(task.GetPlanEnd().Value);
|
||||
if (task.GetActualStart().HasValue) dates.Add(task.GetActualStart().Value);
|
||||
if (task.GetActualEnd().HasValue) dates.Add(task.GetActualEnd().Value);
|
||||
}
|
||||
projectStartDate = dates.Any() ? dates.Min().AddDays(-3) : new DateTime(2025, 1, 6);
|
||||
projectEndDate = dates.Any() ? dates.Max().AddDays(3) : new DateTime(2025, 2, 28);
|
||||
totalDays = (int)(projectEndDate - projectStartDate).TotalDays + 1;
|
||||
}
|
||||
|
||||
void InitializeUI()
|
||||
{
|
||||
taskListView = root.Q<ListView>("task-list-view");
|
||||
taskListView.itemsSource = tasks;
|
||||
taskListView.makeItem = () => taskRowTemplate.CloneTree();
|
||||
taskListView.bindItem = (ve, i) => BindTaskRow(ve, tasks[i]);
|
||||
taskListView.fixedItemHeight = 49;
|
||||
taskListView.selectionType = SelectionType.None;
|
||||
taskListView.showAlternatingRowBackgrounds = AlternatingRowBackground.None;
|
||||
taskListView.reorderable = false;
|
||||
taskListView.showBoundCollectionSize = false;
|
||||
taskListView.virtualizationMethod = CollectionVirtualizationMethod.FixedHeight;
|
||||
var internalScroll = taskListView.Q<ScrollView>();
|
||||
if (internalScroll != null)
|
||||
{
|
||||
internalScroll.verticalScrollerVisibility = ScrollerVisibility.Hidden;
|
||||
internalScroll.horizontalScrollerVisibility = ScrollerVisibility.Hidden;
|
||||
}
|
||||
axisScrollView = root.Q<ScrollView>("time-axis-scroll");
|
||||
if (axisScrollView != null)
|
||||
{
|
||||
axisScrollView.verticalScrollerVisibility = ScrollerVisibility.Hidden;
|
||||
axisScrollView.horizontalScrollerVisibility = ScrollerVisibility.Hidden;
|
||||
}
|
||||
timelineScrollView = root.Q<ScrollView>("timeline-scroll-view");
|
||||
if (timelineScrollView != null)
|
||||
{
|
||||
timelineScrollView.mode = ScrollViewMode.VerticalAndHorizontal;
|
||||
timelineContent = timelineScrollView.Q<VisualElement>("unity-content-container");
|
||||
if (timelineContent != null)
|
||||
timelineContent.style.width = totalDays * pixelsPerDay;
|
||||
}
|
||||
if (internalScroll != null && timelineScrollView != null)
|
||||
{
|
||||
internalScroll.verticalScroller.valueChanged += v => timelineScrollView.verticalScroller.value = v;
|
||||
timelineScrollView.verticalScroller.valueChanged += v => internalScroll.verticalScroller.value = v;
|
||||
}
|
||||
if (axisScrollView != null && timelineScrollView != null)
|
||||
{
|
||||
axisScrollView.horizontalScroller.valueChanged += v => timelineScrollView.horizontalScroller.value = v;
|
||||
timelineScrollView.horizontalScroller.valueChanged += v => axisScrollView.horizontalScroller.value = v;
|
||||
}
|
||||
}
|
||||
|
||||
void BindTaskRow(VisualElement row, ShipblockTask task)
|
||||
{
|
||||
Set(row, "c1", task?.L1); Set(row, "c2", task?.L2); Set(row, "c3", task?.L3); Set(row, "c4", task?.L4);
|
||||
Set(row, "c5", task?.L5); Set(row, "c6", task?.L6); Set(row, "c7", task?.L7); Set(row, "c8", task?.L8);
|
||||
row.tooltip = task != null ? $"{task.BLK_NO} | {task.SHIP_TYPE}" : string.Empty;
|
||||
}
|
||||
static void Set(VisualElement row, string name, string text)
|
||||
{ var lab = row.Q<UnityEngine.UIElements.Label>(name); if (lab != null) lab.text = string.IsNullOrEmpty(text) ? string.Empty : text; }
|
||||
|
||||
void SetupTimeAxis() => SetupThreeTierHeader();
|
||||
|
||||
void SetupThreeTierHeader()
|
||||
{
|
||||
var container = root.Q<VisualElement>("time-axis-container");
|
||||
container.Clear();
|
||||
container.style.height = pixelsPerDay * 3; // total header height
|
||||
|
||||
// Background base grid style color
|
||||
Color lineColor = ColorUtil.FromHex("#7BB7E2"); // light blue lines
|
||||
|
||||
var monthsLayer = new VisualElement { name = "months-layer" };
|
||||
var weeksLayer = new VisualElement { name = "weeks-layer" };
|
||||
var daysLayer = new VisualElement { name = "days-layer" };
|
||||
foreach (var layer in new[] { monthsLayer, weeksLayer, daysLayer })
|
||||
{
|
||||
layer.style.position = Position.Absolute;
|
||||
layer.style.left = 0;
|
||||
layer.style.top = 0;
|
||||
layer.style.height = pixelsPerDay * 3;
|
||||
layer.style.width = totalDays * pixelsPerDay;
|
||||
}
|
||||
container.Add(monthsLayer); container.Add(weeksLayer); container.Add(daysLayer);
|
||||
|
||||
DateTime cursor = projectStartDate;
|
||||
while (cursor <= projectEndDate)
|
||||
{
|
||||
DateTime monthStart = new DateTime(cursor.Year, cursor.Month, 1);
|
||||
DateTime nextMonthStart = monthStart.AddMonths(1);
|
||||
DateTime segmentStart = cursor; // first day we actually display within month
|
||||
DateTime segmentEnd = nextMonthStart.AddDays(-1) < projectEndDate ? nextMonthStart.AddDays(-1) : projectEndDate;
|
||||
int startIndex = (int)(segmentStart - projectStartDate).TotalDays;
|
||||
int spanDays = (int)(segmentEnd - segmentStart).TotalDays + 1;
|
||||
AddMonthLabel(monthsLayer, segmentStart.Year, segmentStart.Month, startIndex, spanDays, lineColor);
|
||||
|
||||
// Weeks inside month
|
||||
DateTime weekCursor = segmentStart;
|
||||
int weekOfMonth = 1; // label weeks sequentially per month
|
||||
while (weekCursor <= segmentEnd)
|
||||
{
|
||||
DateTime weekStart = weekCursor;
|
||||
// Keep the existing segmentation logic (end at Sunday or month end)
|
||||
DateTime tentativeEnd = weekStart.AddDays(7 - (int)weekStart.DayOfWeek); // until Sunday
|
||||
DateTime weekEnd = tentativeEnd > segmentEnd ? segmentEnd : tentativeEnd;
|
||||
int weekStartIndex = (int)(weekStart - projectStartDate).TotalDays;
|
||||
int weekSpanDays = (int)(weekEnd - weekStart).TotalDays + 1;
|
||||
AddWeekLabel(weeksLayer, weekOfMonth, weekStartIndex, weekSpanDays, lineColor);
|
||||
weekCursor = weekEnd.AddDays(1);
|
||||
weekOfMonth++;
|
||||
}
|
||||
cursor = segmentEnd.AddDays(1);
|
||||
}
|
||||
|
||||
// Days line
|
||||
for (int i = 0; i < totalDays; i++)
|
||||
{
|
||||
DateTime date = projectStartDate.AddDays(i);
|
||||
AddDayCell(daysLayer, date.Day, i, lineColor);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void AddMonthLabel(VisualElement parent, int year, int month, int startIndex, int spanDays, Color lineColor)
|
||||
{
|
||||
var ve = new VisualElement();
|
||||
ve.style.position = Position.Absolute; ve.style.left = startIndex * pixelsPerDay; ve.style.top = 0;
|
||||
ve.style.width = spanDays * pixelsPerDay; ve.style.height = pixelsPerDay;
|
||||
ve.style.borderLeftColor = lineColor; ve.style.borderLeftWidth = startIndex == 0 ? 0 : 1;
|
||||
ve.style.borderBottomColor = lineColor; ve.style.borderBottomWidth = 1;
|
||||
var lab = new Label($"{year}년 {month}월"); lab.style.unityTextAlign = TextAnchor.MiddleCenter; lab.style.unityFontStyleAndWeight = FontStyle.Normal; lab.style.color = Color.black;
|
||||
lab.style.position = Position.Absolute; lab.style.left = 0; lab.style.top = 0; lab.style.width = spanDays * pixelsPerDay; lab.style.height = pixelsPerDay;
|
||||
lab.style.unityFontDefinition = FontDefinition.FromFont(PretendardRegular);
|
||||
lab.style.fontSize = 10;
|
||||
lab.style.marginBottom = 0;
|
||||
lab.style.marginLeft = 0;
|
||||
lab.style.marginRight = 0;
|
||||
lab.style.marginTop = 0;
|
||||
lab.style.paddingBottom = 0;
|
||||
lab.style.paddingLeft = 0;
|
||||
lab.style.paddingRight = 0;
|
||||
lab.style.paddingTop = 0;
|
||||
ve.Add(lab);
|
||||
parent.Add(ve);
|
||||
}
|
||||
|
||||
void AddWeekLabel(VisualElement parent, int weekOfMonth, int startIndex, int spanDays, Color lineColor)
|
||||
{
|
||||
var ve = new VisualElement();
|
||||
ve.style.position = Position.Absolute; ve.style.left = startIndex * pixelsPerDay; ve.style.top = pixelsPerDay;
|
||||
ve.style.width = spanDays * pixelsPerDay; ve.style.height = pixelsPerDay;
|
||||
ve.style.borderLeftColor = lineColor; ve.style.borderLeftWidth = startIndex == 0 ? 0 : 1;
|
||||
ve.style.borderBottomColor = lineColor; ve.style.borderBottomWidth = 1;
|
||||
var lab = new Label($"{weekOfMonth}주"); lab.style.unityTextAlign = TextAnchor.MiddleCenter; lab.style.color = Color.black;
|
||||
lab.style.position = Position.Absolute; lab.style.left = 0; lab.style.top = 0; lab.style.width = spanDays * pixelsPerDay; lab.style.height = pixelsPerDay;
|
||||
lab.style.unityFontDefinition = FontDefinition.FromFont(PretendardRegular);
|
||||
lab.style.fontSize = 10;
|
||||
lab.style.marginBottom = 0;
|
||||
lab.style.marginLeft = 0;
|
||||
lab.style.marginRight = 0;
|
||||
lab.style.marginTop = 0;
|
||||
lab.style.paddingBottom = 0;
|
||||
lab.style.paddingLeft = 0;
|
||||
lab.style.paddingRight = 0;
|
||||
lab.style.paddingTop = 0;
|
||||
ve.Add(lab);
|
||||
parent.Add(ve);
|
||||
}
|
||||
|
||||
void AddDayCell(VisualElement parent, int day, int dayIndex, Color lineColor)
|
||||
{
|
||||
var ve = new VisualElement();
|
||||
ve.style.position = Position.Absolute; ve.style.left = dayIndex * pixelsPerDay; ve.style.top = pixelsPerDay * 2;
|
||||
ve.style.width = pixelsPerDay; ve.style.height = pixelsPerDay;
|
||||
ve.style.borderLeftColor = lineColor; ve.style.borderLeftWidth = dayIndex == 0 ? 0 : 1;
|
||||
var lab = new Label(day.ToString("00")); lab.style.unityTextAlign = TextAnchor.MiddleCenter; lab.style.fontSize = 10; lab.style.color = Color.black;
|
||||
lab.style.position = Position.Absolute; lab.style.left = 0; lab.style.top = 0; lab.style.width = pixelsPerDay; lab.style.height = pixelsPerDay;
|
||||
lab.style.unityFontDefinition = FontDefinition.FromFont(PretendardRegular);
|
||||
lab.style.fontSize = 10;
|
||||
lab.style.marginBottom = 0;
|
||||
lab.style.marginLeft = 0;
|
||||
lab.style.marginRight = 0;
|
||||
lab.style.marginTop = 0;
|
||||
lab.style.paddingBottom = 0;
|
||||
lab.style.paddingLeft = 0;
|
||||
lab.style.paddingRight = 0;
|
||||
lab.style.paddingTop = 0;
|
||||
ve.Add(lab);
|
||||
parent.Add(ve);
|
||||
}
|
||||
|
||||
void RenderTasks()
|
||||
{
|
||||
if (timelineContent == null) return;
|
||||
timelineContent.Clear();
|
||||
for (int i = 0; i < tasks.Count; i++)
|
||||
{
|
||||
var task = tasks[i];
|
||||
var row = new VisualElement();
|
||||
row.style.height = 40; row.style.flexDirection = FlexDirection.Row; row.style.position = Position.Relative;
|
||||
row.style.borderBottomWidth = 1; row.style.borderBottomColor = new Color(0.9f, 0.9f, 0.9f);
|
||||
if (task.GetPlanStart().HasValue && task.GetPlanEnd().HasValue)
|
||||
row.Add(CreateBar(task, task.GetPlanStart().Value, task.GetPlanEnd().Value, planColor, 10));
|
||||
if (task.GetActualStart().HasValue && task.GetActualEnd().HasValue)
|
||||
row.Add(CreateBar(task, task.GetActualStart().Value, task.GetActualEnd().Value, actualColor, 22));
|
||||
var progressLabel = new Label($"{Mathf.RoundToInt(task.CalculatedProgress)}%");
|
||||
progressLabel.style.position = Position.Absolute; progressLabel.style.right = 8; progressLabel.style.top = 10; progressLabel.style.fontSize = 10; progressLabel.style.color = Color.black; progressLabel.style.unityFontStyleAndWeight = FontStyle.Bold;
|
||||
row.Add(progressLabel);
|
||||
timelineContent.Add(row);
|
||||
}
|
||||
}
|
||||
|
||||
VisualElement CreateBar(ShipblockTask task, DateTime start, DateTime end, Color color, int top)
|
||||
{
|
||||
var bar = new VisualElement();
|
||||
bar.style.position = Position.Absolute; bar.style.backgroundColor = color; bar.style.height = 12; bar.style.top = top;
|
||||
bar.style.borderBottomLeftRadius = 2; bar.style.borderBottomRightRadius = 2; bar.style.borderTopLeftRadius = 2; bar.style.borderTopRightRadius = 2;
|
||||
float startX = (float)(start - projectStartDate).TotalDays * pixelsPerDay;
|
||||
float width = Mathf.Max((float)(end - start).TotalDays * pixelsPerDay, 6);
|
||||
bar.style.left = startX; bar.style.width = width;
|
||||
bar.tooltip = $"{task.GetDisplayName()}\n{start:MM/dd} ~ {end:MM/dd}";
|
||||
return bar;
|
||||
}
|
||||
|
||||
float CalculateProgress(ShipblockTask task)
|
||||
{
|
||||
var planStart = task.GetPlanStart(); var planEnd = task.GetPlanEnd(); var actualEnd = task.GetActualEnd();
|
||||
if (!planStart.HasValue || !planEnd.HasValue) return 0;
|
||||
float total = (float)(planEnd.Value - planStart.Value).TotalDays; if (total <= 0) return 0;
|
||||
if (actualEnd.HasValue)
|
||||
{ float actualDays = (float)(actualEnd.Value - planStart.Value).TotalDays; return Mathf.Clamp(actualDays / total * 100, 0, 100); }
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class JSONWrapper { public List<ShipblockTask> items; }
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 45d3090dd89645248a052afa1122996f
|
||||
@@ -1,72 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
[Serializable]
|
||||
public class ShipblockTask
|
||||
{
|
||||
// 기본 정보
|
||||
public string PROJ_NO;
|
||||
public string BLK_NO;
|
||||
public string L1;
|
||||
public string L2;
|
||||
public string L3;
|
||||
public string L4;
|
||||
public string L5;
|
||||
public string L6;
|
||||
public string L7;
|
||||
public string L8;
|
||||
public string SHIP_TYPE;
|
||||
|
||||
// 계획 일정 (파란색 막대)
|
||||
public string STDT21;
|
||||
public string FNDT21;
|
||||
public int DUR21;
|
||||
|
||||
// 실적 일정 (연두색 막대)
|
||||
public string STDT23;
|
||||
public string FNDT23;
|
||||
public int DUR23;
|
||||
|
||||
// 추가 작업 코드들...
|
||||
public string STDT43, FNDT43; public int DUR43;
|
||||
public string STDT44, FNDT44; public int DUR44;
|
||||
public string STDT46, FNDT46; public int DUR46;
|
||||
public string STDT49, FNDT49; public int DUR49;
|
||||
public string STDT4A, FNDT4A; public int DUR4A;
|
||||
public string STDT4B, FNDT4B; public int DUR4B;
|
||||
public string STDT62, FNDT62; public int DUR62;
|
||||
|
||||
[NonSerialized] public float CalculatedProgress;
|
||||
|
||||
public DateTime? GetPlanStart() => ParseDate(STDT21);
|
||||
public DateTime? GetPlanEnd() => ParseDate(FNDT21);
|
||||
public DateTime? GetActualStart() => ParseDate(STDT23);
|
||||
public DateTime? GetActualEnd() => ParseDate(FNDT23);
|
||||
|
||||
private DateTime? ParseDate(string dateStr)
|
||||
{
|
||||
if (string.IsNullOrEmpty(dateStr) || dateStr == "null") return null;
|
||||
if (DateTime.TryParseExact(dateStr, "yyyyMMdd", null, System.Globalization.DateTimeStyles.None, out DateTime date))
|
||||
return date;
|
||||
return null;
|
||||
}
|
||||
|
||||
public string GetDisplayName()
|
||||
{
|
||||
// L1~L8 중 가장 하위 유효값
|
||||
if (!string.IsNullOrEmpty(L8)) return L8;
|
||||
if (!string.IsNullOrEmpty(L7)) return L7;
|
||||
if (!string.IsNullOrEmpty(L6)) return L6;
|
||||
if (!string.IsNullOrEmpty(L5)) return L5;
|
||||
if (!string.IsNullOrEmpty(L4)) return L4;
|
||||
if (!string.IsNullOrEmpty(L3)) return L3;
|
||||
if (!string.IsNullOrEmpty(L2)) return L2;
|
||||
return L1 ?? BLK_NO;
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class ShipblockDataWrapper
|
||||
{
|
||||
public List<ShipblockTask> items;
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 17fd71296384e3045873a6553d88a065
|
||||
@@ -1,13 +0,0 @@
|
||||
<ui:UXML xmlns:ui="UnityEngine.UIElements" editor-extension-mode="False">
|
||||
<Style src="project://database/Assets/Resources/SHI/UIToolkit/ISOP/ShipblockGantt.uss?fileID=7433441132597879392&guid=1f4fe30776858ce4e96b520e8f407bc8&type=3#ShipblockGantt" />
|
||||
<ui:VisualElement name="task-row" class="task-row">
|
||||
<ui:Label name="c1" class="task-cell" />
|
||||
<ui:Label name="c2" class="task-cell" />
|
||||
<ui:Label name="c3" class="task-cell" />
|
||||
<ui:Label name="c4" class="task-cell" />
|
||||
<ui:Label name="c5" class="task-cell" />
|
||||
<ui:Label name="c6" class="task-cell" />
|
||||
<ui:Label name="c7" class="task-cell" />
|
||||
<ui:Label name="c8" class="task-cell" />
|
||||
</ui:VisualElement>
|
||||
</ui:UXML>
|
||||
@@ -1,10 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c6a7ece3f9f2c8449acb7b00aa7a7038
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
|
||||
@@ -1,46 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 19101, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_Name: PanelSettings
|
||||
m_EditorClassIdentifier:
|
||||
themeUss: {fileID: -4733365628477956816, guid: 7f6362c1cd0b3074ab0f0f88dd27536b, type: 3}
|
||||
m_DisableNoThemeWarning: 0
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_RenderMode: 0
|
||||
m_WorldSpaceLayer: 0
|
||||
m_ScaleMode: 1
|
||||
m_ReferenceSpritePixelsPerUnit: 100
|
||||
m_PixelsPerUnit: 100
|
||||
m_Scale: 1
|
||||
m_ReferenceDpi: 96
|
||||
m_FallbackDpi: 96
|
||||
m_ReferenceResolution: {x: 1200, y: 800}
|
||||
m_ScreenMatchMode: 0
|
||||
m_Match: 0
|
||||
m_SortingOrder: 0
|
||||
m_TargetDisplay: 0
|
||||
m_BindingLogLevel: 0
|
||||
m_ClearDepthStencil: 1
|
||||
m_ClearColor: 0
|
||||
m_ColorClearValue: {r: 0, g: 0, b: 0, a: 0}
|
||||
m_VertexBudget: 0
|
||||
m_DynamicAtlasSettings:
|
||||
m_MinAtlasSize: 64
|
||||
m_MaxAtlasSize: 4096
|
||||
m_MaxSubTextureSize: 64
|
||||
m_ActiveFilters: -1
|
||||
m_AtlasBlitShader: {fileID: 9101, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_RuntimeShader: {fileID: 9100, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_RuntimeWorldShader: {fileID: 9102, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ICUDataAsset: {fileID: 0}
|
||||
forceGammaRendering: 0
|
||||
textSettings: {fileID: 0}
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8b377a015f4b6e3488cbc9c475f34132
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 64fb2d86b4390f04287dd53425bd2316
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,16 +0,0 @@
|
||||
/* Basic USS for Gantt */
|
||||
.header-container { }
|
||||
.month-row { }
|
||||
.week-row { }
|
||||
.day-row { }
|
||||
.rows-container { }
|
||||
.chart-row { flex-direction: row; height:28px; position: relative; border-bottom:1px solid #3A3A3A; }
|
||||
.hierarchy-cell { font-size:11px; width:240px; padding-left:4px; }
|
||||
.segments-layer { flex-grow:1; position: relative; }
|
||||
.segment { border-radius:3px; height:22px; background-color: rgba(64,128,220,0.6); }
|
||||
.marker { color:#2AA3FF; font-size:12px; }
|
||||
.row-selected { background-color: rgba(255,255,0,0.15); }
|
||||
.segment-selected { outline:2px solid #FFD500; }
|
||||
.span-cell { text-align:center; font-size:11px; border-right:1px solid #222; }
|
||||
.day-cell { text-align:center; font-size:10px; border-right:1px solid #333; width:16px; }
|
||||
.today-line { position:absolute; width:1px; background:#ff6b00; top:0; bottom:0; }
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4557a013dc4822f499286c5a202a41a5
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
|
||||
disableValidation: 0
|
||||
Reference in New Issue
Block a user