Merge branch 'main' into pgd/20250328

This commit is contained in:
geondo55
2025-03-28 10:35:54 +09:00
24 changed files with 1524 additions and 443 deletions

29
Assets/AGVNeedsScanner.cs Normal file
View 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);
}
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 467b71fac96c5774c8c7f08ac58f9496

File diff suppressed because one or more lines are too long

View File

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

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 9161584bea128bd4682c86acad11beca

View File

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

View File

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

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

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 5dd1a0ad71ecdc645894bbfbdf539446

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

@@ -1,3 +1,12 @@
### 0.23.7 03-28
```
1. UI 디자인 스타일 변경
2. 자산 목록창 아이템 호버링시 컬러 애니메이션 추가
3. 자산 미리보기 이미지 기본위치 하향 조정
4. 계층구조 UI 레이아웃 수정
5. toolbar 내 불필요 기능 아이콘 제거
```
### 0.23.2 03-24 ### 0.23.2 03-24
``` ```
1. 간섭 객체 목록 UI 추가 1. 간섭 객체 목록 UI 추가