diff --git a/Assets/Prefabs/AAA/Panel_AGV.prefab b/Assets/Prefabs/AAA/Panel_AGV.prefab new file mode 100644 index 00000000..770f0495 --- /dev/null +++ b/Assets/Prefabs/AAA/Panel_AGV.prefab @@ -0,0 +1,296 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4653535049454866169 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5265721231338045504} + - component: {fileID: 9023385513771329929} + - component: {fileID: 5635362752153648150} + m_Layer: 5 + m_Name: Shadow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5265721231338045504 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4653535049454866169} + 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: 890093516518657518} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 5, y: -5} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9023385513771329929 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4653535049454866169} + m_CullTransparentMesh: 1 +--- !u!114 &5635362752153648150 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4653535049454866169} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.5882353} + 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: f56ca32cb6412e8408f7cbb20ec76055, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 32.34 +--- !u!1 &7752227893108221529 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 948346715020304857} + - component: {fileID: 5833644895867438262} + - component: {fileID: 3980097042304132475} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &948346715020304857 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7752227893108221529} + 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: 890093516518657518} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: 10} + m_SizeDelta: {x: 288, y: 0} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &5833644895867438262 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7752227893108221529} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, 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: 10 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &3980097042304132475 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7752227893108221529} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 1 +--- !u!1 &7827388610028740651 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 890093516518657518} + - component: {fileID: 3708113620981874956} + m_Layer: 5 + m_Name: Panel_AGV + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &890093516518657518 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7827388610028740651} + 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: 5265721231338045504} + - {fileID: 8894985241641706439} + - {fileID: 948346715020304857} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -344, y: -44} + m_SizeDelta: {x: 318, y: 972.8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &3708113620981874956 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7827388610028740651} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 50cc14a8fa6b2cb44ad7d2426e7e46eb, type: 3} + m_Name: + m_EditorClassIdentifier: + itemPrefab: {fileID: 0} + Content: {fileID: 0} +--- !u!1 &9158034230855959382 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8894985241641706439} + - component: {fileID: 6579675664579006244} + - component: {fileID: 8479324318254670499} + - component: {fileID: 7110797760534477117} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8894985241641706439 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9158034230855959382} + 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: 890093516518657518} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6579675664579006244 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9158034230855959382} + m_CullTransparentMesh: 1 +--- !u!114 &8479324318254670499 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9158034230855959382} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.1254902, g: 0.10980392, b: 0.16470589, 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: 6ec9606ed4ae1114797a6477c630dc6a, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 2.24 +--- !u!114 &7110797760534477117 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9158034230855959382} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 1 diff --git a/Assets/Prefabs/AAA/Panel_AGV.prefab.meta b/Assets/Prefabs/AAA/Panel_AGV.prefab.meta new file mode 100644 index 00000000..94897178 --- /dev/null +++ b/Assets/Prefabs/AAA/Panel_AGV.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e0ffcbbc80efa4d4bab82b349252c4b1 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Image/2.0.0/Topbar/solar_play-bold.png b/Assets/Resources/Images/Run.png similarity index 100% rename from Assets/Image/2.0.0/Topbar/solar_play-bold.png rename to Assets/Resources/Images/Run.png diff --git a/Assets/Image/2.0.0/Topbar/solar_play-bold.png.meta b/Assets/Resources/Images/Run.png.meta similarity index 100% rename from Assets/Image/2.0.0/Topbar/solar_play-bold.png.meta rename to Assets/Resources/Images/Run.png.meta diff --git a/Assets/Image/Icons/Icon_PictoIcons/64/Pictoicon_Control_Pause.Png b/Assets/Resources/Images/Stop.Png similarity index 100% rename from Assets/Image/Icons/Icon_PictoIcons/64/Pictoicon_Control_Pause.Png rename to Assets/Resources/Images/Stop.Png diff --git a/Assets/Image/Icons/Icon_PictoIcons/64/Pictoicon_Control_Pause.Png.meta b/Assets/Resources/Images/Stop.Png.meta similarity index 100% rename from Assets/Image/Icons/Icon_PictoIcons/64/Pictoicon_Control_Pause.Png.meta rename to Assets/Resources/Images/Stop.Png.meta diff --git a/Assets/Textures/ModernUIPack/Icon/Media/Pause.png b/Assets/Resources/Images/Stop2.png similarity index 100% rename from Assets/Textures/ModernUIPack/Icon/Media/Pause.png rename to Assets/Resources/Images/Stop2.png diff --git a/Assets/Textures/ModernUIPack/Icon/Media/Pause.png.meta b/Assets/Resources/Images/Stop2.png.meta similarity index 100% rename from Assets/Textures/ModernUIPack/Icon/Media/Pause.png.meta rename to Assets/Resources/Images/Stop2.png.meta diff --git a/Assets/Resources/Prefabs/UI/PRF_EntityItem.prefab b/Assets/Resources/Prefabs/UI/PRF_EntityItem.prefab new file mode 100644 index 00000000..09abf1e5 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/PRF_EntityItem.prefab @@ -0,0 +1,311 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1410781885430910492 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2490111260065955132} + - component: {fileID: 4619594656901260396} + - component: {fileID: 3858053886766842753} + m_Layer: 5 + m_Name: PRF_EntityItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2490111260065955132 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1410781885430910492} + 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: 6625112702371143276} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 67, y: -25} + m_SizeDelta: {x: 134, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4619594656901260396 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1410781885430910492} + m_CullTransparentMesh: 1 +--- !u!114 &3858053886766842753 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1410781885430910492} + 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: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2} + m_sharedMaterial: {fileID: 6975767319296004534, guid: 4f170a218dfffe4489dc7ddd54bc15cf, 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: 13 + m_fontSizeBase: 13 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 1 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + 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: 0 + 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 &1546915061005647563 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3883938803033704821} + - component: {fileID: 4902551005294585158} + - component: {fileID: 1916338139708908773} + m_Layer: 5 + m_Name: PRF_EntityItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3883938803033704821 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1546915061005647563} + 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: 6625112702371143276} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 211, y: -25} + m_SizeDelta: {x: 154, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4902551005294585158 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1546915061005647563} + m_CullTransparentMesh: 1 +--- !u!114 &1916338139708908773 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1546915061005647563} + 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: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2} + m_sharedMaterial: {fileID: 6975767319296004534, guid: 4f170a218dfffe4489dc7ddd54bc15cf, 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: 11 + m_fontSizeBase: 11 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + 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: 0 + 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 &7595299807217255251 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6625112702371143276} + m_Layer: 5 + m_Name: PRF_EntityItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6625112702371143276 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7595299807217255251} + 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: 2490111260065955132} + - {fileID: 3883938803033704821} + 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: 288, y: 25} + m_Pivot: {x: 0.5, y: 0.5} diff --git a/Assets/Resources/Prefabs/UI/PRF_EntityItem.prefab.meta b/Assets/Resources/Prefabs/UI/PRF_EntityItem.prefab.meta new file mode 100644 index 00000000..2e5fda81 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/PRF_EntityItem.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b5e40c47ed9e07c4ea197197c5778d4f +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/pre-0.24.0.unity b/Assets/Scenes/pre-0.24.0.unity index 987441a7..f5da7555 100644 --- a/Assets/Scenes/pre-0.24.0.unity +++ b/Assets/Scenes/pre-0.24.0.unity @@ -164,11 +164,157 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: sceneObjects: [] +--- !u!224 &11436643 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2730612551908113454, guid: 13ace7584c1d4514cb2218354647e355, type: 3} + m_PrefabInstance: {fileID: 396217241} + m_PrefabAsset: {fileID: 0} --- !u!224 &110380560 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 1112357447546033534, guid: 86fac645f610e6c43a57c53dec3f6e48, type: 3} m_PrefabInstance: {fileID: 8788018936673242657} m_PrefabAsset: {fileID: 0} +--- !u!1 &189404504 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 189404505} + - component: {fileID: 189404509} + - component: {fileID: 189404508} + - component: {fileID: 189404507} + - component: {fileID: 189404506} + m_Layer: 5 + m_Name: Button_Play + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &189404505 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189404504} + 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: 11436643} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 40, y: 40} + m_Pivot: {x: 1, y: 0.5} +--- !u!114 &189404506 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189404504} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &189404507 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189404504} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 189404508} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &189404508 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189404504} + 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: 16ab77a8cc636504bada37c9dd4971ef, 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 +--- !u!222 &189404509 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189404504} + m_CullTransparentMesh: 1 --- !u!1 &216528115 GameObject: m_ObjectHideFlags: 0 @@ -1529,7 +1675,10 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] - m_AddedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 2730612551908113454, guid: 13ace7584c1d4514cb2218354647e355, type: 3} + insertIndex: -1 + addedObject: {fileID: 189404505} m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 13ace7584c1d4514cb2218354647e355, type: 3} --- !u!224 &416036583 stripped @@ -2227,6 +2376,7 @@ RectTransform: - {fileID: 1439596647} - {fileID: 1085911555} - {fileID: 1712022043} + - {fileID: 740571666} - {fileID: 1195713950} - {fileID: 917198748} - {fileID: 110380560} @@ -2292,6 +2442,7 @@ MonoBehaviour: panel_loggingmodal: {fileID: 0} panel_exitchecker: {fileID: 0} panel_datarepository: {fileID: 0} + panel_agv: {fileID: 0} panel_dataconnectmodal: {fileID: 0} panel_alarmconnectmodal: {fileID: 0} --- !u!114 &545811783 @@ -2357,6 +2508,52 @@ Canvas: m_SortingLayerID: 0 m_SortingOrder: 1 m_TargetDisplay: 0 +--- !u!1 &571004138 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 571004139} + - component: {fileID: 571004140} + m_Layer: 0 + m_Name: AGVManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &571004139 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 571004138} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1093055756} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &571004140 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 571004138} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1af5890e725b4a74397a6abcbc5c8b43, type: 3} + m_Name: + m_EditorClassIdentifier: + AGVMoveSpeed: 0.15 + AGVRotateSpeed: 0.15 --- !u!1 &574297194 GameObject: m_ObjectHideFlags: 0 @@ -3179,6 +3376,112 @@ RectTransform: m_CorrespondingSourceObject: {fileID: 2585355017195122876, guid: 8ca817cf0dbcb8c45a568fe8416068d1, type: 3} m_PrefabInstance: {fileID: 722122562} m_PrefabAsset: {fileID: 0} +--- !u!1001 &740571665 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 545811781} + m_Modifications: + - target: {fileID: 890093516518657518, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 890093516518657518, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 890093516518657518, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 890093516518657518, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 890093516518657518, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_AnchorMin.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 890093516518657518, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 890093516518657518, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_SizeDelta.x + value: 318 + objectReference: {fileID: 0} + - target: {fileID: 890093516518657518, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_SizeDelta.y + value: 972.8 + objectReference: {fileID: 0} + - target: {fileID: 890093516518657518, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 890093516518657518, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 890093516518657518, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 890093516518657518, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 890093516518657518, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 890093516518657518, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 890093516518657518, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 890093516518657518, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_AnchoredPosition.x + value: -344 + objectReference: {fileID: 0} + - target: {fileID: 890093516518657518, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_AnchoredPosition.y + value: -44 + objectReference: {fileID: 0} + - target: {fileID: 890093516518657518, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 890093516518657518, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 890093516518657518, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7827388610028740651, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_Name + value: Panel_AGV + objectReference: {fileID: 0} + - target: {fileID: 7827388610028740651, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} +--- !u!224 &740571666 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 890093516518657518, guid: e0ffcbbc80efa4d4bab82b349252c4b1, type: 3} + m_PrefabInstance: {fileID: 740571665} + m_PrefabAsset: {fileID: 0} --- !u!1 &749092879 GameObject: m_ObjectHideFlags: 0 @@ -4176,6 +4479,7 @@ Transform: - {fileID: 294055731} - {fileID: 349372257} - {fileID: 1155210} + - {fileID: 571004139} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1093055757 diff --git a/Assets/Scripts/Studio/AssetTool/CustomAssetConnector.cs b/Assets/Scripts/Studio/AssetTool/CustomAssetConnector.cs index 22002dd7..ba49c1f2 100644 --- a/Assets/Scripts/Studio/AssetTool/CustomAssetConnector.cs +++ b/Assets/Scripts/Studio/AssetTool/CustomAssetConnector.cs @@ -9,6 +9,8 @@ using System.Linq; using System.Collections; using Studio.AssetLibraryTree; using Studio; +using System.Drawing.Printing; +using System.Diagnostics.Eventing.Reader; using Studio.Core; namespace Studio.AssetTool @@ -120,6 +122,17 @@ namespace Studio.AssetTool } + public GameObject CreateAsset(string name) + { + AssetLibraryItem item = assetScrollView.FindItem(name, AssetLibraryItemType.file); + + OnAssetSelected(item); + GameObject obj = selectRenderObject.gameObject; + OnAssetDropped(item); + return obj; + } + + private void OnLoadAssetSelected(AssetLibraryItem item, AssetData asset) { if (item == null || item.linkedObject == null) @@ -147,6 +160,7 @@ namespace Studio.AssetTool selectRenderObject.transform.eulerAngles = new Vector3(asset.rotation.x, asset.rotation.y, asset.rotation.z); selectRenderObject.transform.localScale = new Vector3(asset.scale.x, asset.scale.y, asset.scale.z); } + public void OnAssetSelected(AssetLibraryItem item) { if (item == null || item.linkedObject == null) @@ -154,6 +168,7 @@ namespace Studio.AssetTool selectedAssetData = null; return; } + selectedAssetData = item.linkedObject.GetComponent(); if (selectedAssetData == null || selectedAssetData.isLoadComplete == false) { @@ -233,6 +248,7 @@ namespace Studio.AssetTool public void OnDeselectAll() { var canvas_Popup = CanvasManager.instance.GetCanvas(); + canvas_Popup.panel_agv.gameObject.SetActive(false); canvas_Popup.panel_dynamicobjectinfo.gameObject.SetActive(false); componentScrollView.DeselectAll(); canvas_Popup.panel_objectdistance.SetSelecetedObjectToNull(); @@ -265,11 +281,20 @@ namespace Studio.AssetTool } internal void OnSelectObjects(string name, List selectedObjects) { - if (selectedObjects.Count == 0) + if (selectedObjects.Count == 0) return; var canvas_Popup = CanvasManager.instance.GetCanvas(); - canvas_Popup.panel_dynamicobjectinfo.SetObjectInfo(name, selectedObjects); - canvas_Popup.panel_dynamicobjectinfo.SetActive(true); + if (ManagerHub.instance.Get().curState == RunManager.EState.Run) + { + canvas_Popup.panel_dynamicobjectinfo.gameObject.SetActive(false); + canvas_Popup.panel_agv.SetTarget(selectedObjects); + } + else + { + canvas_Popup.panel_dynamicobjectinfo.SetObjectInfo(name, selectedObjects); + canvas_Popup.panel_dynamicobjectinfo.SetActive(true); + canvas_Popup.panel_agv.gameObject.SetActive(false); + } canvas_Popup.panel_objectdistance.SelectObjectFromClick(name, selectedObjects); } } diff --git a/Assets/Scripts/Studio/Connect/StudioRepoistory.cs b/Assets/Scripts/Studio/Connect/StudioRepoistory.cs index ec032dfd..af820897 100644 --- a/Assets/Scripts/Studio/Connect/StudioRepoistory.cs +++ b/Assets/Scripts/Studio/Connect/StudioRepoistory.cs @@ -3,6 +3,7 @@ using Best.MQTT.Packets.Builders; using Newtonsoft.Json.Linq; using Studio.Conifg; using Studio.Setting.Connect; +using Studio.Util; using System; using System.Collections.Generic; using System.Text; @@ -36,7 +37,7 @@ namespace Studio public void MQTTCreateConnect(string MQTTDomain,string MQTTPort) { - var conntedInfo = $"MQTT Domain : {MQTTDomain} , MQTTPORT :{MQTTPort}"; + var conntedInfo = CreateConntedInfo(MQTTDomain, MQTTPort); Debug.Log(conntedInfo); var port = int.Parse(MQTTPort); var options = new ConnectionOptionsBuilder() @@ -57,6 +58,23 @@ namespace Studio clients[conntedInfo].OnDisconnect += OnDisconnectedMQTT; clients[conntedInfo].OnError += OnErrorMQTT; } + public string CreateConntedInfo(string MQTTDomain, string MQTTPort) + { + return $"MQTT Domain : {MQTTDomain} , MQTTPORT :{MQTTPort}"; + } + public MQTTClient FindClient(string MQTTDomain, string MQTTPort) + { + string key = CreateConntedInfo(MQTTDomain, MQTTPort); + if (clients.ContainsKey(key)) + { + return clients[key]; + } + else + { + return null; + } + } + private ConnectPacketBuilder ConnectPacketBuilderCallback(MQTTClient client, ConnectPacketBuilder builder) { return builder.WithKeepAlive(60 * 60);//keep alive 1시간으로 @@ -100,7 +118,6 @@ namespace Studio } } - private void OnStateChangedMQTT(MQTTClient client, ClientStates oldState, ClientStates newState) { Debug.Log($"{oldState} => {newState}"); @@ -118,6 +135,17 @@ namespace Studio Debug.Log($"MQTT OnConnected"); } + public void DisConnectMQTT() + { + foreach (var client in clients) + { + client.Value?.CreateDisconnectPacketBuilder() + .WithReasonCode(DisconnectReasonCodes.NormalDisconnection) + .WithReasonString($"{client.Value.Options.Host} Disconnecting") + .BeginDisconnect(); + } + } + /// /// 구독 /// @@ -140,6 +168,19 @@ namespace Studio .BeginUnsubscribe(); } + public void UnSubscibeAll() + { + List mqttConnections = ConfigConnected.MQTTSettings.mqttConnections; + + foreach (var connection in mqttConnections) + { + foreach (var topic in connection.topics) + { + UnSubscibe(FindClient(connection.domain, connection.port), topic.topic); + } + } + } + private void OnTopic(MQTTClient client, SubscriptionTopic topic, string topicName, ApplicationMessage message) { string payload = Encoding.UTF8.GetString(message.Payload.Data, message.Payload.Offset, message.Payload.Count); @@ -200,5 +241,6 @@ namespace Studio } } + } } diff --git a/Assets/Scripts/Studio/Connect/StudioService.cs b/Assets/Scripts/Studio/Connect/StudioService.cs index fbbbbde3..2a088bb3 100644 --- a/Assets/Scripts/Studio/Connect/StudioService.cs +++ b/Assets/Scripts/Studio/Connect/StudioService.cs @@ -40,8 +40,8 @@ namespace Studio public class StudioService : UnitySingleton { - private Dictionary>> listenerIdMap; - private Dictionary> listenerTypeMap; + private Dictionary>> listenerIdMap =new(); + private Dictionary> listenerTypeMap = new(); private StudioRepoistory repository; private Dictionary updateTime = new(); @@ -76,24 +76,27 @@ namespace Studio private Dictionary> topicTable = new(); public Dictionary> TopciTable { get { return topicTable; } } - public void ConnectMQTT(string domain, string port, List topics) + public void Init() { this.repository = new StudioRepoistory(); - listenerIdMap = new Dictionary>>(); - listenerTypeMap = new Dictionary>(); - repository.OnTopicList += OnTopicList; - + } + public void ConnectMQTT(string domain, string port, List topics) + { var conntedInfo = $"MQTT Domain : {domain} , MQTTPORT :{port}"; if (!topicTable.ContainsKey(conntedInfo)) topicTable.Add(conntedInfo, new()); topicTable[conntedInfo] = topics; repository.MQTTCreateConnect(domain, port); - repository.MQTTConnect(conntedInfo); } + public void DisConnectMQTT() + { + repository.DisConnectMQTT(); + } + private void OnTopicList(string type, Dictionary> entities) { DateTime now = DateTime.Now; diff --git a/Assets/Scripts/Studio/Managers/ManagerHub.cs b/Assets/Scripts/Studio/Managers/ManagerHub.cs index 0e857357..10e7139d 100644 --- a/Assets/Scripts/Studio/Managers/ManagerHub.cs +++ b/Assets/Scripts/Studio/Managers/ManagerHub.cs @@ -23,7 +23,7 @@ namespace Studio.Manage Join(new CameraManager()); Join(new AssetManager()); Join(new SceneStartSettingManager()); - + Join(new RunManager()); foreach(var m in managers) { m.Init(); diff --git a/Assets/Scripts/Studio/Managers/RunManager.cs b/Assets/Scripts/Studio/Managers/RunManager.cs new file mode 100644 index 00000000..2bf47940 --- /dev/null +++ b/Assets/Scripts/Studio/Managers/RunManager.cs @@ -0,0 +1,71 @@ +using NUnit.Framework; +using Studio.Conifg; +using Studio.Manage; +using Studio.Util; +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace Studio.Manage +{ + public class RunManager : Manager + { + public event Action onRun; + public event Action onStop; + + public enum EState + { + Run, + Stop, + Exit, + } + + public EState curState = EState.Stop; + + public override void Init() + { + StudioService.instance.Init(); + onRun += Dynamic.M.AGVManager.instance.OnPlayStart; + onStop += StudioService.instance.DisConnectMQTT; + } + + public void ChangeState() + { + curState = curState == EState.Stop ? EState.Run : EState.Stop; + Debug.Log("curState " + curState); + switch (curState) + { + case EState.Run: + Run(); + break; + case EState.Stop: + Stop(); + break; + + case EState.Exit: + break; + } + } + + public void Run() + { + MQTTConeect(); + onRun?.Invoke(); + } + + public void Stop() + { + onStop?.Invoke(); + } + + public void MQTTConeect() + { + var mqttsettings = ConfigConnected.MQTTSettings; + + foreach (var mqtt in mqttsettings.mqttConnections) + { + StudioService.instance.ConnectMQTT(mqtt.domain, mqtt.port, mqtt.topics); + } + } + } +} diff --git a/Assets/Scripts/Studio/Managers/RunManager.cs.meta b/Assets/Scripts/Studio/Managers/RunManager.cs.meta new file mode 100644 index 00000000..d7ce2cae --- /dev/null +++ b/Assets/Scripts/Studio/Managers/RunManager.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1e365cd468c835846860290f5fa3f1aa \ No newline at end of file diff --git a/Assets/Scripts/Studio/TwinObject/DynamicObject/AGV.cs b/Assets/Scripts/Studio/TwinObject/DynamicObject/AGV.cs index fc88f4c1..62b1d916 100644 --- a/Assets/Scripts/Studio/TwinObject/DynamicObject/AGV.cs +++ b/Assets/Scripts/Studio/TwinObject/DynamicObject/AGV.cs @@ -23,7 +23,8 @@ namespace Studio.Dynamic.TwinObject Quaternion startRot; Quaternion endRot; - private Dictionary CurrentEntity; + public Action> onDataUpdate; + public Dictionary CurrentEntity; private bool isPlay = false; @@ -80,8 +81,9 @@ namespace Studio.Dynamic.TwinObject s += $"{t.Key}: {t.Value},"; } s += "}"; - Debug.Log(s); + //Debug.Log(s); SetPos(); + onDataUpdate?.Invoke(CurrentEntity); } diff --git a/Assets/Scripts/Studio/TwinObject/DynamicObject/AGVManager.cs b/Assets/Scripts/Studio/TwinObject/DynamicObject/AGVManager.cs index ecd38e92..9a60709d 100644 --- a/Assets/Scripts/Studio/TwinObject/DynamicObject/AGVManager.cs +++ b/Assets/Scripts/Studio/TwinObject/DynamicObject/AGVManager.cs @@ -4,6 +4,7 @@ using System.Linq; using UnityEngine; using Studio.Dynamic.TwinObject; using Studio.Core; +using Studio.Manage; using Studio.Conifg; using Studio.AssetTool; @@ -11,29 +12,27 @@ namespace Studio.Dynamic.M { public class AGVManager : UnitySingleton { - private GameObject prf_AGV; + private CustomAssetRenderObject renderobject; private HashSet agvs = new(); public float AGVMoveSpeed; public float AGVRotateSpeed; public Queue>> createAgvs = new(); - public void Awake() { - //이벤트 걸어둔다.. //+= OnPlayStart } public void OnPlayStart() { - var type = GetComponent().addTopic; - var assets = ConfigConnected.AssetSettings; - prf_AGV = assets[type].loadedObject; - if (prf_AGV == null) - { - //todo::팝업메시지 나주엥 설정.... - return; - } + //var type = GetComponent().addTopic; + // var assets = ConfigConnected.AssetSettings; + //prf_AGV = assets[type].loadedObject; + //var connector = ManagerHub.instance.Get(); + //ConnectedAsset searchAsset = connector.connectedAssets.FirstOrDefault(x => x.renderObject == renderobject); + //searchAsset.assetData.assetName + var type = "AGV"; + StudioService.instance.AddTypeListener(type, OnDataUpdate); StudioService.instance.AddTypeIdListener(type); } @@ -61,8 +60,12 @@ namespace Studio.Dynamic.M private AGV CreateAGV(string type, string id ,Dictionary entity) { - var agv = Instantiate(prf_AGV,transform).AddComponent(); - agv.gameObject.SetActive(true); + var agv = ManagerHub.instance.Get().CreateAsset("Palletrobot").AddComponent(); + //var agv = Instantiate(prf_AGV,transform); + + // var agv = Instantiate(prf_AGV,transform).AddComponent(); + // agv.gameObject.SetActive(true); + agv.transform.position = Vector3.zero; agv.name = id; agv.SetMoveSpeed(AGVMoveSpeed); diff --git a/Assets/Scripts/Studio/TwinObject/StaticObject/StackerCrane.cs b/Assets/Scripts/Studio/TwinObject/StaticObject/StackerCrane.cs index c4b90d8b..55844266 100644 --- a/Assets/Scripts/Studio/TwinObject/StaticObject/StackerCrane.cs +++ b/Assets/Scripts/Studio/TwinObject/StaticObject/StackerCrane.cs @@ -1,4 +1,5 @@ using Studio.AssetTool; +using Studio.Manage; using Studio.VirtualFactory.Info; using System; using System.Collections; @@ -62,6 +63,7 @@ namespace Studio.Staic.STKC bodySpeed = 0.3f; liftSpeed = 0.3f; onMotionStart = StartAnim; + ManagerHub.instance.Get().onRun += OnPlayStart; //이벤트 걸어둔다.. //+= OnPlayStart } diff --git a/Assets/Scripts/Studio/UI/Canvas/Canvas_Popup.cs b/Assets/Scripts/Studio/UI/Canvas/Canvas_Popup.cs index 18297b9b..07909120 100644 --- a/Assets/Scripts/Studio/UI/Canvas/Canvas_Popup.cs +++ b/Assets/Scripts/Studio/UI/Canvas/Canvas_Popup.cs @@ -46,6 +46,7 @@ namespace Studio public Panel_LoggingModal panel_loggingmodal; public Panel_ExitChecker panel_exitchecker; public Panel_DataRepository panel_datarepository; + public Panel_AGV panel_agv; public Panel_DataConnectModal panel_dataconnectmodal; public Panel_AlarmConnectModal panel_alarmconnectmodal; diff --git a/Assets/Scripts/Studio/UI/Canvas/Canvas_Static.cs b/Assets/Scripts/Studio/UI/Canvas/Canvas_Static.cs index 33b5466a..da2a8e7e 100644 --- a/Assets/Scripts/Studio/UI/Canvas/Canvas_Static.cs +++ b/Assets/Scripts/Studio/UI/Canvas/Canvas_Static.cs @@ -26,12 +26,15 @@ namespace Studio.UI var renderObjectHandler = ManagerHub.instance.Get(); var fbxFileManager = ManagerHub.instance.Get(); var projectManager = ManagerHub.instance.Get(); + var runManager = ManagerHub.instance.Get(); statusPanel.SetMode(ModePanel.ProgramMode.ObjectLayout); //panel_studiotopbar.onClickAssetLibraryWindow += fbxFileManager.LoadLocalData; panel_studiotopbar.onClickNewProject += () => CommandInvoker.instance.Invoke(new SaveProjectCommand()); panel_studiotopbar.onClickSaveProject += () => CommandInvoker.instance.Invoke(new SaveProjectCommand()); + + panel_studiotopbar.onClickPlay += runManager.ChangeState; } } } diff --git a/Assets/Scripts/Studio/UI/Elements/UI_MiniMapHeightButton.cs b/Assets/Scripts/Studio/UI/Elements/UI_MiniMapHeightButton.cs index bb86ec80..fe4c0f75 100644 --- a/Assets/Scripts/Studio/UI/Elements/UI_MiniMapHeightButton.cs +++ b/Assets/Scripts/Studio/UI/Elements/UI_MiniMapHeightButton.cs @@ -1,5 +1,4 @@ using TMPro; -using UnityEditor.Localization.Plugins.XLIFF.V20; using UnityEngine; using UnityEngine.UI; using XRLib.UI; diff --git a/Assets/Scripts/Studio/UI/Panel/Panel_AGV.cs b/Assets/Scripts/Studio/UI/Panel/Panel_AGV.cs new file mode 100644 index 00000000..164c4d0b --- /dev/null +++ b/Assets/Scripts/Studio/UI/Panel/Panel_AGV.cs @@ -0,0 +1,94 @@ +using Studio.Dynamic.TwinObject; +using Studio.Dynamic.M; +using System.Collections.Generic; +using TMPro; +using UnityEngine; +using XRLib.UI; +using System.Linq; +using Studio.Core; + +namespace Studio.UI +{ + public class Panel_AGV : PanelBase + { + public GameObject itemPrefab; + public RectTransform Content; + private Dictionary textDict = new(); + private bool itemInit; + private string targetId = string.Empty; + + private AGV prevAgv; + public override void AfterAwake() + { + itemPrefab = Resources.Load("Prefabs/UI/PRF_EntityItem"); + } + + internal void OnUpdateData(Dictionary entity) + { + if (!itemInit) + { + InstantiateUI(entity); + itemInit = true; + } + else + { + UpdateUI(entity); + } + } + + internal void SetTarget(List selectedObjects) + { + if (selectedObjects.Count == 0) + return; + + GameObject selectedObject = selectedObjects[0]; + if (prevAgv != null) + { + prevAgv.onDataUpdate -= InstantiateUI; + prevAgv = null; + } + + if (selectedObject.TryGetComponent(out AGV agv)) + { + var dic = agv.Info; + SetActive(true); + prevAgv = agv; + OnUpdateData(dic); + agv.onDataUpdate += OnUpdateData; + } + else + { + SetActive(false); + } + } + + void InstantiateUI(Dictionary entity) + { + foreach (var kvp in entity) + { + GameObject item = Instantiate(itemPrefab, Content); + + var texts = item.GetComponentsInChildren(); + + TMP_Text keyText = texts[0]; + TMP_Text valueText = texts[1]; + + keyText.text = kvp.Key; + valueText.text = kvp.Value; + + textDict[kvp.Key] = valueText; + } + } + + public void UpdateUI(Dictionary entity) + { + foreach (var kvp in entity) + { + if (textDict.TryGetValue(kvp.Key, out var txt)) + { + txt.text = kvp.Value; + } + } + } + } +} diff --git a/Assets/Scripts/Studio/UI/Panel/Panel_AGV.cs.meta b/Assets/Scripts/Studio/UI/Panel/Panel_AGV.cs.meta new file mode 100644 index 00000000..a599f0a5 --- /dev/null +++ b/Assets/Scripts/Studio/UI/Panel/Panel_AGV.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 50cc14a8fa6b2cb44ad7d2426e7e46eb \ No newline at end of file diff --git a/Assets/Scripts/Studio/UI/Panel/Panel_MiniMap.cs b/Assets/Scripts/Studio/UI/Panel/Panel_MiniMap.cs index 565bc6ca..15db79a2 100644 --- a/Assets/Scripts/Studio/UI/Panel/Panel_MiniMap.cs +++ b/Assets/Scripts/Studio/UI/Panel/Panel_MiniMap.cs @@ -1,11 +1,7 @@ -using Studio; using System.Collections; using System.Collections.Generic; -using TMPro; -using UnityEditor.Animations; using UnityEngine; using UnityEngine.UI; -using XRLib; using XRLib.UI; namespace Studio.UI @@ -26,7 +22,7 @@ namespace Studio.UI RectTransform MiniMapScreen; RectTransform Image_MiniMapIcon; RectTransform MiniMapHeightButtons; - + RectMask2D rectMask2D; Vector2 worldMin; @@ -98,7 +94,7 @@ namespace Studio.UI float yPos = Mathf.Lerp(0, HeightSelectBar.rect.height, normalizedY); float height = yPos * unit; newButton.UpdateHeight(height); - + StartCoroutine(CaptureImageAtHeight(newButton, height)); } @@ -134,7 +130,7 @@ namespace Studio.UI float maxHeight = float.MinValue; float minHeight = float.MaxValue; - foreach (var twinObject in twinObjects) + foreach (var twinObject in twinObjects) { Renderer[] renderers = twinObject.GetComponentsInChildren(); @@ -274,7 +270,7 @@ namespace Studio.UI { GameObject headerChildObject = headerChild.gameObject; - if (headerChildObject != Button_Minimize.gameObject) + if (headerChildObject != Button_Minimize.gameObject) { headerChildObject.SetActive(false); } diff --git a/Assets/Scripts/Studio/UI/Panel/Panel_StudioTopBar.cs b/Assets/Scripts/Studio/UI/Panel/Panel_StudioTopBar.cs index fbbdaca3..e51ec9c2 100644 --- a/Assets/Scripts/Studio/UI/Panel/Panel_StudioTopBar.cs +++ b/Assets/Scripts/Studio/UI/Panel/Panel_StudioTopBar.cs @@ -37,7 +37,13 @@ namespace Studio.UI /*Build*/ public Button Button_Build; public Button Button_Run; - + + public Button Button_Play; + private Image playImage; + public Sprite RunSprite; + public Sprite StopSprite; + public event Action onClickPlay; + public override void AfterAwake() { Button_NewProject.onClick.AddListener(OnClickNewProject); @@ -52,9 +58,13 @@ namespace Studio.UI Button_AssetLibraryWindow.onClick.AddListener(OnClickAssetLibraryWindow); Button_HierarchyWindow.onClick.AddListener(OnClickHierarchyWindow); - Button_Build.onClick.AddListener(OnClickBuild); Button_Run.onClick.AddListener(OnClickRun); + + Button_Play.onClick.AddListener(OnClickPlay); + playImage = Button_Play.GetComponent(); + RunSprite = Resources.Load("Images/Run"); + StopSprite = Resources.Load("Images/Stop"); } private void OnClickNewProject() @@ -118,5 +128,11 @@ namespace Studio.UI { onClickExit?.Invoke(); } + + private void OnClickPlay() + { + playImage.sprite = playImage.sprite == RunSprite ? StopSprite : RunSprite; + onClickPlay?.Invoke(); + } } }