아즈텍 UI 기능 개발 2차
8
Assets/Images/AISimulation.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4f76497f2de5c294faeda9c3ad099316
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Images/AISimulation/IMG_LoadingBar.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
1520
Assets/Images/AISimulation/IMG_LoadingBar.png.meta
Normal file
72
Assets/Images/AISimulation/Image_Loading.controller
Normal file
@@ -0,0 +1,72 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1107 &-5715206226077478525
|
||||
AnimatorStateMachine:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Base Layer
|
||||
m_ChildStates:
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 5126305972607226542}
|
||||
m_Position: {x: 200, y: 0, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions: []
|
||||
m_EntryTransitions: []
|
||||
m_StateMachineTransitions: {}
|
||||
m_StateMachineBehaviours: []
|
||||
m_AnyStatePosition: {x: 50, y: 20, z: 0}
|
||||
m_EntryPosition: {x: 50, y: 120, z: 0}
|
||||
m_ExitPosition: {x: 800, y: 120, z: 0}
|
||||
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
||||
m_DefaultState: {fileID: 5126305972607226542}
|
||||
--- !u!91 &9100000
|
||||
AnimatorController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Image_Loading
|
||||
serializedVersion: 5
|
||||
m_AnimatorParameters: []
|
||||
m_AnimatorLayers:
|
||||
- serializedVersion: 5
|
||||
m_Name: Base Layer
|
||||
m_StateMachine: {fileID: -5715206226077478525}
|
||||
m_Mask: {fileID: 0}
|
||||
m_Motions: []
|
||||
m_Behaviours: []
|
||||
m_BlendingMode: 0
|
||||
m_SyncedLayerIndex: -1
|
||||
m_DefaultWeight: 0
|
||||
m_IKPass: 0
|
||||
m_SyncedLayerAffectsTiming: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
--- !u!1102 &5126305972607226542
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Loading
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 7400000, guid: 354cd6249276d6d49bbfc17d21c2e886, type: 2}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
8
Assets/Images/AISimulation/Image_Loading.controller.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e7e18e05adfe93544917101c0d6517bf
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 9100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
252
Assets/Images/AISimulation/Loading.anim
Normal file
@@ -0,0 +1,252 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!74 &7400000
|
||||
AnimationClip:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Loading
|
||||
serializedVersion: 7
|
||||
m_Legacy: 0
|
||||
m_Compressed: 0
|
||||
m_UseHighQualityCurve: 1
|
||||
m_RotationCurves: []
|
||||
m_CompressedRotationCurves: []
|
||||
m_EulerCurves: []
|
||||
m_PositionCurves: []
|
||||
m_ScaleCurves: []
|
||||
m_FloatCurves: []
|
||||
m_PPtrCurves:
|
||||
- serializedVersion: 2
|
||||
curve:
|
||||
- time: 0
|
||||
value: {fileID: 1998993089, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.016666668
|
||||
value: {fileID: -390403478, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.033333335
|
||||
value: {fileID: 2081478256, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.05
|
||||
value: {fileID: -1358245185, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.06666667
|
||||
value: {fileID: -368081681, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.083333336
|
||||
value: {fileID: -2040302096, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.1
|
||||
value: {fileID: 1251695254, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.11666667
|
||||
value: {fileID: -1095680555, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.13333334
|
||||
value: {fileID: 1789377904, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.15
|
||||
value: {fileID: -1349940881, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.16666667
|
||||
value: {fileID: 256425486, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.18333334
|
||||
value: {fileID: 1577392127, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.2
|
||||
value: {fileID: 1412871319, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.21666667
|
||||
value: {fileID: -1182619479, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.23333333
|
||||
value: {fileID: -704942968, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.25
|
||||
value: {fileID: 2001258271, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.26666668
|
||||
value: {fileID: -1465442618, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.28333333
|
||||
value: {fileID: -1794703578, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.3
|
||||
value: {fileID: 950915291, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.31666666
|
||||
value: {fileID: 794755937, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.33333334
|
||||
value: {fileID: -405469808, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.35
|
||||
value: {fileID: 982608149, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.36666667
|
||||
value: {fileID: -672867108, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.38333333
|
||||
value: {fileID: 1617639064, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.4
|
||||
value: {fileID: 661179875, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.41666666
|
||||
value: {fileID: -151000704, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.43333334
|
||||
value: {fileID: 585185050, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.45
|
||||
value: {fileID: -1322120136, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.46666667
|
||||
value: {fileID: -1256207220, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.48333332
|
||||
value: {fileID: -1338883356, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.5
|
||||
value: {fileID: 974150307, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.51666665
|
||||
value: {fileID: -1542066710, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.53333336
|
||||
value: {fileID: 337998124, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.55
|
||||
value: {fileID: 623393163, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.56666666
|
||||
value: {fileID: -676153281, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.5833333
|
||||
value: {fileID: 1912450865, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.6
|
||||
value: {fileID: 1141573151, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.6166667
|
||||
value: {fileID: 2054224010, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.6333333
|
||||
value: {fileID: -688127767, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.65
|
||||
value: {fileID: 756312949, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.6666667
|
||||
value: {fileID: -1340941615, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.68333334
|
||||
value: {fileID: -48946397, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.7
|
||||
value: {fileID: -315190554, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.71666664
|
||||
value: {fileID: -2100878412, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.73333335
|
||||
value: {fileID: -2019459291, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.75
|
||||
value: {fileID: 1744937632, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.76666665
|
||||
value: {fileID: 2073459310, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.78333336
|
||||
value: {fileID: -1447267522, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.8
|
||||
value: {fileID: -524503022, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.81666666
|
||||
value: {fileID: -925653294, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.8333333
|
||||
value: {fileID: -667930163, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.85
|
||||
value: {fileID: -80422145, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.8666667
|
||||
value: {fileID: 830202422, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.8833333
|
||||
value: {fileID: -210640214, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.9
|
||||
value: {fileID: -1378262770, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.9166667
|
||||
value: {fileID: -941652432, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.93333334
|
||||
value: {fileID: -649453972, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.95
|
||||
value: {fileID: -103228691, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.96666664
|
||||
value: {fileID: -1196447549, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 0.98333335
|
||||
value: {fileID: 1946664923, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- time: 1
|
||||
value: {fileID: -1879368177, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
attribute: m_Sprite
|
||||
path:
|
||||
classID: 114
|
||||
script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
flags: 2
|
||||
m_SampleRate: 60
|
||||
m_WrapMode: 0
|
||||
m_Bounds:
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
m_Extent: {x: 0, y: 0, z: 0}
|
||||
m_ClipBindingConstant:
|
||||
genericBindings:
|
||||
- serializedVersion: 2
|
||||
path: 0
|
||||
attribute: 2015549526
|
||||
script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
typeID: 114
|
||||
customType: 0
|
||||
isPPtrCurve: 1
|
||||
isIntCurve: 0
|
||||
isSerializeReferenceCurve: 0
|
||||
pptrCurveMapping:
|
||||
- {fileID: 1998993089, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -390403478, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 2081478256, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -1358245185, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -368081681, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -2040302096, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 1251695254, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -1095680555, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 1789377904, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -1349940881, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 256425486, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 1577392127, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 1412871319, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -1182619479, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -704942968, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 2001258271, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -1465442618, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -1794703578, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 950915291, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 794755937, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -405469808, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 982608149, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -672867108, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 1617639064, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 661179875, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -151000704, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 585185050, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -1322120136, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -1256207220, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -1338883356, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 974150307, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -1542066710, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 337998124, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 623393163, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -676153281, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 1912450865, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 1141573151, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 2054224010, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -688127767, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 756312949, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -1340941615, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -48946397, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -315190554, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -2100878412, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -2019459291, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 1744937632, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 2073459310, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -1447267522, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -524503022, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -925653294, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -667930163, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -80422145, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 830202422, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -210640214, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -1378262770, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -941652432, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -649453972, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -103228691, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -1196447549, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: 1946664923, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
- {fileID: -1879368177, guid: 34ffe97dd380f31478630d3d8c999e88, type: 3}
|
||||
m_AnimationClipSettings:
|
||||
serializedVersion: 2
|
||||
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||
m_AdditiveReferencePoseTime: 0
|
||||
m_StartTime: 0
|
||||
m_StopTime: 1.0166667
|
||||
m_OrientationOffsetY: 0
|
||||
m_Level: 0
|
||||
m_CycleOffset: 0
|
||||
m_HasAdditiveReferencePose: 0
|
||||
m_LoopTime: 1
|
||||
m_LoopBlend: 0
|
||||
m_LoopBlendOrientation: 0
|
||||
m_LoopBlendPositionY: 0
|
||||
m_LoopBlendPositionXZ: 0
|
||||
m_KeepOriginalOrientation: 0
|
||||
m_KeepOriginalPositionY: 1
|
||||
m_KeepOriginalPositionXZ: 0
|
||||
m_HeightFromFeet: 0
|
||||
m_Mirror: 0
|
||||
m_EditorCurves: []
|
||||
m_EulerEditorCurves: []
|
||||
m_HasGenericRootTransform: 0
|
||||
m_HasMotionFloatCurves: 0
|
||||
m_Events: []
|
||||
8
Assets/Images/AISimulation/Loading.anim.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 354cd6249276d6d49bbfc17d21c2e886
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Images/Entry.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 262ca7ce0a5a73249973435862914e6a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Images/Entry/Frame 1707482297.png
Normal file
|
After Width: | Height: | Size: 592 B |
117
Assets/Images/Entry/Frame 1707482297.png.meta
Normal file
@@ -0,0 +1,117 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 11188b9ad4e13b54bbae49572ee0ff91
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Images/Entry/Frame 1707482339.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
117
Assets/Images/Entry/Frame 1707482339.png.meta
Normal file
@@ -0,0 +1,117 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2ba4823ad3c55d846b9f71a5f774cb73
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 35, y: 35, z: 35, w: 35}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 1537655665
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Images/Entry/Frame 1707482365.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
117
Assets/Images/Entry/Frame 1707482365.png.meta
Normal file
@@ -0,0 +1,117 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1b357ec8a95e1a3439461bb4cfbdeaf6
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 35, y: 35, z: 35, w: 35}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 1537655665
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Images/Entry/Rectangle 34625145.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
117
Assets/Images/Entry/Rectangle 34625145.png.meta
Normal file
@@ -0,0 +1,117 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9c5a8527bd5babe41ac99a847b16e2c4
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Images/Entry/image 15.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
117
Assets/Images/Entry/image 15.png.meta
Normal file
@@ -0,0 +1,117 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ad98800115b809a42a0011e16bf0a25b
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 55, y: 55, z: 55, w: 55}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 1537655665
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 5.1 MiB |
@@ -0,0 +1,117 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9de0bfbd5105de94dbf321c18d3a8b54
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
1354
Assets/Prefabs/Panel_AISimulationInfo.prefab
Normal file
7
Assets/Prefabs/Panel_AISimulationInfo.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d5344a9cbae59cf489504d68b8483887
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -3,13 +3,13 @@
|
||||
"밀링2",
|
||||
"밀링4",
|
||||
"밀링5",
|
||||
"건조기1호기",
|
||||
"건조1호기",
|
||||
"정련1",
|
||||
"정련2",
|
||||
"HE 2",
|
||||
"HE2",
|
||||
"6단 전모기",
|
||||
"포리샤2",
|
||||
"포릭샤3",
|
||||
"포리샤3",
|
||||
"전모기3",
|
||||
"기모기1",
|
||||
"기모기2"
|
||||
|
||||
10
Assets/Resources/LoginInfo.json
Normal file
@@ -0,0 +1,10 @@
|
||||
[
|
||||
{
|
||||
"ID": "system",
|
||||
"Password": "@dbqlTl1"
|
||||
},
|
||||
{
|
||||
"ID": "admin",
|
||||
"Password": "test!1234"
|
||||
}
|
||||
]
|
||||
7
Assets/Resources/LoginInfo.json.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e957e98db38332d4c80412618bc25df8
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -12,6 +12,7 @@ GameObject:
|
||||
- component: {fileID: 7737055053213406503}
|
||||
- component: {fileID: 8349247579397511773}
|
||||
- component: {fileID: 8708666573125160970}
|
||||
- component: {fileID: -1140112827057924169}
|
||||
m_Layer: 5
|
||||
m_Name: PRF_UI_LibraryButton
|
||||
m_TagString: Untagged
|
||||
@@ -124,6 +125,21 @@ MonoBehaviour:
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!114 &-1140112827057924169
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3355640104762963333}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 85f60ce3c4a611c47a5d7d8827402efd, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
machine: {fileID: 0}
|
||||
PreviewImage: {fileID: 0}
|
||||
Image_Selected: {fileID: 0}
|
||||
--- !u!1 &3462095727660781012
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
465
Assets/Resources/Prefabs/UI/PRF_UI_SimulationInfoItem.prefab
Normal file
@@ -0,0 +1,465 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &2540252061647862671
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5092904471283981404}
|
||||
- component: {fileID: 4092303884644149542}
|
||||
- component: {fileID: 6242402019973644964}
|
||||
m_Layer: 5
|
||||
m_Name: InfoName
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &5092904471283981404
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2540252061647862671}
|
||||
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: 2313352495646398991}
|
||||
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: 120, y: 24}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &4092303884644149542
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2540252061647862671}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &6242402019973644964
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2540252061647862671}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: datagbn
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 2ec62c2b5b163f64e92dc4988250c9c8, type: 2}
|
||||
m_sharedMaterial: {fileID: 1892695685711531568, guid: 2ec62c2b5b163f64e92dc4988250c9c8, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: -1183493901
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 14
|
||||
m_fontSizeBase: 14
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: -3
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 1
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!1 &3410374392920222436
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6654561720848517485}
|
||||
- component: {fileID: 4352445245407936129}
|
||||
- component: {fileID: 7362888950000946228}
|
||||
m_Layer: 5
|
||||
m_Name: Data
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6654561720848517485
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3410374392920222436}
|
||||
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: 2313352495646398991}
|
||||
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: 204, y: 24}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &4352445245407936129
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3410374392920222436}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &7362888950000946228
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3410374392920222436}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: D
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 2ec62c2b5b163f64e92dc4988250c9c8, type: 2}
|
||||
m_sharedMaterial: {fileID: 1892695685711531568, guid: 2ec62c2b5b163f64e92dc4988250c9c8, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: -1183493901
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 14
|
||||
m_fontSizeBase: 14
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: -3
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 1
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!1 &3915470025213921099
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2039148170724737928}
|
||||
- component: {fileID: 1937379896030646856}
|
||||
m_Layer: 5
|
||||
m_Name: PRF_UI_SimulationInfoItem
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &2039148170724737928
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3915470025213921099}
|
||||
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: 2313352495646398991}
|
||||
- {fileID: 921348680392991039}
|
||||
m_Father: {fileID: 0}
|
||||
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: 324, y: 30}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1937379896030646856
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3915470025213921099}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 44eaaccef6e08a4499fa3b093b0b98f4, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
InfoName: {fileID: 0}
|
||||
Data: {fileID: 0}
|
||||
--- !u!1 &5315550667028502616
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2313352495646398991}
|
||||
- component: {fileID: 7198299446478744265}
|
||||
m_Layer: 5
|
||||
m_Name: DataContent
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &2313352495646398991
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5315550667028502616}
|
||||
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: 5092904471283981404}
|
||||
- {fileID: 6654561720848517485}
|
||||
m_Father: {fileID: 2039148170724737928}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -0.0000038146973, y: -1}
|
||||
m_SizeDelta: {x: 324, y: 26}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &7198299446478744265
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5315550667028502616}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Padding:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_ChildAlignment: 3
|
||||
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!1 &7707607419896152949
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 921348680392991039}
|
||||
- component: {fileID: 1464498964708131608}
|
||||
- component: {fileID: 5987866334687113073}
|
||||
m_Layer: 5
|
||||
m_Name: Image_Line
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &921348680392991039
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7707607419896152949}
|
||||
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: 2039148170724737928}
|
||||
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.5}
|
||||
m_SizeDelta: {x: 0, y: 1}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &1464498964708131608
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7707607419896152949}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &5987866334687113073
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7707607419896152949}
|
||||
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: 21300000, guid: b3f28728bf95d0c46b2a3adefdd3078b, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2d15e771269ac3844a78b5d394c94523
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
177
Assets/Resources/Test_AISimulation.json
Normal file
@@ -0,0 +1,177 @@
|
||||
[
|
||||
{
|
||||
"equipmentId": "MIL-01",
|
||||
"equipmentName": "밀링1",
|
||||
"processType": "Milling",
|
||||
"overallStatus": "Normal",
|
||||
"healthScore": 93.2,
|
||||
"prediction": {
|
||||
"failureProbability": 0.04,
|
||||
"estimatedFailureDate": "2026-05-12",
|
||||
"recommendedAction": "정상 운전"
|
||||
}
|
||||
},
|
||||
{
|
||||
"equipmentId": "MIL-02",
|
||||
"equipmentName": "밀링2",
|
||||
"processType": "Milling",
|
||||
"overallStatus": "Warning",
|
||||
"healthScore": 76.5,
|
||||
"prediction": {
|
||||
"failureProbability": 0.28,
|
||||
"estimatedFailureDate": "2026-02-18",
|
||||
"recommendedAction": "롤러 간격 및 베어링 점검 필요"
|
||||
}
|
||||
},
|
||||
{
|
||||
"equipmentId": "MIL-04",
|
||||
"equipmentName": "밀링4",
|
||||
"processType": "Milling",
|
||||
"overallStatus": "Normal",
|
||||
"healthScore": 89.4,
|
||||
"prediction": {
|
||||
"failureProbability": 0.10,
|
||||
"estimatedFailureDate": "2026-04-02",
|
||||
"recommendedAction": "정상 운전"
|
||||
}
|
||||
},
|
||||
{
|
||||
"equipmentId": "MIL-05",
|
||||
"equipmentName": "밀링5",
|
||||
"processType": "Milling",
|
||||
"overallStatus": "Danger",
|
||||
"healthScore": 52.1,
|
||||
"prediction": {
|
||||
"failureProbability": 0.61,
|
||||
"estimatedFailureDate": "2026-01-25",
|
||||
"recommendedAction": "메인 모터 및 감속기 즉시 점검 필요"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"equipmentId": "DRY-01",
|
||||
"equipmentName": "건조1호기",
|
||||
"processType": "Drying",
|
||||
"overallStatus": "Warning",
|
||||
"healthScore": 71.8,
|
||||
"prediction": {
|
||||
"failureProbability": 0.33,
|
||||
"estimatedFailureDate": "2026-02-05",
|
||||
"recommendedAction": "히터와 송풍기 필터 청소 필요"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"equipmentId": "SC-01",
|
||||
"equipmentName": "정련1",
|
||||
"processType": "Scouring",
|
||||
"overallStatus": "Normal",
|
||||
"healthScore": 90.3,
|
||||
"prediction": {
|
||||
"failureProbability": 0.07,
|
||||
"estimatedFailureDate": "2026-05-01",
|
||||
"recommendedAction": "정상 운전"
|
||||
}
|
||||
},
|
||||
{
|
||||
"equipmentId": "SC-02",
|
||||
"equipmentName": "정련2",
|
||||
"processType": "Scouring",
|
||||
"overallStatus": "Warning",
|
||||
"healthScore": 74.9,
|
||||
"prediction": {
|
||||
"failureProbability": 0.29,
|
||||
"estimatedFailureDate": "2026-02-22",
|
||||
"recommendedAction": "펌프 압력 및 열교환기 점검"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"equipmentId": "HE-02",
|
||||
"equipmentName": "HE2",
|
||||
"processType": "Heat-Exchanger",
|
||||
"overallStatus": "Normal",
|
||||
"healthScore": 95.1,
|
||||
"prediction": {
|
||||
"failureProbability": 0.02,
|
||||
"estimatedFailureDate": "2026-06-15",
|
||||
"recommendedAction": "정상 운전"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"equipmentId": "NAP-6STG-01",
|
||||
"equipmentName": "6단 전모기",
|
||||
"processType": "Napping",
|
||||
"overallStatus": "Warning",
|
||||
"healthScore": 72.6,
|
||||
"prediction": {
|
||||
"failureProbability": 0.35,
|
||||
"estimatedFailureDate": "2026-02-08",
|
||||
"recommendedAction": "브러시 마모도 및 모터 진동 점검"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"equipmentId": "POR-02",
|
||||
"equipmentName": "포리샤2",
|
||||
"processType": "Polisher",
|
||||
"overallStatus": "Normal",
|
||||
"healthScore": 88.4,
|
||||
"prediction": {
|
||||
"failureProbability": 0.12,
|
||||
"estimatedFailureDate": "2026-04-10",
|
||||
"recommendedAction": "정상 운전"
|
||||
}
|
||||
},
|
||||
{
|
||||
"equipmentId": "POR-03",
|
||||
"equipmentName": "포리샤3",
|
||||
"processType": "Polisher",
|
||||
"overallStatus": "Danger",
|
||||
"healthScore": 49.3,
|
||||
"prediction": {
|
||||
"failureProbability": 0.64,
|
||||
"estimatedFailureDate": "2026-01-26",
|
||||
"recommendedAction": "연마 롤러 교체 및 구동부 점검"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"equipmentId": "NAP-03",
|
||||
"equipmentName": "전모기3",
|
||||
"processType": "Napping",
|
||||
"overallStatus": "Normal",
|
||||
"healthScore": 91.0,
|
||||
"prediction": {
|
||||
"failureProbability": 0.06,
|
||||
"estimatedFailureDate": "2026-05-18",
|
||||
"recommendedAction": "정상 운전"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"equipmentId": "BR-01",
|
||||
"equipmentName": "기모기1",
|
||||
"processType": "Brushing",
|
||||
"overallStatus": "Warning",
|
||||
"healthScore": 73.4,
|
||||
"prediction": {
|
||||
"failureProbability": 0.32,
|
||||
"estimatedFailureDate": "2026-02-14",
|
||||
"recommendedAction": "기모 롤러 균형 및 모터 점검"
|
||||
}
|
||||
},
|
||||
{
|
||||
"equipmentId": "BR-02",
|
||||
"equipmentName": "기모기2",
|
||||
"processType": "Brushing",
|
||||
"overallStatus": "Normal",
|
||||
"healthScore": 86.9,
|
||||
"prediction": {
|
||||
"failureProbability": 0.14,
|
||||
"estimatedFailureDate": "2026-04-22",
|
||||
"recommendedAction": "정상 운전"
|
||||
}
|
||||
}
|
||||
]
|
||||
7
Assets/Resources/Test_AISimulation.json.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 805bc75ba3ba88f47b3ac0f1e88f1f86
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -163,7 +163,7 @@
|
||||
"sitecd": "1",
|
||||
"wccd": "W10",
|
||||
"workcd": "IJ05",
|
||||
"worknm": "건조기1호기",
|
||||
"worknm": "건조1호기",
|
||||
"workseq": 1,
|
||||
"status": "2",
|
||||
"statusnm": "비가동",
|
||||
@@ -280,7 +280,7 @@
|
||||
"sitecd": "1",
|
||||
"wccd": "W10",
|
||||
"workcd": "IJ08",
|
||||
"worknm": "HE 2",
|
||||
"worknm": "HE2",
|
||||
"workseq": 1,
|
||||
"status": "1",
|
||||
"statusnm": "가동중",
|
||||
|
||||
79
Assets/Scripts/Manager/AISimulationManager.cs
Normal file
@@ -0,0 +1,79 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace AZTECHWB
|
||||
{
|
||||
|
||||
public class AISimulationManager : MonoBehaviour
|
||||
{
|
||||
Machine currentEquipment;
|
||||
public List<EquipmentSimulation> equipmentResults = new();
|
||||
|
||||
private Panel_AISimulationLoading AISimulationLoading;
|
||||
public Action<EquipmentSimulation> onSetSimulationResult;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
var simulationData = Resources.Load<TextAsset>("Test_AISimulation").text;
|
||||
equipmentResults = JsonConvert.DeserializeObject<List<EquipmentSimulation>>(simulationData);
|
||||
AISimulationLoading = FindAnyObjectByType<Panel_AISimulationLoading>(FindObjectsInactive.Include);
|
||||
}
|
||||
|
||||
// 설비 클릭 시 호출
|
||||
public void OnMachineSelected(Machine machine)
|
||||
{
|
||||
currentEquipment = machine;
|
||||
StartCoroutine(SimulationFlow());
|
||||
}
|
||||
|
||||
IEnumerator SimulationFlow()
|
||||
{
|
||||
// 1. Loading ON
|
||||
AISimulationLoading.gameObject.SetActive(true);
|
||||
|
||||
// 2. AI 시뮬레이션 수행
|
||||
// 실제로는 여기서 서버 요청, AI 연산 등
|
||||
yield return new WaitForSeconds(2.5f);
|
||||
var currentEquipmentData = GetEquipment(currentEquipment.machineName);
|
||||
|
||||
// 3. Loading OFF
|
||||
AISimulationLoading.gameObject.SetActive(false);
|
||||
|
||||
// 4. 결과 전달
|
||||
onSetSimulationResult?.Invoke(currentEquipmentData);
|
||||
}
|
||||
|
||||
public EquipmentSimulation GetEquipment(string machineName)
|
||||
{
|
||||
foreach (var e in equipmentResults)
|
||||
{
|
||||
if (e.equipmentName == machineName)
|
||||
return e;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class EquipmentSimulation
|
||||
{
|
||||
public string equipmentId;
|
||||
public string equipmentName;
|
||||
public string processType;
|
||||
public string overallStatus;
|
||||
public float healthScore;
|
||||
public Prediction prediction;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class Prediction
|
||||
{
|
||||
public float failureProbability;
|
||||
public string estimatedFailureDate;
|
||||
public string recommendedAction;
|
||||
}
|
||||
}
|
||||
|
||||
2
Assets/Scripts/Manager/AISimulationManager.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f616a9a86888c5c4b89b05024111297e
|
||||
@@ -14,15 +14,22 @@ namespace AZTECHWB
|
||||
controller = FindAnyObjectByType<OrbitalController>();
|
||||
var canvasTop = FindAnyObjectByType<Canvas_Top>();
|
||||
var canvasPopup = FindAnyObjectByType<Canvas_Popup>();
|
||||
var aiSimulationManager = FindAnyObjectByType<AISimulationManager>();
|
||||
var dataManager = FindAnyObjectByType<DataManager>();
|
||||
var alarmManager = FindAnyObjectByType<AlarmManager>();
|
||||
var libraryManager = FindAnyObjectByType<LibraryManager>();
|
||||
var focusMachineManager = FindAnyObjectByType<FocusMachineManager>();
|
||||
var machineStatusIconManager = FindAnyObjectByType<MachineStatusIconManager>();
|
||||
var optionManager = FindAnyObjectByType<OptionManager>();
|
||||
var focusManager = FindAnyObjectByType<FocusMachineManager>();
|
||||
var raycaster = FindAnyObjectByType<Raycaster>();
|
||||
|
||||
canvasTop.panel_toptoolbar.onClickScreenInitialization += () => SceneManager.LoadScene(SceneManager.GetActiveScene().name);
|
||||
canvasTop.panel_toptoolbar.onClickProductionProgress += canvasPopup.SetChangedPopup;
|
||||
canvasTop.panel_toptoolbar.onClikcAlarm += canvasPopup.SetChangedPopup;
|
||||
canvasTop.panel_toptoolbar.onClickAISimulation += (isInteractable) => canvasPopup.SetChangedPopup(null);
|
||||
canvasTop.panel_toptoolbar.onClickAISimulation += canvasPopup.panel_machinedetaildashboard.SetInteractable;
|
||||
canvasTop.panel_toptoolbar.onClickAISimulation += raycaster.SetInteractable;
|
||||
canvasTop.panel_toptoolbar.onClickSetting += canvasPopup.SetChangedPopup;
|
||||
canvasTop.panel_toptoolbar.onClickExit += canvasPopup.panel_exitprogram.Open;
|
||||
|
||||
@@ -30,17 +37,6 @@ namespace AZTECHWB
|
||||
canvasTop.panel_lefttoolbar.onClickReset += () => SceneManager.LoadScene(SceneManager.GetActiveScene().name);
|
||||
canvasTop.panel_lefttoolbar.onClickMiniMap += canvasPopup.panel_minimap.SetActive;
|
||||
|
||||
dataManager.onMatchedMachineData += canvasPopup.panel_productionprogress.SetProductionStatus;
|
||||
dataManager.onMatchedMachineData += machineStatusIconManager.SetMachineData;
|
||||
dataManager.onMatchedMachineData += canvasPopup.panel_alarmsituation.SetAlarmInfoItems;
|
||||
dataManager.onSetMachineData += canvasPopup.panel_machinedetaildashboard.SetDetailDashBoardInfo;
|
||||
dataManager.onSetMachineData += canvasPopup.panel_machinedatadashboard.SetDataDashobardInfo;
|
||||
|
||||
machineStatusIconManager.onSelectedMachine += dataManager.SetSelectedMachine;
|
||||
machineStatusIconManager.onClickIcon += canvasPopup.SetChangedPopup;
|
||||
|
||||
alarmManager.onFocusMachine += focusManager.FocusMachine;
|
||||
|
||||
canvasPopup.panel_productionprogress.onClose += canvasTop.panel_toptoolbar.DeselectedSituationButton;
|
||||
canvasPopup.panel_alarmsituation.onClickAlram += alarmManager.MachineCorrespondingToAlarm;
|
||||
canvasPopup.panel_alarmsituation.onClose += canvasTop.panel_toptoolbar.DeselectedSituationButton;
|
||||
@@ -49,6 +45,28 @@ namespace AZTECHWB
|
||||
|
||||
canvasPopup.panel_machinedetaildashboard.onClickDataDashboardButton += canvasPopup.SetChangedPopup;
|
||||
|
||||
canvasPopup.panel_library.onClickLabelButton += libraryManager.LibraryFiltering;
|
||||
canvasPopup.panel_library.onClickLibraryButton += focusMachineManager.FocusMachine;
|
||||
|
||||
dataManager.onMatchedMachineData += canvasPopup.panel_productionprogress.SetProductionStatus;
|
||||
dataManager.onMatchedMachineData += machineStatusIconManager.SetMachineData;
|
||||
dataManager.onMatchedMachineData += canvasPopup.panel_alarmsituation.SetAlarmInfoItems;
|
||||
dataManager.onSetMachineData += canvasPopup.panel_machinedetaildashboard.SetDetailDashBoardInfo;
|
||||
dataManager.onSetMachineData += canvasPopup.panel_machinedatadashboard.SetDataDashobardInfo;
|
||||
|
||||
libraryManager.onUpdateMachineFilters += canvasPopup.panel_library.UpdateFileterList;
|
||||
libraryManager.onLibraryFilterigComplete += canvasPopup.panel_library.AddLibrarayButtons;
|
||||
libraryManager.onAllMachinesReady += canvasPopup.panel_library.SetAllMachines;
|
||||
|
||||
machineStatusIconManager.onSelectedMachine += dataManager.SetSelectedMachine;
|
||||
machineStatusIconManager.onClickIcon += canvasPopup.SetChangedPopup;
|
||||
|
||||
alarmManager.onFocusMachine += focusManager.FocusMachine;
|
||||
|
||||
raycaster.onLeftClickMachine += aiSimulationManager.OnMachineSelected;
|
||||
|
||||
aiSimulationManager.onSetSimulationResult += canvasPopup.panel_aisimulationinfo.SetDataInfo;
|
||||
|
||||
optionManager.LoadOption();
|
||||
}
|
||||
}
|
||||
|
||||
133
Assets/Scripts/Manager/LibraryManager.cs
Normal file
@@ -0,0 +1,133 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
|
||||
namespace AZTECHWB
|
||||
{
|
||||
[Serializable]
|
||||
public class StandardInfo
|
||||
{
|
||||
public string code;
|
||||
public string name;
|
||||
public string[] filterInfo;
|
||||
}
|
||||
public class LibraryManager : MonoBehaviour
|
||||
{
|
||||
public string sceneName;
|
||||
private string machineInfoPath = "MachineStandardInfo.csv";
|
||||
private Machine[] machines;
|
||||
|
||||
public List<StandardInfo> standardInfos = new();
|
||||
public string[] machineFilters;
|
||||
public Action<string[]> onUpdateMachineFilters;
|
||||
|
||||
public Action<HashSet<Machine>> onLibraryFilterigComplete;
|
||||
public Action<HashSet<Machine>> onAllMachinesReady;
|
||||
public HashSet<Machine> filteringMachine = new();
|
||||
public Action<UI_LibraryButton> onClickButton;
|
||||
|
||||
public void Awake()
|
||||
{
|
||||
var path = $"./{machineInfoPath }";
|
||||
ReadStandardInfo(new string[] { path });
|
||||
}
|
||||
public void Start()
|
||||
{
|
||||
MatchingMachine(standardInfos, machineFilters);
|
||||
}
|
||||
|
||||
string[] ReadRawFile(string path, char separator)
|
||||
{
|
||||
FileInfo fileInfo = new FileInfo(path);
|
||||
using (var fs = fileInfo.OpenRead())
|
||||
{
|
||||
var length = fs.Length;
|
||||
var buffer = new byte[length];
|
||||
fs.Read(buffer, 0, buffer.Length);
|
||||
string str = System.Text.Encoding.Default.GetString(buffer);
|
||||
return str.Split(separator);
|
||||
}
|
||||
}
|
||||
|
||||
void ReadStandardInfo(string[] file)
|
||||
{
|
||||
var path = file[0];
|
||||
var rawData = ReadRawFile(path, '\n');
|
||||
|
||||
standardInfos.Clear();
|
||||
bool warningChecker = false;
|
||||
HashSet<string> filterSet = new();
|
||||
for (int i = 1; i < rawData.Length - 1; ++i)
|
||||
{
|
||||
var r = rawData[i];
|
||||
var data = r.Split(',');
|
||||
if (data.Length < 2)
|
||||
{
|
||||
return;
|
||||
}
|
||||
var code = data[0];
|
||||
var name = data[1];
|
||||
if (code == "" || name == "")
|
||||
{
|
||||
warningChecker = true;
|
||||
break;
|
||||
}
|
||||
|
||||
data = data[2..];
|
||||
|
||||
int prevLength = data.Length;
|
||||
data = data.Distinct().Where(d => d != "" && d != "\r").ToArray();
|
||||
for (int a = 0; a < data.Length; ++a)
|
||||
{
|
||||
data[a] = data[a].Replace('\r', ' ');
|
||||
}
|
||||
|
||||
var standardInfo = new StandardInfo() { code = code, name = name, filterInfo = data };
|
||||
|
||||
foreach (var f in standardInfo.filterInfo)
|
||||
{
|
||||
if (f != "")
|
||||
filterSet.Add(f);
|
||||
}
|
||||
|
||||
standardInfos.Add(standardInfo);
|
||||
}
|
||||
if (warningChecker)
|
||||
{
|
||||
return;
|
||||
}
|
||||
machineFilters = filterSet.ToArray();
|
||||
}
|
||||
|
||||
public void MatchingMachine(List<StandardInfo> standardInfos, string[] machineFilters)
|
||||
{
|
||||
var building = FindAnyObjectByType<Building>();
|
||||
machines = building.floors.SelectMany(f => f.machines).ToArray();
|
||||
foreach (var info in standardInfos)
|
||||
{
|
||||
var p = machines.Where(x => x.machineName.Equals(info.code)).FirstOrDefault();
|
||||
if (p == null)
|
||||
continue;
|
||||
p.typeOptions = info.filterInfo;
|
||||
}
|
||||
onUpdateMachineFilters?.Invoke(machineFilters);
|
||||
onAllMachinesReady?.Invoke(machines.ToHashSet());
|
||||
}
|
||||
|
||||
public void LibraryFiltering(string options)
|
||||
{
|
||||
filteringMachine.Clear();
|
||||
foreach (var machine in machines)
|
||||
{
|
||||
if (machine.typeOptions.Contains(options))
|
||||
{
|
||||
filteringMachine.Add(machine);
|
||||
}
|
||||
}
|
||||
onLibraryFilterigComplete?.Invoke(filteringMachine);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
2
Assets/Scripts/Manager/LibraryManager.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d8fa0e077ff947341993059cf8fff9b2
|
||||
83
Assets/Scripts/Raycaster.cs
Normal file
@@ -0,0 +1,83 @@
|
||||
using UnityEngine;
|
||||
using WI;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace AZTECHWB
|
||||
{
|
||||
public class Raycaster : MonoBehaviour
|
||||
{
|
||||
private OrbitalController controller;
|
||||
private List<Machine> machines = new List<Machine>();
|
||||
public Machine currentClickMachine;
|
||||
|
||||
private RaycastHit[] hitInfo = new RaycastHit[16];
|
||||
private RaycastHit hit;
|
||||
|
||||
public event Action<Machine> onLeftClickMachine;
|
||||
|
||||
public LayerMask floorLayers;
|
||||
private bool isInteractable;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
controller = FindAnyObjectByType<OrbitalController>();
|
||||
}
|
||||
private void Start()
|
||||
{
|
||||
var building = FindAnyObjectByType<Building>();
|
||||
machines = building.floors.SelectMany(f => f.machines).ToList();
|
||||
}
|
||||
public void SetInteractable(bool isClickable)
|
||||
{
|
||||
isInteractable = isClickable;
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
RaycastOnClickMachine();
|
||||
}
|
||||
|
||||
private void RaycastOnClickMachine()
|
||||
{
|
||||
if (!isInteractable)
|
||||
return;
|
||||
|
||||
bool leftClick = Input.GetMouseButtonDown(0);
|
||||
|
||||
if (!leftClick)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (controller.IsClickUI)
|
||||
return;
|
||||
|
||||
LayerMask exceptionLayer = LayerMask.GetMask("Floor Ground", "Floor Wall", "Roof");
|
||||
LayerMask layerMask = floorLayers & ~exceptionLayer;
|
||||
|
||||
Ray ray = controller.camera.ScreenPointToRay(Input.mousePosition);
|
||||
hitInfo = Physics.RaycastAll(ray, Mathf.Infinity, layerMask);
|
||||
|
||||
if (hitInfo.Length == 0)
|
||||
return;
|
||||
|
||||
Array.Sort(hitInfo, (hit1, hit2) => hit1.distance.CompareTo(hit2.distance));
|
||||
var hitColider = hitInfo[0].collider;
|
||||
|
||||
hitColider.TryGetComponent<Machine>(out var clickMachine);
|
||||
|
||||
foreach (var machine in machines)
|
||||
{
|
||||
if(machine == clickMachine)
|
||||
{
|
||||
if (leftClick)
|
||||
{
|
||||
onLeftClickMachine?.Invoke(clickMachine);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
11
Assets/Scripts/Raycaster.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cc40e2054b316c240a015be5e32d84b7
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
21
Assets/Scripts/UI/Canvas_Persistent.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace AZTECHWB
|
||||
{
|
||||
public class Canvas_Persistent : MonoBehaviour
|
||||
{
|
||||
private static Canvas_Persistent instance;
|
||||
|
||||
void Awake()
|
||||
{
|
||||
if (instance != null)
|
||||
{
|
||||
Destroy(gameObject);
|
||||
return;
|
||||
}
|
||||
|
||||
instance = this;
|
||||
DontDestroyOnLoad(gameObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/UI/Canvas_Persistent.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 80ec19f0c4050d54d80fdc48c5c6ea01
|
||||
@@ -6,11 +6,13 @@ namespace AZTECHWB
|
||||
{
|
||||
public class Canvas_Popup : MonoBehaviour
|
||||
{
|
||||
public Panel_Library panel_library;
|
||||
public Panel_MiniMap panel_minimap;
|
||||
public Panel_MachineDetailDashboard panel_machinedetaildashboard;
|
||||
public Panel_MachineDataDashboard panel_machinedatadashboard;
|
||||
public Panel_ProductionProgress panel_productionprogress;
|
||||
public Panel_AlarmSituation panel_alarmsituation;
|
||||
public Panel_AISimulationInfo panel_aisimulationinfo;
|
||||
public Panel_Setting panel_setting;
|
||||
public Panel_ExitProgram panel_exitprogram;
|
||||
|
||||
@@ -18,6 +20,9 @@ namespace AZTECHWB
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
panel_library = transform.GetComponentInChildren<Panel_Library>(true);
|
||||
panel_library.Init();
|
||||
|
||||
panel_minimap = transform.GetComponentInChildren<Panel_MiniMap>(true);
|
||||
panel_minimap.Init();
|
||||
|
||||
@@ -36,6 +41,9 @@ namespace AZTECHWB
|
||||
panel_alarmsituation = transform.GetComponentInChildren<Panel_AlarmSituation>(true);
|
||||
panel_alarmsituation.Init();
|
||||
|
||||
panel_aisimulationinfo = transform.GetComponentInChildren<Panel_AISimulationInfo>(true);
|
||||
panel_aisimulationinfo.Init();
|
||||
|
||||
panel_exitprogram = transform.GetComponentInChildren<Panel_ExitProgram>(true);
|
||||
panel_exitprogram.Init();
|
||||
|
||||
@@ -44,6 +52,15 @@ namespace AZTECHWB
|
||||
|
||||
public void SetChangedPopup(string popupuiName)
|
||||
{
|
||||
if (string.IsNullOrEmpty(popupuiName))
|
||||
{
|
||||
foreach (var popup in popupList)
|
||||
{
|
||||
popup.Close();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
var currentPopup = popupList.Find(p => p.name.Contains(popupuiName));
|
||||
var highPriorityPopups = popupList.Where(p => p.priority < currentPopup.priority).ToList();
|
||||
var lowPriorityPopups = popupList.Where(p => p.priority >= currentPopup.priority).ToList();
|
||||
|
||||
89
Assets/Scripts/UI/Panel_AISimulationInfo.cs
Normal file
@@ -0,0 +1,89 @@
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace AZTECHWB
|
||||
{
|
||||
public class Panel_AISimulationInfo : MonoBehaviour
|
||||
{
|
||||
public ScrollRect ScrollView_DataInfo;
|
||||
public Button Button_Close;
|
||||
|
||||
public UI_SimulationInfoItem prf_SimulationInfoItem;
|
||||
Dictionary<string, UI_SimulationInfoItem> itemMap = new Dictionary<string, UI_SimulationInfoItem>();
|
||||
|
||||
public void Init()
|
||||
{
|
||||
var textDict = transform.GetChildComponentsByName<TextMeshProUGUI>(transform);
|
||||
|
||||
ScrollView_DataInfo = transform.GetComponentInChildren<ScrollRect>(true);
|
||||
Button_Close = transform.GetComponentInChildren<Button>(true);
|
||||
prf_SimulationInfoItem = Resources.Load<UI_SimulationInfoItem>("Prefabs/UI/PRF_UI_SimulationInfoItem");
|
||||
|
||||
Button_Close.onClick.AddListener(Close);
|
||||
}
|
||||
|
||||
public void Open()
|
||||
{
|
||||
gameObject.SetActive(true);
|
||||
}
|
||||
public void Close()
|
||||
{
|
||||
gameObject.SetActive(false);
|
||||
}
|
||||
public void SetDataInfo(EquipmentSimulation equipmentSimulation)
|
||||
{
|
||||
Open();
|
||||
UpdateData(equipmentSimulation);
|
||||
}
|
||||
|
||||
public void UpdateData(EquipmentSimulation data)
|
||||
{
|
||||
var uiData = ToUIData(data);
|
||||
|
||||
// 1. 기존 항목 업데이트 or 생성
|
||||
foreach (var kv in uiData)
|
||||
{
|
||||
if (!itemMap.TryGetValue(kv.Key, out var item))
|
||||
{
|
||||
// 없으면 새로 생성
|
||||
item = Instantiate(prf_SimulationInfoItem, ScrollView_DataInfo.content);
|
||||
item.Init();
|
||||
itemMap[kv.Key] = item;
|
||||
}
|
||||
|
||||
item.Setting(kv.Key, kv.Value);
|
||||
item.gameObject.SetActive(true);
|
||||
}
|
||||
|
||||
// 2. 더 이상 안 쓰는 항목 숨김
|
||||
foreach (var kv in itemMap)
|
||||
{
|
||||
if (!uiData.ContainsKey(kv.Key))
|
||||
{
|
||||
kv.Value.gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Dictionary<string, string> ToUIData(EquipmentSimulation e)
|
||||
{
|
||||
var dict = new Dictionary<string, string>();
|
||||
|
||||
dict["설비명"] = e.equipmentName;
|
||||
dict["공정"] = e.processType;
|
||||
dict["상태"] = e.overallStatus;
|
||||
dict["건강도"] = e.healthScore.ToString("0.0");
|
||||
|
||||
if (e.prediction != null)
|
||||
{
|
||||
dict["고장 확률"] = (e.prediction.failureProbability * 100f).ToString("0") + "%";
|
||||
dict["예상 고장일"] = e.prediction.estimatedFailureDate;
|
||||
dict["권장 조치"] = e.prediction.recommendedAction;
|
||||
}
|
||||
|
||||
return dict;
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/UI/Panel_AISimulationInfo.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c8614ae51393c63448c1cf9142b74d79
|
||||
10
Assets/Scripts/UI/Panel_AISimulationLoading.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace AZTECHWB
|
||||
{
|
||||
public class Panel_AISimulationLoading : MonoBehaviour
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
2
Assets/Scripts/UI/Panel_AISimulationLoading.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6c02eabae13733b47b842115e7fde37e
|
||||
227
Assets/Scripts/UI/Panel_Entry.cs
Normal file
@@ -0,0 +1,227 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace AZTECHWB
|
||||
{
|
||||
public class LoginInfo
|
||||
{
|
||||
public string ID;
|
||||
public string Password;
|
||||
}
|
||||
public class Panel_Entry : MonoBehaviour
|
||||
{
|
||||
public CanvasGroup Loading;
|
||||
|
||||
public Image Logo;
|
||||
public Slider Slider_LoadingProgress;
|
||||
public TMP_Text Text_Loading;
|
||||
|
||||
public float fadeOutDuration = 0.8f;
|
||||
public float simulationDuration = 4f;
|
||||
|
||||
Coroutine loadingCoroutine;
|
||||
public Action onLoadingComplete;
|
||||
|
||||
public CanvasGroup Login;
|
||||
|
||||
public TMP_InputField InputField_ID;
|
||||
public TMP_InputField InputField_Password;
|
||||
public Button Button_Login;
|
||||
|
||||
public CanvasGroup LoginError;
|
||||
|
||||
public TextMeshProUGUI Text_Error;
|
||||
|
||||
public float errorFadeDuration = 0.25f;
|
||||
public float errorShowTime = 2.0f;
|
||||
|
||||
Coroutine errorRoutine;
|
||||
|
||||
public List<LoginInfo> loginInfos = new();
|
||||
|
||||
void Awake()
|
||||
{
|
||||
var loginData = Resources.Load<TextAsset>("LoginInfo").text;
|
||||
loginInfos = JsonConvert.DeserializeObject<List<LoginInfo>>(loginData);
|
||||
|
||||
var canvasGroupDict = transform.GetChildComponentsByName<CanvasGroup>();
|
||||
Loading = canvasGroupDict.GetOrNull(nameof(Loading));
|
||||
Login = canvasGroupDict.GetOrNull(nameof(Login));
|
||||
LoginError = canvasGroupDict.GetOrNull(nameof(LoginError));
|
||||
|
||||
Logo = Loading.GetComponentInChildren<Image>();
|
||||
Slider_LoadingProgress = Loading.GetComponentInChildren<Slider>();
|
||||
Text_Loading = Loading.GetComponentInChildren<TextMeshProUGUI>();
|
||||
|
||||
var inputFieldDict = Login.transform.GetChildComponentsByName<TMP_InputField>();
|
||||
|
||||
InputField_ID = inputFieldDict.GetOrNull(nameof(InputField_ID));
|
||||
InputField_Password = inputFieldDict.GetOrNull(nameof(InputField_Password));
|
||||
Button_Login = Login.GetComponentInChildren<Button>();
|
||||
|
||||
Text_Error = LoginError.GetComponentInChildren<TextMeshProUGUI>();
|
||||
|
||||
transform.SetAsLastSibling();
|
||||
onLoadingComplete += FadeInLoginPanel;
|
||||
Button_Login.onClick.AddListener(OnClickLoginButton);
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
StartLoadingRoutine();
|
||||
}
|
||||
|
||||
#region Loading
|
||||
public void StartLoadingRoutine()
|
||||
{
|
||||
if (loadingCoroutine != null)
|
||||
StopCoroutine(loadingCoroutine);
|
||||
|
||||
loadingCoroutine = StartCoroutine(RunLoadingRoutine());
|
||||
}
|
||||
|
||||
IEnumerator RunLoadingRoutine()
|
||||
{
|
||||
yield return new WaitForSeconds(0.3f);
|
||||
float elapsed = 0f;
|
||||
|
||||
while (elapsed < simulationDuration)
|
||||
{
|
||||
elapsed += Time.deltaTime;
|
||||
float progress = Mathf.Clamp01(elapsed / simulationDuration);
|
||||
|
||||
UpdateProgress(progress);
|
||||
UpdateLogoFade(progress);
|
||||
|
||||
yield return null;
|
||||
}
|
||||
yield return new WaitForSeconds(0.3f);
|
||||
yield return StartCoroutine(FadeOutLoadingPanel());
|
||||
}
|
||||
|
||||
void UpdateProgress(float progress01)
|
||||
{
|
||||
Slider_LoadingProgress.value = progress01;
|
||||
Text_Loading.SetText($"Loading..({(progress01 * 100f):F0}%)");
|
||||
}
|
||||
|
||||
void UpdateLogoFade(float progress01)
|
||||
{
|
||||
float t = progress01 * 5f;
|
||||
|
||||
// 삼각파 형태 만들기
|
||||
float wave = 1f - Mathf.Abs((t % 2f) - 1f);
|
||||
|
||||
// 마지막 구간은 항상 Fade In으로 고정
|
||||
if (t >= 4f)
|
||||
wave = t - 4f;
|
||||
|
||||
float alpha = Mathf.Lerp(0.1f, 1f, Mathf.Clamp01(wave));
|
||||
|
||||
var c = Logo.color;
|
||||
c.a = alpha;
|
||||
Logo.color = c;
|
||||
}
|
||||
|
||||
IEnumerator FadeOutLoadingPanel()
|
||||
{
|
||||
float t = 0f;
|
||||
float start = Loading.alpha;
|
||||
|
||||
while (t < fadeOutDuration)
|
||||
{
|
||||
t += Time.deltaTime;
|
||||
Loading.alpha = Mathf.Lerp(start, 0f, t / fadeOutDuration);
|
||||
yield return null;
|
||||
}
|
||||
Loading.alpha = 0f;
|
||||
onLoadingComplete?.Invoke();
|
||||
}
|
||||
#endregion
|
||||
|
||||
public void FadeInLoginPanel()
|
||||
{
|
||||
StopAllCoroutines();
|
||||
StartCoroutine(FadeIn());
|
||||
}
|
||||
IEnumerator FadeIn()
|
||||
{
|
||||
float t = 0f;
|
||||
float start = Login.alpha;
|
||||
while (t < fadeOutDuration)
|
||||
{
|
||||
t += Time.deltaTime;
|
||||
Login.alpha = Mathf.Lerp(start, 1f, t / fadeOutDuration);
|
||||
yield return null;
|
||||
}
|
||||
Login.alpha = 1f;
|
||||
}
|
||||
private void OnClickLoginButton()
|
||||
{
|
||||
string id = InputField_ID.text.Trim();
|
||||
string pw = InputField_Password.text.Trim();
|
||||
|
||||
if (string.IsNullOrEmpty(id) || string.IsNullOrEmpty(pw))
|
||||
{
|
||||
ShowLoginError("ID와 비밀번호를 입력해주세요.");
|
||||
return;
|
||||
}
|
||||
|
||||
LoginInfo matched = null;
|
||||
foreach (var info in loginInfos)
|
||||
{
|
||||
if (info.ID == id && info.Password == pw)
|
||||
{
|
||||
matched = info;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (matched == null)
|
||||
{
|
||||
ShowLoginError("ID 또는 비밀번호가 올바르지 않습니다.");
|
||||
return;
|
||||
}
|
||||
OnLoginSuccess();
|
||||
}
|
||||
private void ShowLoginError(string msg)
|
||||
{
|
||||
if (errorRoutine != null)
|
||||
StopCoroutine(errorRoutine);
|
||||
|
||||
errorRoutine = StartCoroutine(ErrorRoutine(msg));
|
||||
}
|
||||
private void OnLoginSuccess()
|
||||
{
|
||||
gameObject.SetActive(false);
|
||||
}
|
||||
IEnumerator ErrorRoutine(string msg)
|
||||
{
|
||||
Text_Error.text = msg;
|
||||
|
||||
yield return StartCoroutine(FadeErrorPanel(LoginError, 0f, 1f, errorFadeDuration));
|
||||
|
||||
yield return new WaitForSeconds(errorShowTime);
|
||||
|
||||
yield return StartCoroutine(FadeErrorPanel(LoginError, 1f, 0f, errorFadeDuration));
|
||||
}
|
||||
IEnumerator FadeErrorPanel(CanvasGroup cg, float from, float to, float duration)
|
||||
{
|
||||
float t = 0f;
|
||||
cg.alpha = from;
|
||||
|
||||
while (t < duration)
|
||||
{
|
||||
t += Time.deltaTime;
|
||||
cg.alpha = Mathf.Lerp(from, to, t / duration);
|
||||
yield return null;
|
||||
}
|
||||
cg.alpha = to;
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/UI/Panel_Entry.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8fcfb9c7a90cb4a48b418eba35f8585c
|
||||
217
Assets/Scripts/UI/Panel_Library.cs
Normal file
@@ -0,0 +1,217 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using TMPro;
|
||||
|
||||
namespace AZTECHWB
|
||||
{
|
||||
public class Panel_Library : MonoBehaviour
|
||||
{
|
||||
private RectTransform rectTransform;
|
||||
private Button Button_Active;
|
||||
private TMP_InputField InputField_MachineSearch;
|
||||
private GridLayoutGroup Panel_MachineFilter;
|
||||
private ScrollRect ScrollView_MachineList;
|
||||
|
||||
private RectTransform Hide;
|
||||
private RectTransform Mark;
|
||||
|
||||
private Vector2 originPos;
|
||||
public Vector2 downPos;
|
||||
|
||||
public float fadeTime;
|
||||
private bool isActive;
|
||||
private string dataOrder;
|
||||
|
||||
private string currentSearchKeyword = "";
|
||||
|
||||
private HashSet<Machine> allMachines = new();
|
||||
private HashSet<Machine> filteredMachines = new();
|
||||
|
||||
|
||||
private UI_LibraryButton prf_LibraryButton;
|
||||
private Dictionary<string, UI_LibraryButton> addLibraryButtons = new();
|
||||
private UI_LibraryButton currentLibraryButton;
|
||||
|
||||
public UI_FilterButton[] filterButtons;
|
||||
public UI_FilterButton pre_labelButton;
|
||||
|
||||
public Action<string> onClickLabelButton;
|
||||
public Action<Machine> onClickLibraryButton;
|
||||
|
||||
public void Init()
|
||||
{
|
||||
rectTransform = GetComponent<RectTransform>();
|
||||
Button_Active = transform.GetComponentInChildren<Button>();
|
||||
InputField_MachineSearch = transform.GetComponentInChildren<TMP_InputField>();
|
||||
Panel_MachineFilter = transform.GetComponentInChildren<GridLayoutGroup>();
|
||||
ScrollView_MachineList = transform.GetComponentInChildren<ScrollRect>();
|
||||
|
||||
Hide = Button_Active.transform.GetChild(0).GetComponent<RectTransform>();
|
||||
Mark = Button_Active.transform.GetChild(1).GetComponent<RectTransform>();
|
||||
|
||||
dataOrder = Resources.Load<TextAsset>("DataOrder").text;
|
||||
prf_LibraryButton = Resources.Load<UI_LibraryButton>("Prefabs/UI/PRF_UI_LibraryButton");
|
||||
filterButtons = transform.GetComponentsInChildren<UI_FilterButton>(true);
|
||||
|
||||
Button_Active.onClick.AddListener(OnClickActiveButton);
|
||||
InputField_MachineSearch.onValueChanged.AddListener(OnSearchKeywordChanged);
|
||||
|
||||
originPos = rectTransform.anchoredPosition;
|
||||
isActive = true;
|
||||
}
|
||||
|
||||
public void UpdateFileterList(string[] filters)
|
||||
{
|
||||
for (int i = 0; i < filters.Length; ++i)
|
||||
{
|
||||
var label = filters[i];
|
||||
|
||||
var btn = FindFilterButton(label);
|
||||
btn.SettingButton(label);
|
||||
btn.onClickButton += OnClickFilterButton;
|
||||
}
|
||||
OnClickFilterButton(filterButtons[0]);
|
||||
}
|
||||
private UI_FilterButton FindFilterButton(string label)
|
||||
{
|
||||
UI_FilterButton button = filterButtons.ToList().Find(a => a.label == label);
|
||||
return button;
|
||||
}
|
||||
private void OnClickFilterButton(UI_FilterButton filterLabel)
|
||||
{
|
||||
if (pre_labelButton != null)
|
||||
{
|
||||
pre_labelButton.OnDeselected();
|
||||
}
|
||||
pre_labelButton = filterLabel;
|
||||
pre_labelButton.OnSelected();
|
||||
|
||||
onClickLabelButton?.Invoke(pre_labelButton.label);
|
||||
}
|
||||
|
||||
public void OnClickActiveButton()
|
||||
{
|
||||
if (!isActive)
|
||||
{
|
||||
Open();
|
||||
}
|
||||
else
|
||||
{
|
||||
Close();
|
||||
}
|
||||
}
|
||||
public void Open()
|
||||
{
|
||||
isActive = true;
|
||||
Mark.gameObject.SetActive(false);
|
||||
Hide.gameObject.SetActive(true);
|
||||
|
||||
StopAllCoroutines();
|
||||
StartCoroutine(MoveAnimation(originPos));
|
||||
}
|
||||
public void Close()
|
||||
{
|
||||
isActive = false;
|
||||
Mark.gameObject.SetActive(true);
|
||||
Hide.gameObject.SetActive(false);
|
||||
|
||||
StopAllCoroutines();
|
||||
StartCoroutine(MoveAnimation(downPos));
|
||||
}
|
||||
public void SetAllMachines(HashSet<Machine> machines)
|
||||
{
|
||||
allMachines = machines;
|
||||
}
|
||||
private void OnSearchKeywordChanged(string keyword)
|
||||
{
|
||||
currentSearchKeyword = keyword;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(currentSearchKeyword))
|
||||
{
|
||||
UpdateLibraryMachineList(filteredMachines);
|
||||
}
|
||||
else
|
||||
{
|
||||
var matched = allMachines
|
||||
.Where(machine => machine.machineName.Contains(currentSearchKeyword, StringComparison.OrdinalIgnoreCase))
|
||||
.ToHashSet();
|
||||
|
||||
UpdateLibraryMachineList(matched);
|
||||
}
|
||||
}
|
||||
private void UpdateLibraryMachineList(HashSet<Machine> targetMachines)
|
||||
{
|
||||
var content = ScrollView_MachineList.content;
|
||||
var sorted = SortListByWorkcd(targetMachines);
|
||||
|
||||
foreach (var item in addLibraryButtons.Values)
|
||||
{
|
||||
item.gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
foreach (var machine in sorted)
|
||||
{
|
||||
if (!addLibraryButtons.ContainsKey(machine.machineName))
|
||||
{
|
||||
var btn = Instantiate(prf_LibraryButton, content);
|
||||
btn.SettingButton(machine);
|
||||
btn.onClickButton += OnClickLibraryButton;
|
||||
addLibraryButtons.Add(machine.machineName, btn);
|
||||
}
|
||||
else
|
||||
{
|
||||
addLibraryButtons[machine.machineName].gameObject.SetActive(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void AddLibrarayButtons(HashSet<Machine> machines)
|
||||
{
|
||||
filteredMachines = machines;
|
||||
if (string.IsNullOrWhiteSpace(currentSearchKeyword))
|
||||
{
|
||||
UpdateLibraryMachineList(filteredMachines);
|
||||
}
|
||||
}
|
||||
public List<Machine> SortListByWorkcd(HashSet<Machine> machines)
|
||||
{
|
||||
var workcdOrder = JsonConvert.DeserializeObject<List<string>>(dataOrder);
|
||||
var orderMap = workcdOrder.Select((workcd, index) => new { workcd, index }).ToDictionary(x => x.workcd, x => x.index);
|
||||
|
||||
return machines.OrderBy(field => orderMap[field.machineName]).ToList();
|
||||
}
|
||||
|
||||
|
||||
private void OnClickLibraryButton(UI_LibraryButton machineButton)
|
||||
{
|
||||
if (currentLibraryButton != null)
|
||||
{
|
||||
currentLibraryButton.Image_Selected.gameObject.SetActive(false);
|
||||
}
|
||||
currentLibraryButton = machineButton;
|
||||
currentLibraryButton.Image_Selected.gameObject.SetActive(true);
|
||||
|
||||
onClickLibraryButton?.Invoke(machineButton.machine);
|
||||
}
|
||||
|
||||
IEnumerator MoveAnimation(Vector2 targetPos)
|
||||
{
|
||||
float timer = 0f;
|
||||
float percent = 0f;
|
||||
|
||||
while (percent < 1)
|
||||
{
|
||||
timer += Time.deltaTime;
|
||||
percent = timer / fadeTime;
|
||||
rectTransform.anchoredPosition = Vector2.Lerp(rectTransform.anchoredPosition, targetPos, percent);
|
||||
|
||||
yield return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/UI/Panel_Library.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0f1b63f6532c38c488fbeefdb016e91a
|
||||
@@ -57,6 +57,8 @@ namespace AZTECHWB
|
||||
private Button Button_Close;
|
||||
private Button Button_DataDashboard;
|
||||
|
||||
private bool isInteractable;
|
||||
|
||||
public Action<string> onClickDataDashboardButton;
|
||||
|
||||
public void Init()
|
||||
@@ -112,12 +114,20 @@ namespace AZTECHWB
|
||||
Button_DataDashboard.onClick.AddListener(OnClickDataDashboardButton);
|
||||
}
|
||||
|
||||
public void SetInteractable(bool isClickable)
|
||||
{
|
||||
isInteractable = isClickable;
|
||||
}
|
||||
|
||||
private void OnClickDataDashboardButton()
|
||||
{
|
||||
onClickDataDashboardButton?.Invoke("MachineDataDashboard");
|
||||
}
|
||||
public override void Open()
|
||||
{
|
||||
if (isInteractable)
|
||||
return;
|
||||
|
||||
gameObject.SetActive(true);
|
||||
}
|
||||
public override void Close()
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace AZTECHWB
|
||||
public Action<string> onClickProductionProgress;
|
||||
public Action<string> onClikcAlarm;
|
||||
public Action<string> onClickSetting;
|
||||
public Action onClickAISimulation;
|
||||
public Action<bool> onClickAISimulation;
|
||||
|
||||
public Action onClickExit;
|
||||
public Action onClickScreenInitialization;
|
||||
@@ -90,32 +90,23 @@ namespace AZTECHWB
|
||||
|
||||
private void OnClickAISimulation()
|
||||
{
|
||||
if (isClickable)
|
||||
return;
|
||||
|
||||
ChangedSituationButton(Button_AISimulation);
|
||||
isClickable = !isClickable;
|
||||
ChangedSituationButton(Button_AISimulation, isClickable);
|
||||
onClickAISimulation?.Invoke(isClickable);
|
||||
}
|
||||
private void OnClickSetting()
|
||||
{
|
||||
if (isClickable)
|
||||
return;
|
||||
|
||||
ChangedSituationButton(Button_Setting);
|
||||
onClickSetting?.Invoke("Setting");
|
||||
}
|
||||
|
||||
private void OnClickResetButton()
|
||||
{
|
||||
if (isClickable)
|
||||
return;
|
||||
onClickScreenInitialization?.Invoke();
|
||||
}
|
||||
|
||||
private void OnClickExit()
|
||||
{
|
||||
if (isClickable)
|
||||
return;
|
||||
|
||||
ChangedSituationButton(Button_Exit);
|
||||
onClickExit?.Invoke();
|
||||
}
|
||||
|
||||
47
Assets/Scripts/UI/UI_FilterButton.cs
Normal file
@@ -0,0 +1,47 @@
|
||||
using System;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace AZTECHWB
|
||||
{
|
||||
public class UI_FilterButton : MonoBehaviour
|
||||
{
|
||||
public string label;
|
||||
public event Action<UI_FilterButton> onClickButton;
|
||||
|
||||
private TextMeshProUGUI Text_Selected;
|
||||
private TextMeshProUGUI Text_Deselected;
|
||||
|
||||
public Color selectColor;
|
||||
public Color origingColor;
|
||||
|
||||
public void SettingButton(string labelName)
|
||||
{
|
||||
var textDictionary = transform.GetChildComponentsByName<TextMeshProUGUI>();
|
||||
Text_Selected = textDictionary.GetOrNull(nameof(Text_Selected));
|
||||
Text_Deselected = textDictionary.GetOrNull(nameof(Text_Deselected));
|
||||
|
||||
var button = transform.GetComponentInChildren<Button>();
|
||||
button.onClick.AddListener(OnClickButton);
|
||||
|
||||
origingColor = button.image.color;
|
||||
}
|
||||
|
||||
private void OnClickButton()
|
||||
{
|
||||
onClickButton?.Invoke(this);
|
||||
}
|
||||
public void OnSelected()
|
||||
{
|
||||
Text_Selected.gameObject.SetActive(true);
|
||||
Text_Deselected.gameObject.SetActive(false);
|
||||
}
|
||||
public void OnDeselected()
|
||||
{
|
||||
Text_Selected.gameObject.SetActive(false);
|
||||
Text_Deselected.gameObject.SetActive(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
2
Assets/Scripts/UI/UI_FilterButton.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c902a8e6bda178143a0cd6a982be930d
|
||||
34
Assets/Scripts/UI/UI_LibraryButton.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace AZTECHWB
|
||||
{
|
||||
public class UI_LibraryButton : MonoBehaviour
|
||||
{
|
||||
public Machine machine;
|
||||
public event Action<UI_LibraryButton> onClickButton;
|
||||
public Image PreviewImage;
|
||||
public Image Image_Selected;
|
||||
|
||||
public void SettingButton(Machine machine)
|
||||
{
|
||||
this.machine = machine;
|
||||
|
||||
var button = GetComponent<Button>();
|
||||
var buttonText = button.GetComponentInChildren<TMP_Text>();
|
||||
PreviewImage = transform.Find(nameof(PreviewImage)).GetComponent<Image>();
|
||||
Image_Selected = transform.Find(nameof(Image_Selected)).GetComponent<Image>();
|
||||
|
||||
buttonText.SetText(machine.machineName);
|
||||
button.onClick.AddListener(OnButtonClick);
|
||||
PreviewImage.sprite = machine.previewImage;
|
||||
}
|
||||
private void OnButtonClick()
|
||||
{
|
||||
onClickButton?.Invoke(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
2
Assets/Scripts/UI/UI_LibraryButton.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 85f60ce3c4a611c47a5d7d8827402efd
|
||||
35
Assets/Scripts/UI/UI_SimulationInfoItem.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
namespace AZTECHWB
|
||||
{
|
||||
public class UI_SimulationInfoItem : MonoBehaviour
|
||||
{
|
||||
public TMP_Text InfoName;
|
||||
public TMP_Text Data;
|
||||
|
||||
public void Init()
|
||||
{
|
||||
var textDict = transform.GetChildComponentsByName<TextMeshProUGUI>();
|
||||
|
||||
InfoName = textDict.GetOrNull(nameof(InfoName));
|
||||
Data = textDict.GetOrNull(nameof(Data));
|
||||
}
|
||||
public void Setting(string tag, string info)
|
||||
{
|
||||
InfoName.text = tag;
|
||||
|
||||
if (info == string.Empty || info == null)
|
||||
{
|
||||
Data.SetText("-");
|
||||
}
|
||||
else
|
||||
{
|
||||
Data.SetText(info);
|
||||
}
|
||||
|
||||
transform.localScale = Vector3.one;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
2
Assets/Scripts/UI/UI_SimulationInfoItem.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 44eaaccef6e08a4499fa3b093b0b98f4
|
||||
15
MachineStandardInfo.csv
Normal file
@@ -0,0 +1,15 @@
|
||||
설비코드,설비명,필터,
|
||||
정련1,정련기1,전체,ZONCO
|
||||
정련2,정련기2,전체,ZONCO
|
||||
HE2,HE2,전체,BIANCO
|
||||
밀링1,밀링기1,전체,MAT
|
||||
밀링2,밀링기2,전체,MAT
|
||||
밀링4,밀링기4,전체,ZONCO
|
||||
밀링5,밀링기5,전체,ZONCO
|
||||
건조1호기,건조기1호기,전체,MASCHINENBAL
|
||||
기모기1,기모기1,전체,LAFER
|
||||
기모기2,기모기2,전체,평창
|
||||
포리샤2,포리샤2,전체,평창 2
|
||||
포리샤3,포리샤3,전체,평창 3
|
||||
6단 전모기,6단 전모기,전체,LAFER
|
||||
전모기3,전모기3,전체,평창
|
||||
|
@@ -1,5 +1,5 @@
|
||||
[Graphics]
|
||||
Resolution=1280x720
|
||||
Resolution=1920x1080
|
||||
ScreenMode=0
|
||||
Texture=0
|
||||
Shadow=2
|
||||
|
||||
@@ -12,10 +12,10 @@ TagManager:
|
||||
- Water
|
||||
- UI
|
||||
- Camera
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
- Floor Wall
|
||||
- Floor Ground
|
||||
- Machine
|
||||
- Roof
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||