아즈텍 UI 기능 개발 2차

This commit is contained in:
정영민
2026-01-16 09:23:25 +09:00
parent b371fd9c74
commit d62d62093b
62 changed files with 16297 additions and 68 deletions

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4f76497f2de5c294faeda9c3ad099316
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

File diff suppressed because it is too large Load Diff

View 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:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e7e18e05adfe93544917101c0d6517bf
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 9100000
userData:
assetBundleName:
assetBundleVariant:

View 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: []

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 354cd6249276d6d49bbfc17d21c2e886
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

8
Assets/Images/Entry.meta Normal file
View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 262ca7ce0a5a73249973435862914e6a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 592 B

View 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:

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View 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:

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View 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:

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View 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:

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View 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:

View File

@@ -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:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: d5344a9cbae59cf489504d68b8483887
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -3,13 +3,13 @@
"밀링2",
"밀링4",
"밀링5",
"건조1호기",
"건조1호기",
"정련1",
"정련2",
"HE 2",
"HE2",
"6단 전모기",
"포리샤2",
"포샤3",
"포샤3",
"전모기3",
"기모기1",
"기모기2"

View File

@@ -0,0 +1,10 @@
[
{
"ID": "system",
"Password": "@dbqlTl1"
},
{
"ID": "admin",
"Password": "test!1234"
}
]

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: e957e98db38332d4c80412618bc25df8
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -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

View 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

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 2d15e771269ac3844a78b5d394c94523
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View 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": "정상 운전"
}
}
]

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 805bc75ba3ba88f47b3ac0f1e88f1f86
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -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": "가동중",

File diff suppressed because it is too large Load Diff

View 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;
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: f616a9a86888c5c4b89b05024111297e

View File

@@ -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();
}
}

View 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);
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: d8fa0e077ff947341993059cf8fff9b2

View 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);
}
}
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: cc40e2054b316c240a015be5e32d84b7
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View 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);
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 80ec19f0c4050d54d80fdc48c5c6ea01

View File

@@ -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();

View 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;
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: c8614ae51393c63448c1cf9142b74d79

View File

@@ -0,0 +1,10 @@
using UnityEngine;
namespace AZTECHWB
{
public class Panel_AISimulationLoading : MonoBehaviour
{
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 6c02eabae13733b47b842115e7fde37e

View 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;
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 8fcfb9c7a90cb4a48b418eba35f8585c

View 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;
}
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 0f1b63f6532c38c488fbeefdb016e91a

View File

@@ -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()

View File

@@ -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();
}

View 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);
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: c902a8e6bda178143a0cd6a982be930d

View 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);
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 85f60ce3c4a611c47a5d7d8827402efd

View 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;
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 44eaaccef6e08a4499fa3b093b0b98f4

15
MachineStandardInfo.csv Normal file
View 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 설비코드 설비명 필터
2 정련1 정련기1 전체 ZONCO
3 정련2 정련기2 전체 ZONCO
4 HE2 HE2 전체 BIANCO
5 밀링1 밀링기1 전체 MAT
6 밀링2 밀링기2 전체 MAT
7 밀링4 밀링기4 전체 ZONCO
8 밀링5 밀링기5 전체 ZONCO
9 건조1호기 건조기1호기 전체 MASCHINENBAL
10 기모기1 기모기1 전체 LAFER
11 기모기2 기모기2 전체 평창
12 포리샤2 포리샤2 전체 평창 2
13 포리샤3 포리샤3 전체 평창 3
14 6단 전모기 6단 전모기 전체 LAFER
15 전모기3 전모기3 전체 평창

View File

@@ -1,5 +1,5 @@
[Graphics]
Resolution=1280x720
Resolution=1920x1080
ScreenMode=0
Texture=0
Shadow=2

View File

@@ -12,10 +12,10 @@ TagManager:
- Water
- UI
- Camera
-
-
-
-
- Floor Wall
- Floor Ground
- Machine
- Roof
-
-
-