Merge branch 'main' into pgd/20250328
This commit is contained in:
29
Assets/AGVNeedsScanner.cs
Normal file
29
Assets/AGVNeedsScanner.cs
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
using NUnit.Framework;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace XED.VirtualFactory
|
||||||
|
{
|
||||||
|
public class AGVNeedsScanner : NeedsScanner
|
||||||
|
{
|
||||||
|
private readonly VirtualFactoryManager vfManager;
|
||||||
|
AGVManager manager;
|
||||||
|
public AGVNeedsScanner(VirtualFactoryManager vfManager, AGVManager agvManager)
|
||||||
|
{
|
||||||
|
this.vfManager = vfManager;
|
||||||
|
manager = agvManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Scanning()
|
||||||
|
{
|
||||||
|
CheckAGVCount();
|
||||||
|
ScanningComplete();
|
||||||
|
}
|
||||||
|
void CheckAGVCount()
|
||||||
|
{
|
||||||
|
if (manager.agvs.Count < vfManager.maxAGVCount)
|
||||||
|
{
|
||||||
|
needs.Add(FactoryNeeds.GenerateAGV);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
2
Assets/AGVNeedsScanner.cs.meta
Normal file
2
Assets/AGVNeedsScanner.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 467b71fac96c5774c8c7f08ac58f9496
|
||||||
File diff suppressed because one or more lines are too long
@@ -49,7 +49,7 @@ TextureImporter:
|
|||||||
alignment: 0
|
alignment: 0
|
||||||
spritePivot: {x: 0.5, y: 0.5}
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
spritePixelsToUnits: 100
|
spritePixelsToUnits: 100
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
spriteBorder: {x: 29, y: 30, z: 29, w: 28}
|
||||||
spriteGenerateFallbackPhysicsShape: 1
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
alphaUsage: 1
|
alphaUsage: 1
|
||||||
alphaIsTransparency: 1
|
alphaIsTransparency: 1
|
||||||
@@ -114,7 +114,7 @@ TextureImporter:
|
|||||||
physicsShape: []
|
physicsShape: []
|
||||||
bones: []
|
bones: []
|
||||||
spriteID: 5e97eb03825dee720800000000000000
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
internalID: 0
|
internalID: 1537655665
|
||||||
vertices: []
|
vertices: []
|
||||||
indices:
|
indices:
|
||||||
edges: []
|
edges: []
|
||||||
|
|||||||
19
Assets/NeedsScanner.cs
Normal file
19
Assets/NeedsScanner.cs
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace XED.VirtualFactory
|
||||||
|
{
|
||||||
|
public abstract class NeedsScanner
|
||||||
|
{
|
||||||
|
protected List<FactoryNeeds> needs = new();
|
||||||
|
public event Action<NeedsScanner, List<FactoryNeeds>> onScanningComplete;
|
||||||
|
|
||||||
|
public abstract void Scanning();
|
||||||
|
|
||||||
|
protected void ScanningComplete()
|
||||||
|
{
|
||||||
|
onScanningComplete.Invoke(this, needs);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
2
Assets/NeedsScanner.cs.meta
Normal file
2
Assets/NeedsScanner.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9161584bea128bd4682c86acad11beca
|
||||||
@@ -68,8 +68,8 @@ MonoBehaviour:
|
|||||||
m_OnCullStateChanged:
|
m_OnCullStateChanged:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
m_Sprite: {fileID: 21300000, guid: 6ec9606ed4ae1114797a6477c630dc6a, type: 3}
|
m_Sprite: {fileID: 21300000, guid: 7b41071fb8834ed41a0bc8bd6a8bb179, type: 3}
|
||||||
m_Type: 1
|
m_Type: 0
|
||||||
m_PreserveAspect: 0
|
m_PreserveAspect: 0
|
||||||
m_FillCenter: 1
|
m_FillCenter: 1
|
||||||
m_FillMethod: 4
|
m_FillMethod: 4
|
||||||
@@ -99,7 +99,7 @@ MonoBehaviour:
|
|||||||
m_SelectOnRight: {fileID: 0}
|
m_SelectOnRight: {fileID: 0}
|
||||||
m_Transition: 1
|
m_Transition: 1
|
||||||
m_Colors:
|
m_Colors:
|
||||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 0}
|
m_NormalColor: {r: 0.23137257, g: 0.21176472, b: 0.23529413, a: 1}
|
||||||
m_HighlightedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.19607843}
|
m_HighlightedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.19607843}
|
||||||
m_PressedColor: {r: 1, g: 1, b: 1, a: 0.39215687}
|
m_PressedColor: {r: 1, g: 1, b: 1, a: 0.39215687}
|
||||||
m_SelectedColor: {r: 1, g: 1, b: 1, a: 0.19607843}
|
m_SelectedColor: {r: 1, g: 1, b: 1, a: 0.19607843}
|
||||||
@@ -210,8 +210,8 @@ MonoBehaviour:
|
|||||||
m_fontMaterials: []
|
m_fontMaterials: []
|
||||||
m_fontColor32:
|
m_fontColor32:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
rgba: 4280163870
|
rgba: 4294967295
|
||||||
m_fontColor: {r: 0.11764706, g: 0.11764706, b: 0.11764706, a: 1}
|
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
m_enableVertexGradient: 0
|
m_enableVertexGradient: 0
|
||||||
m_colorMode: 3
|
m_colorMode: 3
|
||||||
m_fontColorGradient:
|
m_fontColorGradient:
|
||||||
@@ -392,7 +392,7 @@ MonoBehaviour:
|
|||||||
m_OnCullStateChanged:
|
m_OnCullStateChanged:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
m_text: Name
|
m_text: New Project
|
||||||
m_isRightToLeft: 0
|
m_isRightToLeft: 0
|
||||||
m_fontAsset: {fileID: 11400000, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2}
|
m_fontAsset: {fileID: 11400000, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2}
|
||||||
m_sharedMaterial: {fileID: 6975767319296004534, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2}
|
m_sharedMaterial: {fileID: 6975767319296004534, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2}
|
||||||
@@ -401,8 +401,8 @@ MonoBehaviour:
|
|||||||
m_fontMaterials: []
|
m_fontMaterials: []
|
||||||
m_fontColor32:
|
m_fontColor32:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
rgba: 4280163870
|
rgba: 4294967295
|
||||||
m_fontColor: {r: 0.11764706, g: 0.11764706, b: 0.11764706, a: 1}
|
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
m_enableVertexGradient: 0
|
m_enableVertexGradient: 0
|
||||||
m_colorMode: 3
|
m_colorMode: 3
|
||||||
m_fontColorGradient:
|
m_fontColorGradient:
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ GameObject:
|
|||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &7367666761743632185
|
--- !u!224 &7367666761743632185
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -32,9 +32,9 @@ RectTransform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 8282480354653124321}
|
m_Father: {fileID: 8282480354653124321}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 34, y: -453.94763}
|
||||||
m_SizeDelta: {x: 52, y: 17}
|
m_SizeDelta: {x: 52, y: 17}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &1974133206715249498
|
--- !u!222 &1974133206715249498
|
||||||
@@ -93,7 +93,7 @@ GameObject:
|
|||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &414224002534486290
|
--- !u!224 &414224002534486290
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -108,9 +108,9 @@ RectTransform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 8282480354653124321}
|
m_Father: {fileID: 8282480354653124321}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 34, y: -607.38}
|
||||||
m_SizeDelta: {x: 52, y: 42}
|
m_SizeDelta: {x: 52, y: 42}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &7524546202564496179
|
--- !u!222 &7524546202564496179
|
||||||
@@ -733,7 +733,7 @@ GameObject:
|
|||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &1320424381887671650
|
--- !u!224 &1320424381887671650
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -748,9 +748,9 @@ RectTransform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 8282480354653124321}
|
m_Father: {fileID: 8282480354653124321}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 34, y: -378.15762}
|
||||||
m_SizeDelta: {x: 52, y: 48.18}
|
m_SizeDelta: {x: 52, y: 48.18}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &492374494980950310
|
--- !u!222 &492374494980950310
|
||||||
@@ -852,7 +852,7 @@ GameObject:
|
|||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &5101234416374833355
|
--- !u!224 &5101234416374833355
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -867,10 +867,10 @@ RectTransform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 5063094354339566518}
|
m_Father: {fileID: 5063094354339566518}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 78, y: 673.38}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &242023999714044123
|
--- !u!222 &242023999714044123
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
@@ -928,7 +928,7 @@ GameObject:
|
|||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &269682911969170924
|
--- !u!224 &269682911969170924
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -943,9 +943,9 @@ RectTransform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 8282480354653124321}
|
m_Father: {fileID: 8282480354653124321}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 34, y: -423.84763}
|
||||||
m_SizeDelta: {x: 52, y: 43.2}
|
m_SizeDelta: {x: 52, y: 43.2}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &6297910813628756313
|
--- !u!222 &6297910813628756313
|
||||||
@@ -1048,7 +1048,7 @@ GameObject:
|
|||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &8724315168120992586
|
--- !u!224 &8724315168120992586
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1063,9 +1063,9 @@ RectTransform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 8282480354653124321}
|
m_Father: {fileID: 8282480354653124321}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 34, y: -520.38}
|
||||||
m_SizeDelta: {x: 52, y: 44}
|
m_SizeDelta: {x: 52, y: 44}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &4921952839850238858
|
--- !u!222 &4921952839850238858
|
||||||
@@ -1167,7 +1167,7 @@ GameObject:
|
|||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &1400667469818923675
|
--- !u!224 &1400667469818923675
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1182,9 +1182,9 @@ RectTransform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 8282480354653124321}
|
m_Father: {fileID: 8282480354653124321}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 34, y: -636.88}
|
||||||
m_SizeDelta: {x: 52, y: 17}
|
m_SizeDelta: {x: 52, y: 17}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &5915200524200085290
|
--- !u!222 &5915200524200085290
|
||||||
@@ -1363,7 +1363,7 @@ GameObject:
|
|||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &5629649863965164906
|
--- !u!224 &5629649863965164906
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1378,9 +1378,9 @@ RectTransform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 8282480354653124321}
|
m_Father: {fileID: 8282480354653124321}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 34, y: -476.38}
|
||||||
m_SizeDelta: {x: 52, y: 44}
|
m_SizeDelta: {x: 52, y: 44}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &226384276843947453
|
--- !u!222 &226384276843947453
|
||||||
@@ -2103,7 +2103,7 @@ GameObject:
|
|||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &3967798624049251461
|
--- !u!224 &3967798624049251461
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -2118,9 +2118,9 @@ RectTransform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 8282480354653124321}
|
m_Father: {fileID: 8282480354653124321}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 34, y: -564.38}
|
||||||
m_SizeDelta: {x: 52, y: 44}
|
m_SizeDelta: {x: 52, y: 44}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &4400899168752327041
|
--- !u!222 &4400899168752327041
|
||||||
@@ -2418,7 +2418,7 @@ GameObject:
|
|||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &725388289401433734
|
--- !u!224 &725388289401433734
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -2433,9 +2433,9 @@ RectTransform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 8282480354653124321}
|
m_Father: {fileID: 8282480354653124321}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 34, y: -81.408646}
|
||||||
m_SizeDelta: {x: 52, y: 48}
|
m_SizeDelta: {x: 52, y: 48}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &5291881148893066494
|
--- !u!222 &5291881148893066494
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
31
Assets/ResourceNeedsScanner.cs
Normal file
31
Assets/ResourceNeedsScanner.cs
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace XED.VirtualFactory
|
||||||
|
{
|
||||||
|
public class ResourceNeedsScanner : NeedsScanner
|
||||||
|
{
|
||||||
|
private readonly PortMap portMap;
|
||||||
|
|
||||||
|
public ResourceNeedsScanner(PortMap portMap)
|
||||||
|
{
|
||||||
|
this.portMap = portMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Scanning()
|
||||||
|
{
|
||||||
|
GeneratePortCheck();
|
||||||
|
ScanningComplete();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void GeneratePortCheck()
|
||||||
|
{
|
||||||
|
if(portMap.TryGetEmptyGeneratePorts(out var ports))
|
||||||
|
{
|
||||||
|
for (int i = 0; i < ports.Count; i++)
|
||||||
|
{
|
||||||
|
needs.Add(FactoryNeeds.GenerateLoad);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
2
Assets/ResourceNeedsScanner.cs.meta
Normal file
2
Assets/ResourceNeedsScanner.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5dd1a0ad71ecdc645894bbfbdf539446
|
||||||
@@ -12186,6 +12186,10 @@ PrefabInstance:
|
|||||||
propertyPath: m_SizeDelta.y
|
propertyPath: m_SizeDelta.y
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 198223961060221410, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 299768723334051654, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 299768723334051654, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_SizeDelta.x
|
propertyPath: m_SizeDelta.x
|
||||||
value: 0
|
value: 0
|
||||||
@@ -12202,13 +12206,17 @@ PrefabInstance:
|
|||||||
propertyPath: m_AnchorMin.y
|
propertyPath: m_AnchorMin.y
|
||||||
value: 1
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 349415598094472119, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 295
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 349415598094472119, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 349415598094472119, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.x
|
propertyPath: m_AnchoredPosition.x
|
||||||
value: 153.5
|
value: 153.5
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 349415598094472119, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 349415598094472119, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -123
|
value: -121
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 494264644172990295, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 494264644172990295, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_SizeDelta.x
|
propertyPath: m_SizeDelta.x
|
||||||
@@ -12234,13 +12242,17 @@ PrefabInstance:
|
|||||||
propertyPath: m_AnchorMin.y
|
propertyPath: m_AnchorMin.y
|
||||||
value: 1
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1426017155599776145, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 295
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 1426017155599776145, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 1426017155599776145, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.x
|
propertyPath: m_AnchoredPosition.x
|
||||||
value: 153.5
|
value: 153.5
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 1426017155599776145, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 1426017155599776145, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -307
|
value: -309
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 1568513447129454289, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 1568513447129454289, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_SizeDelta.x
|
propertyPath: m_SizeDelta.x
|
||||||
@@ -12250,6 +12262,10 @@ PrefabInstance:
|
|||||||
propertyPath: m_SizeDelta.y
|
propertyPath: m_SizeDelta.y
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1572705195072342980, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 1644619369777818169, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 1644619369777818169, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchorMax.y
|
propertyPath: m_AnchorMax.y
|
||||||
value: 0
|
value: 0
|
||||||
@@ -12282,6 +12298,10 @@ PrefabInstance:
|
|||||||
propertyPath: m_SizeDelta.y
|
propertyPath: m_SizeDelta.y
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2062443671270817131, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_text
|
||||||
|
value: Hierarchy
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 2281036007554363377, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 2281036007554363377, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_SizeDelta.x
|
propertyPath: m_SizeDelta.x
|
||||||
value: 0
|
value: 0
|
||||||
@@ -12306,13 +12326,17 @@ PrefabInstance:
|
|||||||
propertyPath: m_AnchorMin.y
|
propertyPath: m_AnchorMin.y
|
||||||
value: 1
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2422787935774323229, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 295
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 2422787935774323229, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 2422787935774323229, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.x
|
propertyPath: m_AnchoredPosition.x
|
||||||
value: 153.5
|
value: 153.5
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 2422787935774323229, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 2422787935774323229, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -31
|
value: -27
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 2573358733300104709, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 2573358733300104709, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_SizeDelta.x
|
propertyPath: m_SizeDelta.x
|
||||||
@@ -12326,6 +12350,10 @@ PrefabInstance:
|
|||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: Panel_TopBar
|
value: Panel_TopBar
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2847995478711189576, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3014540515672868645, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 3014540515672868645, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_SizeDelta.x
|
propertyPath: m_SizeDelta.x
|
||||||
value: 0
|
value: 0
|
||||||
@@ -12378,13 +12406,21 @@ PrefabInstance:
|
|||||||
propertyPath: m_AnchorMin.y
|
propertyPath: m_AnchorMin.y
|
||||||
value: 1
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4147382167238274784, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 295
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4147382167238274784, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 4147382167238274784, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.x
|
propertyPath: m_AnchoredPosition.x
|
||||||
value: 153.5
|
value: 153.5
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4147382167238274784, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 4147382167238274784, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -77
|
value: -74
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4147750155540767454, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size
|
||||||
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4153015178564977887, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 4153015178564977887, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_SizeDelta.x
|
propertyPath: m_SizeDelta.x
|
||||||
@@ -12410,13 +12446,21 @@ PrefabInstance:
|
|||||||
propertyPath: m_AnchorMin.y
|
propertyPath: m_AnchorMin.y
|
||||||
value: 1
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4582026471169970315, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 295
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4582026471169970315, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 4582026471169970315, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.x
|
propertyPath: m_AnchoredPosition.x
|
||||||
value: 153.5
|
value: 153.5
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4582026471169970315, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 4582026471169970315, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -261
|
value: -262
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4582151064078720181, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size
|
||||||
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4746574463603549099, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 4746574463603549099, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_SizeDelta.x
|
propertyPath: m_SizeDelta.x
|
||||||
@@ -12438,6 +12482,10 @@ PrefabInstance:
|
|||||||
propertyPath: m_SizeDelta.y
|
propertyPath: m_SizeDelta.y
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5335094302430846695, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 5401784972116968138, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 5401784972116968138, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_Pivot.x
|
propertyPath: m_Pivot.x
|
||||||
value: 0
|
value: 0
|
||||||
@@ -12526,6 +12574,10 @@ PrefabInstance:
|
|||||||
propertyPath: m_AnchorMin.y
|
propertyPath: m_AnchorMin.y
|
||||||
value: 1
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5481852742840888498, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 295
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 5481852742840888498, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 5481852742840888498, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.x
|
propertyPath: m_AnchoredPosition.x
|
||||||
value: 153.5
|
value: 153.5
|
||||||
@@ -12550,13 +12602,17 @@ PrefabInstance:
|
|||||||
propertyPath: m_AnchorMin.y
|
propertyPath: m_AnchorMin.y
|
||||||
value: 1
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5821008458756972882, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 295
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 5821008458756972882, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 5821008458756972882, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.x
|
propertyPath: m_AnchoredPosition.x
|
||||||
value: 153.5
|
value: 153.5
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 5821008458756972882, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 5821008458756972882, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -123
|
value: -121
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 5872060385755613930, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 5872060385755613930, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchorMax.y
|
propertyPath: m_AnchorMax.y
|
||||||
@@ -12574,6 +12630,14 @@ PrefabInstance:
|
|||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5874154312370210384, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6255786153821147911, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6313013409696068613, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 6313013409696068613, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchorMax.y
|
propertyPath: m_AnchorMax.y
|
||||||
value: 1
|
value: 1
|
||||||
@@ -12582,13 +12646,21 @@ PrefabInstance:
|
|||||||
propertyPath: m_AnchorMin.y
|
propertyPath: m_AnchorMin.y
|
||||||
value: 1
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6313013409696068613, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 295
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6313013409696068613, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 6313013409696068613, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.x
|
propertyPath: m_AnchoredPosition.x
|
||||||
value: 153.5
|
value: 153.5
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6313013409696068613, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 6313013409696068613, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -77
|
value: -74
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6398619867125381537, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size
|
||||||
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6625271254048973413, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 6625271254048973413, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_SizeDelta.x
|
propertyPath: m_SizeDelta.x
|
||||||
@@ -12606,13 +12678,17 @@ PrefabInstance:
|
|||||||
propertyPath: m_AnchorMin.y
|
propertyPath: m_AnchorMin.y
|
||||||
value: 1
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6833388731803765748, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 295
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6833388731803765748, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 6833388731803765748, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.x
|
propertyPath: m_AnchoredPosition.x
|
||||||
value: 153.5
|
value: 153.5
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6833388731803765748, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 6833388731803765748, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -169
|
value: -168
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6851815559567896889, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 6851815559567896889, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_SizeDelta.y
|
propertyPath: m_SizeDelta.y
|
||||||
@@ -12626,6 +12702,10 @@ PrefabInstance:
|
|||||||
propertyPath: m_SizeDelta.y
|
propertyPath: m_SizeDelta.y
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6980231318280065116, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Button_HierarchyWindow
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 7286172886094122854, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 7286172886094122854, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchorMax.y
|
propertyPath: m_AnchorMax.y
|
||||||
value: 0
|
value: 0
|
||||||
@@ -12658,13 +12738,17 @@ PrefabInstance:
|
|||||||
propertyPath: m_AnchorMin.y
|
propertyPath: m_AnchorMin.y
|
||||||
value: 1
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7750099248872515057, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 295
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 7750099248872515057, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 7750099248872515057, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.x
|
propertyPath: m_AnchoredPosition.x
|
||||||
value: 153.5
|
value: 153.5
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 7750099248872515057, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 7750099248872515057, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -77
|
value: -74
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 7812692383561393628, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 7812692383561393628, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchorMax.y
|
propertyPath: m_AnchorMax.y
|
||||||
@@ -12690,6 +12774,10 @@ PrefabInstance:
|
|||||||
propertyPath: m_SizeDelta.y
|
propertyPath: m_SizeDelta.y
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7896083598485264292, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8193732230893794580, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 8193732230893794580, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_SizeDelta.x
|
propertyPath: m_SizeDelta.x
|
||||||
value: 0
|
value: 0
|
||||||
@@ -12714,13 +12802,17 @@ PrefabInstance:
|
|||||||
propertyPath: m_AnchorMin.y
|
propertyPath: m_AnchorMin.y
|
||||||
value: 1
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8688116085078439031, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 295
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8688116085078439031, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 8688116085078439031, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.x
|
propertyPath: m_AnchoredPosition.x
|
||||||
value: 153.5
|
value: 153.5
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8688116085078439031, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 8688116085078439031, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -31
|
value: -27
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8831777936729481367, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 8831777936729481367, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_SizeDelta.x
|
propertyPath: m_SizeDelta.x
|
||||||
@@ -12730,6 +12822,10 @@ PrefabInstance:
|
|||||||
propertyPath: m_SizeDelta.y
|
propertyPath: m_SizeDelta.y
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8845531612634989544, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8996151517581488573, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 8996151517581488573, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchorMax.y
|
propertyPath: m_AnchorMax.y
|
||||||
value: 1
|
value: 1
|
||||||
@@ -12738,13 +12834,21 @@ PrefabInstance:
|
|||||||
propertyPath: m_AnchorMin.y
|
propertyPath: m_AnchorMin.y
|
||||||
value: 1
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8996151517581488573, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 295
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8996151517581488573, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 8996151517581488573, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.x
|
propertyPath: m_AnchoredPosition.x
|
||||||
value: 153.5
|
value: 153.5
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8996151517581488573, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
- target: {fileID: 8996151517581488573, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -31
|
value: -27
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 9118390163350013474, guid: 6b6204170622c2248aa45b7084250442, type: 3}
|
||||||
|
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size
|
||||||
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
@@ -15950,6 +16054,10 @@ PrefabInstance:
|
|||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_TransformParent: {fileID: 1791423234}
|
m_TransformParent: {fileID: 1791423234}
|
||||||
m_Modifications:
|
m_Modifications:
|
||||||
|
- target: {fileID: 1365857456347898781, guid: 5809cf74e3a629e42bf933474b90da9e, type: 3}
|
||||||
|
propertyPath: m_Type
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3939186822727609201, guid: 5809cf74e3a629e42bf933474b90da9e, type: 3}
|
- target: {fileID: 3939186822727609201, guid: 5809cf74e3a629e42bf933474b90da9e, type: 3}
|
||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: Panel_Toolbar
|
value: Panel_Toolbar
|
||||||
@@ -15984,7 +16092,7 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 5063094354339566518, guid: 5809cf74e3a629e42bf933474b90da9e, type: 3}
|
- target: {fileID: 5063094354339566518, guid: 5809cf74e3a629e42bf933474b90da9e, type: 3}
|
||||||
propertyPath: m_SizeDelta.y
|
propertyPath: m_SizeDelta.y
|
||||||
value: 670.38
|
value: 338.1848
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 5063094354339566518, guid: 5809cf74e3a629e42bf933474b90da9e, type: 3}
|
- target: {fileID: 5063094354339566518, guid: 5809cf74e3a629e42bf933474b90da9e, type: 3}
|
||||||
propertyPath: m_LocalPosition.x
|
propertyPath: m_LocalPosition.x
|
||||||
@@ -16552,6 +16660,102 @@ PrefabInstance:
|
|||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: Panel_ShortCuts
|
value: Panel_ShortCuts
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 455464740724914659, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 455464740724914659, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 455464740724914659, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 455464740724914659, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1278371220556183992, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1278371220556183992, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1278371220556183992, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1278371220556183992, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1812213731100653770, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1812213731100653770, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1812213731100653770, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1812213731100653770, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3525100165002056938, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3525100165002056938, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3525100165002056938, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3525100165002056938, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4209846343136198713, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4209846343136198713, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4209846343136198713, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4209846343136198713, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4781095703524062648, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4781095703524062648, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4781095703524062648, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4781095703524062648, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4796689690094199322, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
- target: {fileID: 4796689690094199322, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
propertyPath: m_Pivot.x
|
propertyPath: m_Pivot.x
|
||||||
value: 0
|
value: 0
|
||||||
@@ -16632,6 +16836,54 @@ PrefabInstance:
|
|||||||
propertyPath: m_LocalEulerAnglesHint.z
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6434950835951590376, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6434950835951590376, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6434950835951590376, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6434950835951590376, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8411372090456920616, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8411372090456920616, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8411372090456920616, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8411372090456920616, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 9042921806278444802, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 9042921806278444802, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 9042921806278444802, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 9042921806278444802, guid: 600a74624cb5b8642a287b62ca6a8891, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
|
|||||||
@@ -253,12 +253,12 @@ Transform:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 116334308}
|
m_GameObject: {fileID: 116334308}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 850406314}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!114 &116334310
|
--- !u!114 &116334310
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
@@ -281,8 +281,6 @@ MonoBehaviour:
|
|||||||
startNode: {fileID: 1172928290}
|
startNode: {fileID: 1172928290}
|
||||||
stackerHasEmptyCell: 0
|
stackerHasEmptyCell: 0
|
||||||
maxAGVCount: 1
|
maxAGVCount: 1
|
||||||
agvIsLack: 0
|
|
||||||
loadIsLack: 0
|
|
||||||
needs:
|
needs:
|
||||||
--- !u!1001 &125296021
|
--- !u!1001 &125296021
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
@@ -1221,6 +1219,50 @@ MonoBehaviour:
|
|||||||
unLoadSocket: {fileID: 0}
|
unLoadSocket: {fileID: 0}
|
||||||
portType: 0
|
portType: 0
|
||||||
loader: {fileID: 1832015431}
|
loader: {fileID: 1832015431}
|
||||||
|
--- !u!1 &696006662
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 696006663}
|
||||||
|
- component: {fileID: 696006664}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: StackerCraneManager
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &696006663
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 696006662}
|
||||||
|
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: 850406314}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &696006664
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 696006662}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: ed97dbd476f7a154c86010b3f67bc371, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
--- !u!1 &736132299
|
--- !u!1 &736132299
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1252,6 +1294,40 @@ Transform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 1554807645}
|
m_Father: {fileID: 1554807645}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1 &850406313
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 850406314}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Managers
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &850406314
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 850406313}
|
||||||
|
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:
|
||||||
|
- {fileID: 116334309}
|
||||||
|
- {fileID: 1133980572}
|
||||||
|
- {fileID: 696006663}
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &878306402
|
--- !u!1 &878306402
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1714,12 +1790,12 @@ Transform:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1133980571}
|
m_GameObject: {fileID: 1133980571}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 850406314}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!114 &1133980573
|
--- !u!114 &1133980573
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
@@ -2943,7 +3019,6 @@ SceneRoots:
|
|||||||
- {fileID: 544137894}
|
- {fileID: 544137894}
|
||||||
- {fileID: 1858000805}
|
- {fileID: 1858000805}
|
||||||
- {fileID: 1193906775}
|
- {fileID: 1193906775}
|
||||||
- {fileID: 1133980572}
|
- {fileID: 850406314}
|
||||||
- {fileID: 125296021}
|
- {fileID: 125296021}
|
||||||
- {fileID: 109703751}
|
- {fileID: 109703751}
|
||||||
- {fileID: 116334309}
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ namespace XED.VirtualFactory
|
|||||||
{
|
{
|
||||||
public enum AGVState
|
public enum AGVState
|
||||||
{
|
{
|
||||||
Idle,
|
IdleReady,
|
||||||
Moving,
|
Moving,
|
||||||
Charging,
|
Charging,
|
||||||
Loading,
|
Loading,
|
||||||
@@ -25,7 +25,8 @@ namespace XED.VirtualFactory
|
|||||||
MoveEnd,
|
MoveEnd,
|
||||||
LoadEnd,
|
LoadEnd,
|
||||||
UnloadReady,
|
UnloadReady,
|
||||||
UnloadEnd
|
UnloadEnd,
|
||||||
|
Idle
|
||||||
}
|
}
|
||||||
|
|
||||||
public AGVState state;
|
public AGVState state;
|
||||||
@@ -50,11 +51,13 @@ namespace XED.VirtualFactory
|
|||||||
Vector3 moveStartPos;
|
Vector3 moveStartPos;
|
||||||
Vector3 nextTargetPos;
|
Vector3 nextTargetPos;
|
||||||
public AGVNode nextNode;
|
public AGVNode nextNode;
|
||||||
|
internal Action<AGV> onCompleteTask;
|
||||||
|
|
||||||
internal bool isBusy => actionQueue.Count > 0;
|
internal bool isBusy => actionQueue.Count > 0;
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
updateAction = Idleing;
|
updateAction = IdleReady;
|
||||||
lift = GetComponentInChildren<AGVLift>();
|
lift = GetComponentInChildren<AGVLift>();
|
||||||
liftUpPosition = lift.transform.localPosition;
|
liftUpPosition = lift.transform.localPosition;
|
||||||
liftDownPosition = lift.transform.localPosition;
|
liftDownPosition = lift.transform.localPosition;
|
||||||
@@ -66,8 +69,11 @@ namespace XED.VirtualFactory
|
|||||||
Debug.Log($"{name} is State Changed: {state} -> {newState}");
|
Debug.Log($"{name} is State Changed: {state} -> {newState}");
|
||||||
switch (newState)
|
switch (newState)
|
||||||
{
|
{
|
||||||
|
case AGVState.IdleReady:
|
||||||
|
updateAction = IdleReady;
|
||||||
|
break;
|
||||||
case AGVState.Idle:
|
case AGVState.Idle:
|
||||||
updateAction = Idleing;
|
updateAction = Idle;
|
||||||
break;
|
break;
|
||||||
case AGVState.MoveReady:
|
case AGVState.MoveReady:
|
||||||
updateAction = MoveReady;
|
updateAction = MoveReady;
|
||||||
@@ -124,6 +130,14 @@ namespace XED.VirtualFactory
|
|||||||
state = newState;
|
state = newState;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void Idle()
|
||||||
|
{
|
||||||
|
if(actionQueue.Count > 0)
|
||||||
|
{
|
||||||
|
ExecuteNextAction();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void LiftDownEnd()
|
private void LiftDownEnd()
|
||||||
{
|
{
|
||||||
ChangeState(AGVState.Unloading);
|
ChangeState(AGVState.Unloading);
|
||||||
@@ -131,7 +145,7 @@ namespace XED.VirtualFactory
|
|||||||
|
|
||||||
private void UnloadEnd()
|
private void UnloadEnd()
|
||||||
{
|
{
|
||||||
ChangeState(AGVState.Idle);
|
ChangeState(AGVState.IdleReady);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Unloading()
|
private void Unloading()
|
||||||
@@ -158,7 +172,7 @@ namespace XED.VirtualFactory
|
|||||||
}
|
}
|
||||||
private void LoadEnd()
|
private void LoadEnd()
|
||||||
{
|
{
|
||||||
ChangeState(AGVState.Idle);
|
ChangeState(AGVState.IdleReady);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void LiftUpEnd()
|
private void LiftUpEnd()
|
||||||
@@ -173,7 +187,7 @@ namespace XED.VirtualFactory
|
|||||||
if (target.isEmpty)
|
if (target.isEmpty)
|
||||||
{
|
{
|
||||||
Debug.Log($"{target} is Empty Load!");
|
Debug.Log($"{target} is Empty Load!");
|
||||||
ChangeState(AGVState.Idle);
|
ChangeState(AGVState.IdleReady);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -230,7 +244,7 @@ namespace XED.VirtualFactory
|
|||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float moveDistance;
|
||||||
private void MoveReady()
|
private void MoveReady()
|
||||||
{
|
{
|
||||||
currentMovePath = (currentAction as AGVMoveAction).path;
|
currentMovePath = (currentAction as AGVMoveAction).path;
|
||||||
@@ -240,6 +254,7 @@ namespace XED.VirtualFactory
|
|||||||
Quaternion targetRotation = Quaternion.LookRotation(direction);
|
Quaternion targetRotation = Quaternion.LookRotation(direction);
|
||||||
moveStartPos = transform.position;
|
moveStartPos = transform.position;
|
||||||
|
|
||||||
|
moveDistance = Vector3.Distance(moveStartPos, nextTargetPos);
|
||||||
if (Quaternion.Angle(transform.rotation, targetRotation) > 1f)
|
if (Quaternion.Angle(transform.rotation, targetRotation) > 1f)
|
||||||
{
|
{
|
||||||
ChangeState(AGVState.RotateReady);
|
ChangeState(AGVState.RotateReady);
|
||||||
@@ -249,7 +264,7 @@ namespace XED.VirtualFactory
|
|||||||
}
|
}
|
||||||
private void Moving()
|
private void Moving()
|
||||||
{
|
{
|
||||||
moveProgress += (spec.maxSpeed * Time.deltaTime);
|
moveProgress += (spec.maxSpeed * Time.deltaTime)/moveDistance;
|
||||||
transform.position = Vector3.Lerp(moveStartPos, nextTargetPos, moveProgress);
|
transform.position = Vector3.Lerp(moveStartPos, nextTargetPos, moveProgress);
|
||||||
|
|
||||||
if (moveProgress>=1f)
|
if (moveProgress>=1f)
|
||||||
@@ -271,15 +286,20 @@ namespace XED.VirtualFactory
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ChangeState(AGVState.Idle);
|
ChangeState(AGVState.IdleReady);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void Idleing()
|
void IdleReady()
|
||||||
{
|
{
|
||||||
if(actionQueue.Count > 0)
|
if(actionQueue.Count > 0)
|
||||||
{
|
{
|
||||||
ExecuteNextAction();
|
ExecuteNextAction();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
onCompleteTask?.Invoke(this);
|
||||||
|
ChangeState(AGVState.Idle);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ForceSet(AGVNode node)
|
public void ForceSet(AGVNode node)
|
||||||
|
|||||||
@@ -5,11 +5,5 @@ namespace XED.VirtualFactory
|
|||||||
{
|
{
|
||||||
public class GeneratePort : OutputPort
|
public class GeneratePort : OutputPort
|
||||||
{
|
{
|
||||||
|
|
||||||
public override void AfterAwake()
|
|
||||||
{
|
|
||||||
base.AfterAwake();
|
|
||||||
Debug.Log("GeneratePort AfterAwake");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -14,11 +14,13 @@ namespace XED.VirtualFactory
|
|||||||
public virtual void Load(Product load)
|
public virtual void Load(Product load)
|
||||||
{
|
{
|
||||||
Debug.Log($"{name} is load");
|
Debug.Log($"{name} is load");
|
||||||
|
|
||||||
load.transform.SetParent(loadPivot);
|
load.transform.SetParent(loadPivot);
|
||||||
load.transform.localPosition= Vector3.zero;
|
load.transform.localPosition = Vector3.zero;
|
||||||
currentLoad = load;
|
|
||||||
load.LocationUpdate(this);
|
load.LocationUpdate(this);
|
||||||
onLoadEvent?.Invoke();
|
|
||||||
|
currentLoad = load;
|
||||||
|
onLoadEvent?.Invoke();
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void Unload(Loader getter)
|
public virtual void Unload(Loader getter)
|
||||||
|
|||||||
@@ -62,5 +62,18 @@ namespace XED.VirtualFactory
|
|||||||
inputPort = null;
|
inputPort = null;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal bool TryGetEmptyGeneratePorts(out List<GeneratePort> ports)
|
||||||
|
{
|
||||||
|
ports = new List<GeneratePort>();
|
||||||
|
foreach (var p in this.ports)
|
||||||
|
{
|
||||||
|
if (p is GeneratePort pt && pt.isEmpty)
|
||||||
|
{
|
||||||
|
ports.Add(pt);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ports.Count > 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -12,7 +12,7 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 24cfa40753282b845b69548571a1a451, type: 3}
|
m_Script: {fileID: 11500000, guid: 24cfa40753282b845b69548571a1a451, type: 3}
|
||||||
m_Name: AGVSpecData
|
m_Name: AGVSpecData
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
maxSpeed: 2
|
maxSpeed: 10
|
||||||
maxCurveSpeed: 2
|
maxCurveSpeed: 2
|
||||||
slowSpeed: 5
|
slowSpeed: 5
|
||||||
slowCurveSpeed: 3
|
slowCurveSpeed: 3
|
||||||
|
|||||||
@@ -39,11 +39,12 @@ namespace XED.VirtualFactory
|
|||||||
float bucketEnd;
|
float bucketEnd;
|
||||||
float pillarMoveProgress;
|
float pillarMoveProgress;
|
||||||
float bucketMoveProgress;
|
float bucketMoveProgress;
|
||||||
|
public Action<StackerCrane> onCompleteTask;
|
||||||
internal bool hasEmptyCell => cells.Any(cell => cell.isEmpty);
|
internal bool hasEmptyCell => cells.Any(cell => cell.isEmpty);
|
||||||
|
|
||||||
public enum StackerCraneState
|
public enum StackerCraneState
|
||||||
{
|
{
|
||||||
Idle,
|
IdleReady,
|
||||||
TaskReady,
|
TaskReady,
|
||||||
MoveReady,
|
MoveReady,
|
||||||
Move,
|
Move,
|
||||||
@@ -59,6 +60,7 @@ namespace XED.VirtualFactory
|
|||||||
LoadEnd,
|
LoadEnd,
|
||||||
Unload,
|
Unload,
|
||||||
UnloadEnd,
|
UnloadEnd,
|
||||||
|
Idle,
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Update()
|
private void Update()
|
||||||
@@ -66,24 +68,18 @@ namespace XED.VirtualFactory
|
|||||||
updateAction.Invoke();
|
updateAction.Invoke();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Action<StackerCrane> onInputLoadEvent;
|
||||||
|
internal Action<StackerCrane> onLoadForkEvent;
|
||||||
|
|
||||||
public override void AfterAwake()
|
public override void AfterAwake()
|
||||||
{
|
{
|
||||||
ChangeState(StackerCraneState.Idle);
|
ChangeState(StackerCraneState.IdleReady);
|
||||||
cells = Storage.GetComponentsInChildren<Loader>().ToList();
|
cells = Storage.GetComponentsInChildren<Loader>().ToList();
|
||||||
inputPort.onLoadEvent += OnLoadInputPort;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnLoadInputPort()
|
|
||||||
{
|
|
||||||
Debug.Log($"On Load Stacker InputPort");
|
|
||||||
if (autoInput)
|
|
||||||
{
|
|
||||||
AddTask(new InputTask());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddTask(StackerCraneTask task)
|
public void AddTask(StackerCraneTask task)
|
||||||
{
|
{
|
||||||
|
Debug.Log($"{name} on Add Task");
|
||||||
taskQueue.Enqueue(task);
|
taskQueue.Enqueue(task);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,6 +87,9 @@ namespace XED.VirtualFactory
|
|||||||
{
|
{
|
||||||
switch (newState)
|
switch (newState)
|
||||||
{
|
{
|
||||||
|
case StackerCraneState.IdleReady:
|
||||||
|
updateAction = IdleReady;
|
||||||
|
break;
|
||||||
case StackerCraneState.Idle:
|
case StackerCraneState.Idle:
|
||||||
updateAction = Idle;
|
updateAction = Idle;
|
||||||
break;
|
break;
|
||||||
@@ -142,6 +141,14 @@ namespace XED.VirtualFactory
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void Idle()
|
||||||
|
{
|
||||||
|
if (taskQueue.Count > 0)
|
||||||
|
{
|
||||||
|
ChangeState(StackerCraneState.TaskReady);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void UnloadEnd()
|
private void UnloadEnd()
|
||||||
{
|
{
|
||||||
ChangeState(StackerCraneState.ForkOut);
|
ChangeState(StackerCraneState.ForkOut);
|
||||||
@@ -156,6 +163,7 @@ namespace XED.VirtualFactory
|
|||||||
private void LoadEnd()
|
private void LoadEnd()
|
||||||
{
|
{
|
||||||
forkProgress = 0f;
|
forkProgress = 0f;
|
||||||
|
onLoadForkEvent?.Invoke(this);
|
||||||
ChangeState(StackerCraneState.ForkOut);
|
ChangeState(StackerCraneState.ForkOut);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -218,7 +226,7 @@ namespace XED.VirtualFactory
|
|||||||
{
|
{
|
||||||
if (actionQueue.Count == 0)
|
if (actionQueue.Count == 0)
|
||||||
{
|
{
|
||||||
ChangeState(StackerCraneState.Idle);
|
ChangeState(StackerCraneState.IdleReady);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
currentAction = actionQueue.Dequeue();
|
currentAction = actionQueue.Dequeue();
|
||||||
@@ -233,11 +241,11 @@ namespace XED.VirtualFactory
|
|||||||
ChangeState(StackerCraneState.MoveReady);
|
ChangeState(StackerCraneState.MoveReady);
|
||||||
break;
|
break;
|
||||||
case StackerCraneMoveToEmptyCellAction moveToEmptyCellAction:
|
case StackerCraneMoveToEmptyCellAction moveToEmptyCellAction:
|
||||||
moveTarget = cells.FirstOrDefault(cell => cell.isEmpty);
|
moveTarget = cells.First(cell => cell.isEmpty);
|
||||||
ChangeState(StackerCraneState.MoveReady);
|
ChangeState(StackerCraneState.MoveReady);
|
||||||
break;
|
break;
|
||||||
case StackerCraneMoveToFullCellAction moveToFullCellAction:
|
case StackerCraneMoveToFullCellAction moveToFullCellAction:
|
||||||
moveTarget = cells.FirstOrDefault(cell => !cell.isEmpty);
|
moveTarget = cells.Last(cell => !cell.isEmpty);
|
||||||
ChangeState(StackerCraneState.MoveReady);
|
ChangeState(StackerCraneState.MoveReady);
|
||||||
break;
|
break;
|
||||||
case StackerCraneLoadAction loadAction:
|
case StackerCraneLoadAction loadAction:
|
||||||
@@ -293,12 +301,17 @@ namespace XED.VirtualFactory
|
|||||||
ChangeState(StackerCraneState.ActionReady);
|
ChangeState(StackerCraneState.ActionReady);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Idle()
|
private void IdleReady()
|
||||||
{
|
{
|
||||||
if(taskQueue.Count > 0)
|
if(taskQueue.Count > 0)
|
||||||
{
|
{
|
||||||
ChangeState(StackerCraneState.TaskReady);
|
ChangeState(StackerCraneState.TaskReady);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
onCompleteTask?.Invoke(this);
|
||||||
|
ChangeState(StackerCraneState.Idle);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
@@ -7,26 +8,51 @@ namespace XED.VirtualFactory
|
|||||||
{
|
{
|
||||||
public class StackerCraneManager : MonoBehaviour, ISingle
|
public class StackerCraneManager : MonoBehaviour, ISingle
|
||||||
{
|
{
|
||||||
private HashSet<StackerCrane> stackerCranes = new HashSet<StackerCrane>();
|
public StackerCrane[] stackerCranes;
|
||||||
private StackerCraneLog stackerCraneLog;
|
void Awake()
|
||||||
|
|
||||||
public override void AfterAwake()
|
|
||||||
{
|
{
|
||||||
stackerCraneLog = FindSingle<StackerCraneLog>();
|
stackerCranes = FindObjectsByType<StackerCrane>(FindObjectsSortMode.None);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InitStackerCrane(StackerCrane stackerCrane)
|
public bool TryGetEmptyInputStackerCranes(out List<StackerCrane> cranes)
|
||||||
{
|
{
|
||||||
bool added = stackerCranes.Add(stackerCrane);
|
cranes = new();
|
||||||
|
|
||||||
//if (added)
|
foreach (var crane in stackerCranes)
|
||||||
//{
|
{
|
||||||
// stackerCrane.onTaskReadyCompletedEvent += stackerCraneLog.TaskReadyLog;
|
if (crane.inputPort.isEmpty)
|
||||||
// stackerCrane.onTaskEndCompletedEvent += stackerCraneLog.TaskEndLogLog;
|
{
|
||||||
// stackerCrane.onStateChangeEvent += stackerCraneLog.StateChangeLog;
|
cranes.Add(crane);
|
||||||
// stackerCrane.onAddTaskCompletedEvent += stackerCraneLog.TaskAddLog;
|
}
|
||||||
//}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
return cranes.Count > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
internal bool TryGetStackerbleStackerCranes(out List<StackerCrane> cranes)
|
||||||
|
{
|
||||||
|
cranes = new List<StackerCrane>();
|
||||||
|
foreach(var crane in stackerCranes)
|
||||||
|
{
|
||||||
|
if(!crane.inputPort.isEmpty && crane.hasEmptyCell)
|
||||||
|
{
|
||||||
|
cranes.Add(crane);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return cranes.Count > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
internal bool TryGetUnloaderbleStacker(out List<StackerCrane> cranes)
|
||||||
|
{
|
||||||
|
cranes = new();
|
||||||
|
foreach (var crane in stackerCranes)
|
||||||
|
{
|
||||||
|
if (crane.outputPort.isEmpty && !crane.hasEmptyCell)
|
||||||
|
{
|
||||||
|
cranes.Add(crane);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return cranes.Count > 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
56
Assets/StackerCraneNeedsScanner.cs
Normal file
56
Assets/StackerCraneNeedsScanner.cs
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace XED.VirtualFactory
|
||||||
|
{
|
||||||
|
public class StackerCraneNeedsScanner : NeedsScanner
|
||||||
|
{
|
||||||
|
private readonly VirtualFactoryManager vfManager;
|
||||||
|
private readonly StackerCraneManager stackerCraneManager;
|
||||||
|
|
||||||
|
public StackerCraneNeedsScanner(VirtualFactoryManager vfManager, StackerCraneManager stackerCraneManager)
|
||||||
|
{
|
||||||
|
this.vfManager = vfManager;
|
||||||
|
this.stackerCraneManager = stackerCraneManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Scanning()
|
||||||
|
{
|
||||||
|
CheckInputLoadNeeds();
|
||||||
|
CheckStackingTaskNeeds();
|
||||||
|
CheckLoadOutTaskNeeds();
|
||||||
|
ScanningComplete();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CheckLoadOutTaskNeeds()
|
||||||
|
{
|
||||||
|
if(stackerCraneManager.TryGetUnloaderbleStacker(out List<StackerCrane> cranes))
|
||||||
|
{
|
||||||
|
for (int i = 0; i < cranes.Count; ++i)
|
||||||
|
{
|
||||||
|
needs.Add(FactoryNeeds.StackerLoadOut);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CheckStackingTaskNeeds()
|
||||||
|
{
|
||||||
|
if(stackerCraneManager.TryGetStackerbleStackerCranes(out var cranes))
|
||||||
|
{
|
||||||
|
for(int i =0;i<cranes.Count; ++i)
|
||||||
|
{
|
||||||
|
needs.Add(FactoryNeeds.Stacking);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CheckInputLoadNeeds()
|
||||||
|
{
|
||||||
|
if(stackerCraneManager.TryGetEmptyInputStackerCranes(out var cranes))
|
||||||
|
{
|
||||||
|
for (int i = 0; i < cranes.Count; ++i)
|
||||||
|
needs.Add(FactoryNeeds.StackerInputLoad);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
2
Assets/StackerCraneNeedsScanner.cs.meta
Normal file
2
Assets/StackerCraneNeedsScanner.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 1d7a9b8fa70a9fc4bbbf4e4da4c7af2e
|
||||||
@@ -1,12 +1,22 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using UnityEditor;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using XED.VirtualFactory;
|
using XED.VirtualFactory;
|
||||||
|
|
||||||
namespace XED
|
namespace XED
|
||||||
{
|
{
|
||||||
public class VirtualFactoryManager : MonoBehaviour
|
public enum FactoryNeeds
|
||||||
|
{
|
||||||
|
GenerateAGV,
|
||||||
|
StackerInputLoad,
|
||||||
|
Stacking,
|
||||||
|
GenerateLoad,
|
||||||
|
StackerLoadOut,
|
||||||
|
}
|
||||||
|
|
||||||
|
public class VirtualFactoryManager : MonoBehaviour
|
||||||
{
|
{
|
||||||
public List<StackerCrane> stackerCranes = new();
|
public List<StackerCrane> stackerCranes = new();
|
||||||
public AGVManager agvManager;
|
public AGVManager agvManager;
|
||||||
@@ -18,19 +28,17 @@ namespace XED
|
|||||||
|
|
||||||
public bool stackerHasEmptyCell;
|
public bool stackerHasEmptyCell;
|
||||||
public int maxAGVCount = 4;
|
public int maxAGVCount = 4;
|
||||||
public enum FactoryNeeds
|
|
||||||
{
|
|
||||||
NeedAGV,
|
|
||||||
NeedLoad,
|
|
||||||
NeedStackerInputLoad,
|
|
||||||
NeedStackerInput,
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool agvIsLack;
|
|
||||||
public bool loadIsLack;
|
|
||||||
public List<FactoryNeeds> needs = new();
|
public List<FactoryNeeds> needs = new();
|
||||||
public event Action scanningAction;
|
|
||||||
public event Action solutionAction;
|
public AGVNeedsScanner agvNeedScanner;
|
||||||
|
public ResourceNeedsScanner resourceNeedsChecker;
|
||||||
|
public StackerCraneNeedsScanner stackerNeedsChecker;
|
||||||
|
public List<NeedsScanner> scanners = new();
|
||||||
|
|
||||||
|
HashSet<StackerCrane> stackingReadys = new();
|
||||||
|
private StackerCraneManager stackerCraneManager;
|
||||||
|
|
||||||
public override void AfterAwake()
|
public override void AfterAwake()
|
||||||
{
|
{
|
||||||
agvMap = FindSingle<AGVMap>();
|
agvMap = FindSingle<AGVMap>();
|
||||||
@@ -38,65 +46,128 @@ namespace XED
|
|||||||
agvManager = FindSingle<AGVManager>();
|
agvManager = FindSingle<AGVManager>();
|
||||||
stackerCranes = FindObjectsByType<StackerCrane>(UnityEngine.FindObjectsSortMode.None).ToList();
|
stackerCranes = FindObjectsByType<StackerCrane>(UnityEngine.FindObjectsSortMode.None).ToList();
|
||||||
|
|
||||||
scanningAction += CheckAGVCount;
|
agvNeedScanner = new AGVNeedsScanner(this, agvManager);
|
||||||
scanningAction += CheckStackerSpace;
|
resourceNeedsChecker = new ResourceNeedsScanner(portMap);
|
||||||
scanningAction += CheckStackerInput;
|
stackerNeedsChecker = new StackerCraneNeedsScanner(this, stackerCraneManager);
|
||||||
|
|
||||||
|
scanners.Add(agvNeedScanner);
|
||||||
|
scanners.Add(resourceNeedsChecker);
|
||||||
|
scanners.Add(stackerNeedsChecker);
|
||||||
|
|
||||||
|
agvNeedScanner.onScanningComplete += OnScanningComplete;
|
||||||
|
resourceNeedsChecker.onScanningComplete += OnScanningComplete;
|
||||||
|
stackerNeedsChecker.onScanningComplete += OnScanningComplete;
|
||||||
|
|
||||||
|
Scanning();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CheckStackerInput()
|
void Scanning()
|
||||||
|
{
|
||||||
|
Debug.Log("Needs Scanning");
|
||||||
|
foreach (var scanner in scanners)
|
||||||
|
{
|
||||||
|
scanner.Scanning();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnScanningComplete(NeedsScanner scanner, List<FactoryNeeds> list)
|
||||||
|
{
|
||||||
|
Debug.Log($"On Needs Scanning Complete {scanner.GetType().Name}");
|
||||||
|
switch (scanner)
|
||||||
|
{
|
||||||
|
case AGVNeedsScanner _:
|
||||||
|
AGVNeedsSolutioning(list);
|
||||||
|
break;
|
||||||
|
case ResourceNeedsScanner _:
|
||||||
|
ResourceNeedsSolutioning(list);
|
||||||
|
break;
|
||||||
|
case StackerCraneNeedsScanner _:
|
||||||
|
StackerNeedsSolutioning(list);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
list.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void StackerNeedsSolutioning(List<FactoryNeeds> list)
|
||||||
|
{
|
||||||
|
foreach (var needs in list)
|
||||||
|
{
|
||||||
|
switch (needs)
|
||||||
|
{
|
||||||
|
case FactoryNeeds.StackerInputLoad:
|
||||||
|
DeliveryStackerInputLoad();
|
||||||
|
break;
|
||||||
|
case FactoryNeeds.Stacking:
|
||||||
|
StackerStacking();
|
||||||
|
break;
|
||||||
|
case FactoryNeeds.StackerLoadOut:
|
||||||
|
StackerLoadOut();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void StackerLoadOut()
|
||||||
{
|
{
|
||||||
foreach (var stacker in stackerCranes)
|
foreach (var stacker in stackerCranes)
|
||||||
{
|
{
|
||||||
if (!stacker.hasEmptyCell)
|
stacker.AddTask(new OutputTask());
|
||||||
continue;
|
|
||||||
|
|
||||||
if (stacker.inputPort.isEmpty)
|
|
||||||
{
|
|
||||||
Debug.Log("Need Stacker Input Load");
|
|
||||||
needs.Add(FactoryNeeds.NeedStackerInputLoad);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Debug.Log($"Need Stacker Input");
|
|
||||||
needs.Add(FactoryNeeds.NeedStackerInput);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Update()
|
private void ResourceNeedsSolutioning(List<FactoryNeeds> list)
|
||||||
{
|
{
|
||||||
ScanningVirtualFactory();
|
foreach (var needs in list)
|
||||||
Solutioning();
|
|
||||||
}
|
|
||||||
|
|
||||||
void ScanningVirtualFactory()
|
|
||||||
{
|
|
||||||
scanningAction?.Invoke();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Solutioning()
|
|
||||||
{
|
|
||||||
foreach(var n in needs)
|
|
||||||
{
|
{
|
||||||
switch (n)
|
switch (needs)
|
||||||
{
|
{
|
||||||
case FactoryNeeds.NeedAGV:
|
case FactoryNeeds.GenerateLoad:
|
||||||
solutionAction += GenerateAGV;
|
GenerateLoad();
|
||||||
break;
|
|
||||||
case FactoryNeeds.NeedLoad:
|
|
||||||
solutionAction += GenerateLoad;
|
|
||||||
break;
|
|
||||||
case FactoryNeeds.NeedStackerInputLoad:
|
|
||||||
solutionAction += DeliveryStackerInputLoad;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
solutionAction?.Invoke();
|
|
||||||
solutionAction = null;
|
|
||||||
needs.Clear();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void AGVNeedsSolutioning(List<FactoryNeeds> list)
|
||||||
|
{
|
||||||
|
foreach (var needs in list)
|
||||||
|
{
|
||||||
|
switch (needs)
|
||||||
|
{
|
||||||
|
case FactoryNeeds.GenerateAGV:
|
||||||
|
GenerateAGV();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void StackerStacking()
|
||||||
|
{
|
||||||
|
foreach (var stacker in stackerCranes)
|
||||||
|
{
|
||||||
|
if (stackingReadys.Add(stacker) && !stacker.inputPort.isEmpty)
|
||||||
|
{
|
||||||
|
Debug.Log("Stacker Stacking");
|
||||||
|
stacker.onCompleteTask += OnStackerStackingComplete;
|
||||||
|
stacker.AddTask(new InputTask());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnStackerStackingComplete(StackerCrane crane)
|
||||||
|
{
|
||||||
|
stackingReadys.Remove(crane);
|
||||||
|
crane.onCompleteTask -= OnStackerStackingComplete;
|
||||||
|
resourceNeedsChecker.Scanning();
|
||||||
|
stackerNeedsChecker.Scanning();
|
||||||
|
}
|
||||||
|
private void OnStackerInputLoad(StackerCrane stacker)
|
||||||
|
{
|
||||||
|
Debug.Log($"Stacker {stacker.name} is On Input Load");
|
||||||
|
stacker.inputPort.onLoadEvent -= () => OnStackerInputLoad(stacker);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void DeliveryStackerInputLoad()
|
private void DeliveryStackerInputLoad()
|
||||||
{
|
{
|
||||||
if (!agvManager.TryGetIdleAGV(out var agvWorker))
|
if (!agvManager.TryGetIdleAGV(out var agvWorker))
|
||||||
@@ -122,6 +193,14 @@ namespace XED
|
|||||||
agvWorker.AddAction(new AGVLoadAction(generatePort));
|
agvWorker.AddAction(new AGVLoadAction(generatePort));
|
||||||
agvWorker.AddAction(new AGVMoveAction(inputLoadPath));
|
agvWorker.AddAction(new AGVMoveAction(inputLoadPath));
|
||||||
agvWorker.AddAction(new AGVUnloadAction(inputPortNode.loader));
|
agvWorker.AddAction(new AGVUnloadAction(inputPortNode.loader));
|
||||||
|
agvWorker.onCompleteTask += OnAGVIdle;
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnAGVIdle(AGV worker)
|
||||||
|
{
|
||||||
|
Debug.Log($"{worker.name} is On Enter idle");
|
||||||
|
stackerNeedsChecker.Scanning();
|
||||||
|
worker.onCompleteTask -= OnAGVIdle;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void GenerateLoad()
|
private void GenerateLoad()
|
||||||
@@ -141,34 +220,5 @@ namespace XED
|
|||||||
var newAGV = agvManager.CreateEmptyAGV();
|
var newAGV = agvManager.CreateEmptyAGV();
|
||||||
newAGV.ForceSet(startNode);
|
newAGV.ForceSet(startNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CheckStackerSpace()
|
|
||||||
{
|
|
||||||
if (stackerCranes.Sum(sc => sc.cells.Count()) == loads.Count)
|
|
||||||
return;
|
|
||||||
|
|
||||||
foreach (var stacker in stackerCranes)
|
|
||||||
{
|
|
||||||
if (stacker.hasEmptyCell)
|
|
||||||
{
|
|
||||||
Debug.Log($"Need Stacker Load");
|
|
||||||
needs.Add(FactoryNeeds.NeedLoad);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void CheckAGVCount()
|
|
||||||
{
|
|
||||||
Debug.Log($"CheckAGVCount");
|
|
||||||
if (maxAGVCount > agvManager.agvs.Count)
|
|
||||||
{
|
|
||||||
needs.Add(FactoryNeeds.NeedAGV);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
scanningAction -= CheckAGVCount;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user