存储
This commit is contained in:
parent
7671958d48
commit
f32a392bf9
61
Assets/Animancer Settings.asset
Normal file
61
Assets/Animancer Settings.asset
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 16
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 18bd840b706853d4a934ec3199f63a41, type: 3}
|
||||||
|
m_Name: Animancer Settings
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
_Data:
|
||||||
|
- rid: 1102212210127012099
|
||||||
|
- rid: 1102212210127012100
|
||||||
|
- rid: 1102212210127012101
|
||||||
|
- rid: 1102212210127012102
|
||||||
|
- rid: 1102212210127012103
|
||||||
|
- rid: 1102212210127012104
|
||||||
|
references:
|
||||||
|
version: 2
|
||||||
|
RefIds:
|
||||||
|
- rid: 1102212210127012099
|
||||||
|
type: {class: AnimancerComponentPreviewSettings, ns: Animancer.Editor.Previews, asm: Kybernetik.Animancer.Editor}
|
||||||
|
data:
|
||||||
|
_RepaintRate: 30
|
||||||
|
- rid: 1102212210127012100
|
||||||
|
type: {class: AnimancerGraphControls, ns: Animancer.Editor, asm: Kybernetik.Animancer.Editor}
|
||||||
|
data:
|
||||||
|
_FrameStep: 0.02
|
||||||
|
- rid: 1102212210127012101
|
||||||
|
type: {class: TransitionPreviewSettings, ns: Animancer.Editor.Previews, asm: Kybernetik.Animancer.Editor}
|
||||||
|
data:
|
||||||
|
_AutoClose: 1
|
||||||
|
_SceneLighting: 0
|
||||||
|
_ShowSkybox: 0
|
||||||
|
_FrameStep: 0.02
|
||||||
|
_SceneEnvironment: {fileID: 0}
|
||||||
|
_Models: []
|
||||||
|
- rid: 1102212210127012102
|
||||||
|
type: {class: SerializableEventSequenceDrawerSettings, ns: Animancer.Editor, asm: Kybernetik.Animancer.Editor}
|
||||||
|
data:
|
||||||
|
_HideEventCallbacks: 0
|
||||||
|
- rid: 1102212210127012103
|
||||||
|
type: {class: AnimationTimeAttributeSettings, ns: Animancer.Units.Editor, asm: Kybernetik.Animancer.Editor}
|
||||||
|
data:
|
||||||
|
showApproximations: 1
|
||||||
|
showNormalized: 1
|
||||||
|
showSeconds: 1
|
||||||
|
showFrames: 1
|
||||||
|
- rid: 1102212210127012104
|
||||||
|
type: {class: GenerateSpriteAnimationsSettings, ns: Animancer.Editor.Tools, asm: Kybernetik.Animancer.Editor}
|
||||||
|
data:
|
||||||
|
_FrameRate: 12
|
||||||
|
_HierarchyPath:
|
||||||
|
_TargetType:
|
||||||
|
_QualifiedName: UnityEngine.SpriteRenderer, UnityEngine.CoreModule, Version=0.0.0.0,
|
||||||
|
Culture=neutral, PublicKeyToken=null
|
||||||
|
_PropertyName: m_Sprite
|
8
Assets/Animancer Settings.asset.meta
Normal file
8
Assets/Animancer Settings.asset.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6bd895ef003a7dd42b1212005d9de2ab
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -10,11 +10,9 @@ MonoBehaviour:
|
|||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: 7a686a47eee2fa44cb0a34b5d86e4d5e, type: 3}
|
m_Script: {fileID: 11500000, guid: 7a686a47eee2fa44cb0a34b5d86e4d5e, type: 3}
|
||||||
m_Name: ShelfMachineBehaviour
|
m_Name: ForkAGV
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
_serializedGraph: '{"type":"NodeCanvas.BehaviourTrees.BehaviourTree","nodes":[{"selectionMode":1,"intCase":{},"enumCase":{"_type":"System.Enum","_name":""},"_position":{"x":564.0,"y":122.0},"$type":"NodeCanvas.BehaviourTrees.Switch"}],"connections":[],"canvasGroups":[],"localBlackboard":{"_variables":{"Enum
|
_serializedGraph: '{"type":"NodeCanvas.BehaviourTrees.BehaviourTree","nodes":[{"_position":{"x":360.0,"y":93.0},"$type":"NodeCanvas.BehaviourTrees.Sequencer"},{"_position":{"x":231.0,"y":269.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode"}],"connections":[],"canvasGroups":[],"localBlackboard":{"_variables":{}},"derivedData":{"repeat":true,"$type":"NodeCanvas.BehaviourTrees.BehaviourTree+DerivedSerializationData"}}'
|
||||||
Case":{"_name":"Enum Case","_id":"765c30f0-31a8-432d-8a9e-1a9dbf4d0337","$type":"NodeCanvas.Framework.Variable`1[[System.Enum,
|
|
||||||
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}}},"derivedData":{"repeat":true,"$type":"NodeCanvas.BehaviourTrees.BehaviourTree+DerivedSerializationData"}}'
|
|
||||||
_objectReferences: []
|
_objectReferences: []
|
||||||
_graphSource:
|
_graphSource:
|
||||||
_version: 3.32
|
_version: 3.32
|
8
Assets/AssetArt/ForkAGV.asset.meta
Normal file
8
Assets/AssetArt/ForkAGV.asset.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5c871cb75b90f5f48b64f80b3e342234
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -85,7 +85,7 @@ MonoBehaviour:
|
|||||||
m_Version: 3
|
m_Version: 3
|
||||||
m_AnimClip: {fileID: 0}
|
m_AnimClip: {fileID: 0}
|
||||||
m_Locked: 0
|
m_Locked: 0
|
||||||
m_Muted: 0
|
m_Muted: 1
|
||||||
m_CustomPlayableFullTypename:
|
m_CustomPlayableFullTypename:
|
||||||
m_Curves: {fileID: 0}
|
m_Curves: {fileID: 0}
|
||||||
m_Parent: {fileID: 11400000}
|
m_Parent: {fileID: 11400000}
|
||||||
|
8
Assets/AssetRaw/Resources/Agv.meta
Normal file
8
Assets/AssetRaw/Resources/Agv.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 683d8c59aacb89d45a6458499abf5e4a
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
24
Assets/AssetRaw/Resources/Agv/ForkAGV.asset
Normal file
24
Assets/AssetRaw/Resources/Agv/ForkAGV.asset
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 7a686a47eee2fa44cb0a34b5d86e4d5e, type: 3}
|
||||||
|
m_Name: ForkAGV
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
_serializedGraph: '{"type":"NodeCanvas.BehaviourTrees.BehaviourTree","nodes":[{"selectionMode":1,"intCase":{"_name":""},"enumCase":{"_type":"System.Enum","_name":"action","_targetVariableID":"6108051d-81ff-425d-97a4-c9791ddb388b"},"_position":{"x":705.0,"y":37.0},"$type":"NodeCanvas.BehaviourTrees.Switch","$id":"0"},{"_action":{"method":{"_baseInfo":"GameLogic.Game.Core.Actor.ForkAgvActor|Standby|System.Void","_paramsInfo":""},"parameters":[],"returnValue":{},"$type":"NodeCanvas.Tasks.Actions.ExecuteFunction_Multiplatform"},"_position":{"x":198.0,"y":233.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"1"},{"_action":{"method":{"_baseInfo":"GameLogic.Game.Core.Actor.ForkAgvActor|Taking|System.Void","_paramsInfo":""},"parameters":[],"returnValue":{},"$type":"NodeCanvas.Tasks.Actions.ExecuteFunction_Multiplatform"},"_position":{"x":327.0,"y":278.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"2"},{"_action":{"method":{"_baseInfo":"GameLogic.Game.Core.Actor.ForkAgvActor|ApplyTake|System.Void","_paramsInfo":""},"parameters":[],"returnValue":{},"$type":"NodeCanvas.Tasks.Actions.ExecuteFunction_Multiplatform"},"_position":{"x":442.0,"y":286.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"3"},{"_action":{"method":{"_baseInfo":"GameLogic.Game.Core.Actor.ForkAgvActor|TakeFinish|System.Void","_paramsInfo":""},"parameters":[],"returnValue":{},"$type":"NodeCanvas.Tasks.Actions.ExecuteFunction_Multiplatform"},"_position":{"x":587.0,"y":286.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"4"},{"_action":{"method":{"_baseInfo":"GameLogic.Game.Core.Actor.ForkAgvActor|Putting|System.Void","_paramsInfo":""},"parameters":[],"returnValue":{},"$type":"NodeCanvas.Tasks.Actions.ExecuteFunction_Multiplatform"},"_position":{"x":770.0,"y":287.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"5"},{"_action":{"method":{"_baseInfo":"GameLogic.Game.Core.Actor.ForkAgvActor|ApplyPut|System.Void","_paramsInfo":""},"parameters":[],"returnValue":{},"$type":"NodeCanvas.Tasks.Actions.ExecuteFunction_Multiplatform"},"_position":{"x":897.0,"y":277.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"6"},{"_action":{"method":{"_baseInfo":"GameLogic.Game.Core.Actor.ForkAgvActor|PutFinish|System.Void","_paramsInfo":""},"parameters":[],"returnValue":{},"$type":"NodeCanvas.Tasks.Actions.ExecuteFunction_Multiplatform"},"_position":{"x":1017.0,"y":276.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"7"}],"connections":[{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"3"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"4"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"5"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"6"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"7"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"}],"canvasGroups":[],"localBlackboard":{"_variables":{}},"derivedData":{"repeat":true,"$type":"NodeCanvas.BehaviourTrees.BehaviourTree+DerivedSerializationData"}}'
|
||||||
|
_objectReferences: []
|
||||||
|
_graphSource:
|
||||||
|
_version: 3.32
|
||||||
|
_category:
|
||||||
|
_comments:
|
||||||
|
_translation: {x: -397, y: 30}
|
||||||
|
_zoomFactor: 1
|
||||||
|
_haltSerialization: 0
|
||||||
|
_externalSerializationFile: {fileID: 0}
|
8
Assets/AssetRaw/Resources/Agv/ForkAGV.asset.meta
Normal file
8
Assets/AssetRaw/Resources/Agv/ForkAGV.asset.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b74e2974e4a134e4f9e3efdc39fbd559
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/AssetRaw/Resources/So/Shelf.meta
Normal file
8
Assets/AssetRaw/Resources/So/Shelf.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 38f70f293f649324b99d4d7f1f9bede0
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
115
Assets/AssetRaw/Resources/So/Shelf/shelfConfig_1.asset
Normal file
115
Assets/AssetRaw/Resources/So/Shelf/shelfConfig_1.asset
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 2dd819b1a17000747b98d533a289c5eb, type: 3}
|
||||||
|
m_Name: shelfConfig_1
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
serializationData:
|
||||||
|
SerializedFormat: 2
|
||||||
|
SerializedBytes:
|
||||||
|
ReferencedUnityObjects:
|
||||||
|
- {fileID: 7400000, guid: c005c0711278dbd4eafdb92b99794612, type: 2}
|
||||||
|
- {fileID: 7400000, guid: 35f948453d152a04986763f636b3c194, type: 2}
|
||||||
|
- {fileID: 7400000, guid: e9fa085935da61b4ba9a30d5b095cb45, type: 2}
|
||||||
|
- {fileID: 7400000, guid: c7c24aeb0ca291d4583b5e28baf58f80, type: 2}
|
||||||
|
- {fileID: 7400000, guid: b5ae0aa7adc17f54988962e81404e636, type: 2}
|
||||||
|
- {fileID: 7400000, guid: d933409f8eec3814bad938a7aad0ab37, type: 2}
|
||||||
|
SerializedBytesString:
|
||||||
|
Prefab: {fileID: 0}
|
||||||
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
|
PrefabModifications: []
|
||||||
|
SerializationNodes:
|
||||||
|
- Name: shelfAnimDatas
|
||||||
|
Entry: 7
|
||||||
|
Data: 0|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[GameLogic.ShelfRowAnimData,
|
||||||
|
Assembly-CSharp]], mscorlib
|
||||||
|
- Name: comparer
|
||||||
|
Entry: 7
|
||||||
|
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.Int32,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 3
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 3
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 2|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 10
|
||||||
|
Data: 0
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 10
|
||||||
|
Data: 1
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 1
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 3|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 10
|
||||||
|
Data: 2
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 10
|
||||||
|
Data: 3
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 4
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 4|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 10
|
||||||
|
Data: 4
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 10
|
||||||
|
Data: 5
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
deviceCode: DDJ01
|
||||||
|
deviceType: STACKER
|
||||||
|
groups: 010000000300000004000000
|
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: cab58bc1ec41bb7448d685f50bb5708b
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
107
Assets/AssetRaw/Resources/So/Shelf/shelfConfig_2.asset
Normal file
107
Assets/AssetRaw/Resources/So/Shelf/shelfConfig_2.asset
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 2dd819b1a17000747b98d533a289c5eb, type: 3}
|
||||||
|
m_Name: shelfConfig_2
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
serializationData:
|
||||||
|
SerializedFormat: 2
|
||||||
|
SerializedBytes:
|
||||||
|
ReferencedUnityObjects: []
|
||||||
|
SerializedBytesString:
|
||||||
|
Prefab: {fileID: 0}
|
||||||
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
|
PrefabModifications: []
|
||||||
|
SerializationNodes:
|
||||||
|
- Name: shelfAnimDatas
|
||||||
|
Entry: 7
|
||||||
|
Data: 0|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[GameLogic.ShelfRowAnimData,
|
||||||
|
Assembly-CSharp]], mscorlib
|
||||||
|
- Name: comparer
|
||||||
|
Entry: 7
|
||||||
|
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.Int32,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 3
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 6
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 2|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 5
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 3|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 7
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 4|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
groups: 050000000600000007000000
|
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 33bc2183695eea945a4d58fcb117937e
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
107
Assets/AssetRaw/Resources/So/Shelf/shelfConfig_3.asset
Normal file
107
Assets/AssetRaw/Resources/So/Shelf/shelfConfig_3.asset
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 2dd819b1a17000747b98d533a289c5eb, type: 3}
|
||||||
|
m_Name: shelfConfig_3
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
serializationData:
|
||||||
|
SerializedFormat: 2
|
||||||
|
SerializedBytes:
|
||||||
|
ReferencedUnityObjects: []
|
||||||
|
SerializedBytesString:
|
||||||
|
Prefab: {fileID: 0}
|
||||||
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
|
PrefabModifications: []
|
||||||
|
SerializationNodes:
|
||||||
|
- Name: shelfAnimDatas
|
||||||
|
Entry: 7
|
||||||
|
Data: 0|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[GameLogic.ShelfRowAnimData,
|
||||||
|
Assembly-CSharp]], mscorlib
|
||||||
|
- Name: comparer
|
||||||
|
Entry: 7
|
||||||
|
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.Int32,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 3
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 11
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 2|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 9
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 3|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 12
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 4|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
groups: 090000000b0000000c000000
|
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bddc52252ed26b8409ddb979e7c6d277
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
128
Assets/AssetRaw/Resources/So/Shelf/shelfConfig_4.asset
Normal file
128
Assets/AssetRaw/Resources/So/Shelf/shelfConfig_4.asset
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 2dd819b1a17000747b98d533a289c5eb, type: 3}
|
||||||
|
m_Name: shelfConfig_4
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
serializationData:
|
||||||
|
SerializedFormat: 2
|
||||||
|
SerializedBytes:
|
||||||
|
ReferencedUnityObjects: []
|
||||||
|
SerializedBytesString:
|
||||||
|
Prefab: {fileID: 0}
|
||||||
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
|
PrefabModifications: []
|
||||||
|
SerializationNodes:
|
||||||
|
- Name: shelfAnimDatas
|
||||||
|
Entry: 7
|
||||||
|
Data: 0|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[GameLogic.ShelfRowAnimData,
|
||||||
|
Assembly-CSharp]], mscorlib
|
||||||
|
- Name: comparer
|
||||||
|
Entry: 7
|
||||||
|
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.Int32,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 4
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 13
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 2|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 15
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 3|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 14
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 4|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 16
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 5|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
groups: 0d0000000e0000000f00000010000000
|
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9b9c33b937c2c70488884d364858a4d3
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
107
Assets/AssetRaw/Resources/So/Shelf/shelfConfig_5.asset
Normal file
107
Assets/AssetRaw/Resources/So/Shelf/shelfConfig_5.asset
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 2dd819b1a17000747b98d533a289c5eb, type: 3}
|
||||||
|
m_Name: shelfConfig_5
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
serializationData:
|
||||||
|
SerializedFormat: 2
|
||||||
|
SerializedBytes:
|
||||||
|
ReferencedUnityObjects: []
|
||||||
|
SerializedBytesString:
|
||||||
|
Prefab: {fileID: 0}
|
||||||
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
|
PrefabModifications: []
|
||||||
|
SerializationNodes:
|
||||||
|
- Name: shelfAnimDatas
|
||||||
|
Entry: 7
|
||||||
|
Data: 0|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[GameLogic.ShelfRowAnimData,
|
||||||
|
Assembly-CSharp]], mscorlib
|
||||||
|
- Name: comparer
|
||||||
|
Entry: 7
|
||||||
|
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.Int32,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 3
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 19
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 2|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 17
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 3|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 20
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 4|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
groups: 110000001300000014000000
|
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 73f70759e8ade1645a982f72ffe7ea7b
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
107
Assets/AssetRaw/Resources/So/Shelf/shelfConfig_6.asset
Normal file
107
Assets/AssetRaw/Resources/So/Shelf/shelfConfig_6.asset
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 2dd819b1a17000747b98d533a289c5eb, type: 3}
|
||||||
|
m_Name: shelfConfig_6
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
serializationData:
|
||||||
|
SerializedFormat: 2
|
||||||
|
SerializedBytes:
|
||||||
|
ReferencedUnityObjects: []
|
||||||
|
SerializedBytesString:
|
||||||
|
Prefab: {fileID: 0}
|
||||||
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
|
PrefabModifications: []
|
||||||
|
SerializationNodes:
|
||||||
|
- Name: shelfAnimDatas
|
||||||
|
Entry: 7
|
||||||
|
Data: 0|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[GameLogic.ShelfRowAnimData,
|
||||||
|
Assembly-CSharp]], mscorlib
|
||||||
|
- Name: comparer
|
||||||
|
Entry: 7
|
||||||
|
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.Int32,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 3
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 22
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 2|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 21
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 3|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 23
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 4|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
groups: 150000001600000017000000
|
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: fa210a939f5b7104ba4413a72638e695
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
107
Assets/AssetRaw/Resources/So/Shelf/shelfConfig_7.asset
Normal file
107
Assets/AssetRaw/Resources/So/Shelf/shelfConfig_7.asset
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 2dd819b1a17000747b98d533a289c5eb, type: 3}
|
||||||
|
m_Name: shelfConfig_7
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
serializationData:
|
||||||
|
SerializedFormat: 2
|
||||||
|
SerializedBytes:
|
||||||
|
ReferencedUnityObjects: []
|
||||||
|
SerializedBytesString:
|
||||||
|
Prefab: {fileID: 0}
|
||||||
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
|
PrefabModifications: []
|
||||||
|
SerializationNodes:
|
||||||
|
- Name: shelfAnimDatas
|
||||||
|
Entry: 7
|
||||||
|
Data: 0|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[GameLogic.ShelfRowAnimData,
|
||||||
|
Assembly-CSharp]], mscorlib
|
||||||
|
- Name: comparer
|
||||||
|
Entry: 7
|
||||||
|
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.Int32,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 3
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 27
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 2|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 25
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 3|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 28
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 4|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
groups: 190000001b0000001c000000
|
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7a9b8a706eab1c74f8f26c28448f41c9
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
107
Assets/AssetRaw/Resources/So/Shelf/shelfConfig_8.asset
Normal file
107
Assets/AssetRaw/Resources/So/Shelf/shelfConfig_8.asset
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 2dd819b1a17000747b98d533a289c5eb, type: 3}
|
||||||
|
m_Name: shelfConfig_8
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
serializationData:
|
||||||
|
SerializedFormat: 2
|
||||||
|
SerializedBytes:
|
||||||
|
ReferencedUnityObjects: []
|
||||||
|
SerializedBytesString:
|
||||||
|
Prefab: {fileID: 0}
|
||||||
|
PrefabModificationsReferencedUnityObjects: []
|
||||||
|
PrefabModifications: []
|
||||||
|
SerializationNodes:
|
||||||
|
- Name: shelfAnimDatas
|
||||||
|
Entry: 7
|
||||||
|
Data: 0|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[GameLogic.ShelfRowAnimData,
|
||||||
|
Assembly-CSharp]], mscorlib
|
||||||
|
- Name: comparer
|
||||||
|
Entry: 7
|
||||||
|
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.Int32,
|
||||||
|
mscorlib]], mscorlib
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 12
|
||||||
|
Data: 3
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 30
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 2|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 29
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 3|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 7
|
||||||
|
Data:
|
||||||
|
- Name: $k
|
||||||
|
Entry: 3
|
||||||
|
Data: 31
|
||||||
|
- Name: $v
|
||||||
|
Entry: 7
|
||||||
|
Data: 4|GameLogic.ShelfRowAnimData, Assembly-CSharp
|
||||||
|
- Name: stretch
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name: shrink
|
||||||
|
Entry: 6
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 13
|
||||||
|
Data:
|
||||||
|
- Name:
|
||||||
|
Entry: 8
|
||||||
|
Data:
|
||||||
|
groups: 1d0000001e0000001f000000
|
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 803573dde1fe883479b2384da9193dbf
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
24
Assets/AssetRaw/Resources/So/ShelfMachineBehaviour.asset
Normal file
24
Assets/AssetRaw/Resources/So/ShelfMachineBehaviour.asset
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
38
Assets/GameLogic/Game/Common/Enum/CarTaskStatusEnum.cs
Normal file
38
Assets/GameLogic/Game/Common/Enum/CarTaskStatusEnum.cs
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
using Sirenix.OdinInspector;
|
||||||
|
|
||||||
|
namespace GameLogic.Game.Common.Enum
|
||||||
|
{
|
||||||
|
public enum CarTaskStatusEnum
|
||||||
|
{
|
||||||
|
//待机
|
||||||
|
[LabelText("待机")] Standby = 0,
|
||||||
|
|
||||||
|
//取货中
|
||||||
|
[LabelText("取货中")] Taking = 1,
|
||||||
|
|
||||||
|
//申请取货
|
||||||
|
[LabelText("申请取货")] ApplyTake = 2,
|
||||||
|
|
||||||
|
//取货完成
|
||||||
|
[LabelText("取货完成")] TakeFinished = 3,
|
||||||
|
|
||||||
|
//放货中
|
||||||
|
[LabelText("放货中")] Put = 4,
|
||||||
|
|
||||||
|
//申请放货
|
||||||
|
[LabelText("申请放货")] ApplyPut = 5,
|
||||||
|
|
||||||
|
//放货完成
|
||||||
|
[LabelText("放货完成")] PutFinished = 6,
|
||||||
|
|
||||||
|
//任务异常完成
|
||||||
|
[LabelText("任务异常完成")] ErorrFinnshed = 7,
|
||||||
|
|
||||||
|
//异常
|
||||||
|
[LabelText("异常")] Exception = 8,
|
||||||
|
|
||||||
|
//作废
|
||||||
|
[LabelText("作废")] Derrecate = 9,
|
||||||
|
[LabelText("下发")] Sent = 10,
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e53536149b914d3ea29ba75a286d8b16
|
||||||
|
timeCreated: 1746687476
|
@ -1,9 +0,0 @@
|
|||||||
using Sirenix.OdinInspector;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
public enum ShelfActionType
|
|
||||||
{
|
|
||||||
[LabelText("ÎÞ")]None,
|
|
||||||
[LabelText("×°»õ")]Load,
|
|
||||||
[LabelText("ж»õ")]UnLoad
|
|
||||||
}
|
|
12
Assets/GameLogic/Game/Common/Enum/ShelfToolActionType.cs
Normal file
12
Assets/GameLogic/Game/Common/Enum/ShelfToolActionType.cs
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
using Sirenix.OdinInspector;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace GameLogic
|
||||||
|
{
|
||||||
|
public enum ShelfToolActionType
|
||||||
|
{
|
||||||
|
[LabelText("ÎÞ")] None,
|
||||||
|
[LabelText("×°»õ")] Load,
|
||||||
|
[LabelText("ж»õ")] UnLoad
|
||||||
|
}
|
||||||
|
}
|
10
Assets/GameLogic/Game/Common/Enum/ToolActionType.cs
Normal file
10
Assets/GameLogic/Game/Common/Enum/ToolActionType.cs
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
using Sirenix.OdinInspector;
|
||||||
|
|
||||||
|
namespace GameLogic
|
||||||
|
{
|
||||||
|
public enum ToolActionType : int
|
||||||
|
{
|
||||||
|
[LabelText("放下")]PutDown = 0,
|
||||||
|
[LabelText("拿起")]PickUp = 1,
|
||||||
|
}
|
||||||
|
}
|
3
Assets/GameLogic/Game/Common/Enum/ToolActionType.cs.meta
Normal file
3
Assets/GameLogic/Game/Common/Enum/ToolActionType.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2bcef26c07d84c549bda615a07a7a513
|
||||||
|
timeCreated: 1746688068
|
8
Assets/GameLogic/Game/Core/Action.meta
Normal file
8
Assets/GameLogic/Game/Core/Action.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8bcec70abd0c9b04baa65d498b358755
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/GameLogic/Game/Core/Action/Agv.meta
Normal file
8
Assets/GameLogic/Game/Core/Action/Agv.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8095eb779eeebb6489b408a4ffa678c0
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -1,7 +1,33 @@
|
|||||||
|
using System;
|
||||||
using Sirenix.OdinInspector;
|
using Sirenix.OdinInspector;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
public class Actor : MonoBehaviour
|
namespace GameLogic
|
||||||
{
|
{
|
||||||
[LabelText("标识id")]public int _id = 0;
|
public class Actor : MonoBehaviour
|
||||||
|
{
|
||||||
|
[LabelText("标识id")]public int _id = 0;
|
||||||
|
|
||||||
|
#region 生命周期
|
||||||
|
protected virtual void OnLoad(){}
|
||||||
|
protected virtual void OnUpdate(){}
|
||||||
|
protected virtual void RegisterEvent(){}
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
OnLoad();
|
||||||
|
RegisterEvent();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private void Update()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
@ -6,85 +7,119 @@ using Cysharp.Threading.Tasks;
|
|||||||
using Sirenix.OdinInspector;
|
using Sirenix.OdinInspector;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
public class ActorMgr : Singleton<ActorMgr>
|
namespace GameLogic
|
||||||
{
|
{
|
||||||
[ShowInInspector,LabelText("所有货物")]private Dictionary<string,ContainerInfo> _containerInfos = new Dictionary<string,ContainerInfo>();
|
public class ActorMgr : Singleton<ActorMgr>
|
||||||
[ShowInInspector,LabelText("所有货架")]private List<ShelfActor> _shelfActors = new List<ShelfActor>();
|
{
|
||||||
|
[ShowInInspector, LabelText("所有货物")]
|
||||||
|
private Dictionary<string, ContainerInfo> _containerInfos = new Dictionary<string, ContainerInfo>();
|
||||||
|
|
||||||
protected override void OnLoad()
|
[ShowInInspector, LabelText("所有货架")] private List<ShelfActor> _shelfActors = new List<ShelfActor>();
|
||||||
{
|
|
||||||
base.OnLoad();
|
|
||||||
InitData().Forget();
|
|
||||||
}
|
|
||||||
|
|
||||||
private async UniTaskVoid InitData()
|
|
||||||
{
|
|
||||||
await UniTask.Yield();
|
|
||||||
await InitShelf();
|
|
||||||
await InitContainer();
|
|
||||||
}
|
|
||||||
|
|
||||||
private async UniTask InitShelf()
|
|
||||||
{
|
|
||||||
var shelfs = GameObject.FindObjectsByType<ShelfActor>(FindObjectsSortMode.None);
|
|
||||||
_shelfActors = shelfs.ToList();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
protected override void OnLoad()
|
||||||
/// 生成容器
|
{
|
||||||
/// </summary>
|
base.OnLoad();
|
||||||
private async UniTask InitContainer()
|
InitData().Forget();
|
||||||
{
|
}
|
||||||
await UniTask.Yield();
|
|
||||||
List<GameObject> result = new List<GameObject>();
|
|
||||||
// 正则表达式:匹配
|
|
||||||
Regex regex = new Regex("^\\d{2}-\\d{2}-\\d{2}$");
|
|
||||||
foreach (GameObject obj in GameObject.FindObjectsByType<GameObject>(FindObjectsSortMode.InstanceID))
|
|
||||||
{
|
|
||||||
// 1. 检查名称是否匹配正则表达式
|
|
||||||
if (regex.IsMatch(obj.name))
|
|
||||||
{
|
|
||||||
var groups = obj.name.Split('-');
|
|
||||||
if (groups.Length != 3) break;
|
|
||||||
int row = int.Parse(groups[0]);
|
|
||||||
int column = int.Parse(groups[1]);
|
|
||||||
int layer = int.Parse(groups[2]);
|
|
||||||
var containerInfo = ContainerFactory.CreateInfo(obj, GetShelfBySort(row),row,column,layer);
|
|
||||||
_containerInfos.Add(obj.name,containerInfo);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
private async UniTaskVoid InitData()
|
||||||
|
{
|
||||||
|
await UniTask.Yield();
|
||||||
|
await InitShelf();
|
||||||
|
await InitContainer();
|
||||||
|
}
|
||||||
|
|
||||||
#region 方法
|
private async UniTask InitShelf()
|
||||||
/// <summary>
|
{
|
||||||
/// 根据排号 获取 相应的货架
|
var shelfs = GameObject.FindObjectsByType<ShelfActor>(FindObjectsSortMode.None);
|
||||||
/// </summary>
|
_shelfActors = shelfs.ToList();
|
||||||
/// <param name="sortId"></param>
|
}
|
||||||
/// <returns></returns>
|
|
||||||
private ShelfActor GetShelfBySort(int sortId)
|
|
||||||
{
|
|
||||||
foreach (ShelfActor shelfActor in _shelfActors)
|
|
||||||
{
|
|
||||||
if (shelfActor.IsContainGroup(sortId))
|
|
||||||
{
|
|
||||||
return shelfActor;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
protected override void OnUpdate()
|
||||||
}
|
{
|
||||||
|
base.OnUpdate();
|
||||||
#endregion
|
// if (Input.GetKeyDown(KeyCode.R))
|
||||||
|
// {
|
||||||
|
// try
|
||||||
|
// {
|
||||||
|
// Debug.LogWarning("取货03-01-02");
|
||||||
|
// var co = _containerInfos["03-01-02"];
|
||||||
|
// //co.shelf.LoadTest(co,gameObject);
|
||||||
|
// }
|
||||||
|
// catch (Exception e)
|
||||||
|
// {
|
||||||
|
// Debug.LogWarning("货物不存在");
|
||||||
|
// throw;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// if (Input.GetKeyDown(KeyCode.T))
|
||||||
|
// {
|
||||||
|
// try
|
||||||
|
// {
|
||||||
|
// Debug.LogWarning("取货03-01-02");
|
||||||
|
// var co = _containerInfos["03-01-02"];
|
||||||
|
// co.shelf.UnLoadTest(co);
|
||||||
|
// }
|
||||||
|
// catch (Exception e)
|
||||||
|
// {
|
||||||
|
// Debug.LogWarning("货物不存在");
|
||||||
|
// throw;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 生成容器
|
||||||
|
/// </summary>
|
||||||
|
private async UniTask InitContainer()
|
||||||
|
{
|
||||||
|
await UniTask.Yield();
|
||||||
|
List<GameObject> result = new List<GameObject>();
|
||||||
|
// 正则表达式:匹配
|
||||||
|
Regex regex = new Regex("^\\d{2}-\\d{2}-\\d{2}$");
|
||||||
|
foreach (GameObject obj in GameObject.FindObjectsByType<GameObject>(FindObjectsSortMode.InstanceID))
|
||||||
|
{
|
||||||
|
// 1. 检查名称是否匹配正则表达式
|
||||||
|
if (regex.IsMatch(obj.name))
|
||||||
|
{
|
||||||
|
var groups = obj.name.Split('-');
|
||||||
|
if (groups.Length != 3) break;
|
||||||
|
int row = int.Parse(groups[0]);
|
||||||
|
int column = int.Parse(groups[1]);
|
||||||
|
int layer = int.Parse(groups[2]);
|
||||||
|
var containerInfo = ContainerFactory.CreateInfo(obj, GetShelfBySort(row), row, column, layer);
|
||||||
|
_containerInfos.Add(obj.name, containerInfo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
#region 方法
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 根据排号 获取 相应的货架
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sortId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
private ShelfActor GetShelfBySort(int sortId)
|
||||||
|
{
|
||||||
|
foreach (ShelfActor shelfActor in _shelfActors)
|
||||||
|
{
|
||||||
|
if (shelfActor.IsContainGroup(sortId))
|
||||||
|
{
|
||||||
|
return shelfActor;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
132
Assets/GameLogic/Game/Core/Actor/AgvActor.cs
Normal file
132
Assets/GameLogic/Game/Core/Actor/AgvActor.cs
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using BestHTTP;
|
||||||
|
using EasyInject.Attributes;
|
||||||
|
using GameLogic.Game.Data;
|
||||||
|
using GameLogic.Origin.data;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using Sirenix.OdinInspector;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public abstract class AgvActor : Actor
|
||||||
|
{
|
||||||
|
[LabelText("任务信息")] AgvTaskInfo _taskInfo;
|
||||||
|
[LabelText("异常信息")] string _errorMessage;
|
||||||
|
[Autowired] NetWorkComponent _netWork;
|
||||||
|
[LabelText("允许取货点位"),SerializeField] List<string> allowRows;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 待机
|
||||||
|
/// </summary>
|
||||||
|
public void Standby()
|
||||||
|
{
|
||||||
|
//AgvTaskListData.AgvTaskList;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 取货中
|
||||||
|
/// </summary>
|
||||||
|
public void Taking()
|
||||||
|
{
|
||||||
|
Debug.Log("取货中");
|
||||||
|
SendFeedBack();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 放货中
|
||||||
|
/// </summary>
|
||||||
|
public void Putting()
|
||||||
|
{
|
||||||
|
Debug.Log("放货中");
|
||||||
|
SendFeedBack();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 申请取货
|
||||||
|
/// </summary>
|
||||||
|
public void ApplyTake()
|
||||||
|
{
|
||||||
|
Debug.Log("申请取货");
|
||||||
|
SendFeedBack();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 取货完成
|
||||||
|
/// </summary>
|
||||||
|
public void TakeFinish()
|
||||||
|
{
|
||||||
|
Debug.Log("取货完成");
|
||||||
|
SendFeedBack();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 申请放货
|
||||||
|
/// </summary>
|
||||||
|
public void ApplyPut()
|
||||||
|
{
|
||||||
|
Debug.Log("申请放货");
|
||||||
|
SendFeedBack();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 放货完成
|
||||||
|
/// </summary>
|
||||||
|
public void PutFinish()
|
||||||
|
{
|
||||||
|
Debug.Log("放货完成");
|
||||||
|
SendFeedBack();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 反馈当前任务处理状态
|
||||||
|
/// </summary>
|
||||||
|
public void SendFeedBack()
|
||||||
|
{
|
||||||
|
AgvTaskFeedBack feedBackDto = new AgvTaskFeedBack
|
||||||
|
{
|
||||||
|
feedbackStatus = _taskInfo.agvTaskStatus.ToString(),
|
||||||
|
taskCode = _taskInfo.instructionCode,
|
||||||
|
carId = _taskInfo.carId
|
||||||
|
};
|
||||||
|
_netWork.RemoteFeedBackAgvTaskStatus(feedBackDto, OnFeedBack);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 接受反馈回调信息
|
||||||
|
/// </summary>
|
||||||
|
private void OnFeedBack(HTTPRequest originalRequest, HTTPResponse response)
|
||||||
|
{
|
||||||
|
if (response == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//请求成功
|
||||||
|
if (response.IsSuccess)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
//解析反馈
|
||||||
|
JObject result = JObject.Parse(response.DataAsText);
|
||||||
|
bool isSuccesss = bool.Parse(result["success"].ToString());
|
||||||
|
//后台处理反馈成功
|
||||||
|
if (isSuccesss)
|
||||||
|
{
|
||||||
|
//如果是放货完成动作了
|
||||||
|
if (_taskInfo.agvTaskStatus == AgvCarManage.CarTaskStatusEnum.PUT_FINISHED)
|
||||||
|
{
|
||||||
|
//赋值的变相清空
|
||||||
|
_taskInfo = new AgvTaskInfo();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_errorMessage = string.Format("{0} : 任务反馈异常 :{1}",name,response.DataAsText);
|
||||||
|
Debug.LogError(name + " 反馈 =" + response.DataAsText);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
2
Assets/GameLogic/Game/Core/Actor/AgvActor.cs.meta
Normal file
2
Assets/GameLogic/Game/Core/Actor/AgvActor.cs.meta
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: dc4c3161802fdeb4b99115b0b5e13adf
|
10
Assets/GameLogic/Game/Core/Actor/ForkAgvActor.cs
Normal file
10
Assets/GameLogic/Game/Core/Actor/ForkAgvActor.cs
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
namespace GameLogic.Game.Core.Actor
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// »õ²æÊ½AGV
|
||||||
|
/// </summary>
|
||||||
|
public class ForkAgvActor: AgvActor
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
3
Assets/GameLogic/Game/Core/Actor/ForkAgvActor.cs.meta
Normal file
3
Assets/GameLogic/Game/Core/Actor/ForkAgvActor.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8025c43585234c27af04174c38803211
|
||||||
|
timeCreated: 1746688482
|
@ -2,25 +2,108 @@ using System.Collections.Generic;
|
|||||||
using Sirenix.OdinInspector;
|
using Sirenix.OdinInspector;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
public class ShelfActor : Actor
|
namespace GameLogic
|
||||||
{
|
{
|
||||||
|
public class ShelfActor : Actor
|
||||||
[LabelText("货物所属工具组"),ShowInInspector] public List<int> _group = new List<int>();
|
|
||||||
|
|
||||||
|
|
||||||
public void LoadContainer()
|
|
||||||
{
|
{
|
||||||
|
|
||||||
|
[LabelText("配置文件"),ShowInInspector] public So_ShelfConfig _shelfConfig;
|
||||||
|
[LabelText("货物所属工具组"),ShowInInspector] public Dictionary<string,Transform> _stations = new Dictionary<string, Transform>();
|
||||||
|
|
||||||
|
[ShowInInspector]private ContainerInfo _currentContainerInfo = null;
|
||||||
|
|
||||||
|
private ShelfMachineToolActor _shelfMachineToolActor;
|
||||||
|
protected override void OnLoad()
|
||||||
|
{
|
||||||
|
base.OnLoad();
|
||||||
|
_shelfConfig = Resources.Load<So_ShelfConfig>(AssetLocationSetting.SoSelfConfig + _id);
|
||||||
|
_shelfMachineToolActor = GetComponentInChildren<ShelfMachineToolActor>();
|
||||||
|
InitStations();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 初始化装取货站台数据
|
||||||
|
/// </summary>
|
||||||
|
private void InitStations()
|
||||||
|
{
|
||||||
|
var stations = GameObject.FindGameObjectsWithTag(TagSetting.ShelfStation);
|
||||||
|
Debug.Log(stations.Length);
|
||||||
|
foreach (var stationGo in stations)
|
||||||
|
{
|
||||||
|
var stationData = stationGo.name.Split('-');
|
||||||
|
int row = int.Parse(stationData[0]);
|
||||||
|
int column = int.Parse(stationData[1]);
|
||||||
|
int layer = int.Parse(stationData[2]);
|
||||||
|
if (!IsContainGroup(row)) continue;
|
||||||
|
_stations.Add(stationGo.name,stationGo.transform);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 取货
|
||||||
|
/// </summary>
|
||||||
|
public void LoadContainer(string station,GameObject container,ContainerInfo coInfo)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 装货
|
||||||
|
/// </summary>
|
||||||
|
public void LoadTest(ContainerInfo container)
|
||||||
|
{
|
||||||
|
Debug.LogWarning("取货成功");
|
||||||
|
_currentContainerInfo = container;
|
||||||
|
Transform station = null;
|
||||||
|
foreach (var stationT in _stations.Values)
|
||||||
|
{
|
||||||
|
var containerPrefab = Resources.Load<GameObject>(AssetLocationSetting.ContainerPath);
|
||||||
|
GameObject go = Instantiate(containerPrefab);
|
||||||
|
container.container = go;
|
||||||
|
go.SetTransformNoScale(stationT);
|
||||||
|
|
||||||
|
station = stationT;
|
||||||
|
}
|
||||||
|
|
||||||
|
_shelfMachineToolActor.Load(station,container,_shelfConfig);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 取货
|
||||||
|
/// </summary>
|
||||||
|
public void UnLoadTest(ContainerInfo container)
|
||||||
|
{
|
||||||
|
Debug.LogWarning("取货成功");
|
||||||
|
_currentContainerInfo = container;
|
||||||
|
Transform station = null;
|
||||||
|
foreach (var stationT in _stations.Values)
|
||||||
|
{
|
||||||
|
// var containerPrefab = Resources.Load<GameObject>(AssetLocationSetting.ContainerPath);
|
||||||
|
// GameObject go = Instantiate(containerPrefab);
|
||||||
|
// container.container = go;
|
||||||
|
// go.SetTransformNoScale(stationT);
|
||||||
|
station = stationT;
|
||||||
|
}
|
||||||
|
_shelfMachineToolActor.UnLoad(station,container,_shelfConfig);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 判断这个货物是否包含这个组内
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="group"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool IsContainGroup(int group)
|
||||||
|
{
|
||||||
|
return _shelfConfig.groups.Contains(group);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 判断这个货物是否包含这个组内
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="group"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public bool IsContainGroup(int group)
|
|
||||||
{
|
|
||||||
return _group.Contains(group);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
346
Assets/GameLogic/Game/Core/Actor/ShelfMachineToolActor.cs
Normal file
346
Assets/GameLogic/Game/Core/Actor/ShelfMachineToolActor.cs
Normal file
@ -0,0 +1,346 @@
|
|||||||
|
using System;
|
||||||
|
using Animancer;
|
||||||
|
using GameLogic;
|
||||||
|
using NodeCanvas.BehaviourTrees;
|
||||||
|
using PrimeTween;
|
||||||
|
using Sirenix.OdinInspector;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.Serialization;
|
||||||
|
|
||||||
|
namespace GameLogic
|
||||||
|
{
|
||||||
|
public class ShelfMachineToolActor : Actor
|
||||||
|
{
|
||||||
|
[ShowInInspector,ReadOnly]private BehaviourTreeOwner _behaviourTreeOwner;
|
||||||
|
[ShowInInspector,ReadOnly]private ShelfToolActionType _actionType = ShelfToolActionType.None;
|
||||||
|
|
||||||
|
[ShowInInspector,ReadOnly] private float _moveSpeed = 200;
|
||||||
|
[ShowInInspector,ReadOnly] private float _moveSeconds = 0;
|
||||||
|
|
||||||
|
|
||||||
|
[Title("外部赋值参数")]
|
||||||
|
[ShowInInspector,ReadOnly] private So_ShelfConfig _shelfconfig = null;
|
||||||
|
[ShowInInspector,ReadOnly] private ShelfRowAnimData _shelfRowAnimData = null;
|
||||||
|
[ShowInInspector,ReadOnly]private Transform _station;
|
||||||
|
[ShowInInspector,ReadOnly]private ContainerInfo _currentContainerInfo;
|
||||||
|
|
||||||
|
[Title("私有参数")]
|
||||||
|
[ShowInInspector,ReadOnly] private bool _isPlayingAnim = false;
|
||||||
|
[ShowInInspector,ReadOnly] private Transform _containerPlaceToolParent = null;
|
||||||
|
[LabelText("堆垛机拿取货物动画上偏移"),ShowInInspector,ReadOnly] public float _loadPickUpOffest = 0.2F;
|
||||||
|
[LabelText("堆垛机放下货物动画下偏移"),ShowInInspector,ReadOnly] public float _loadPutDownOffest = 0.2F;
|
||||||
|
[LabelText("堆垛机卸货拿取货物动画上偏移"),ShowInInspector,ReadOnly] public float _UnloadPickUpOffest = 0.2F;
|
||||||
|
[LabelText("堆垛机卸货放下货物动画下偏移"),ShowInInspector,ReadOnly] public float _UnloadPutDownOffest = 0.2F;
|
||||||
|
[ShowInInspector] private Vector3 _initPosition;
|
||||||
|
[ShowInInspector,ReadOnly]private bool _isRunning = false;
|
||||||
|
[ShowInInspector] private Tween _defaultPosTween;
|
||||||
|
|
||||||
|
[Title("一些组件参数")]
|
||||||
|
private Transform _caroparent;
|
||||||
|
private AnimancerComponent _animancer;
|
||||||
|
|
||||||
|
[Title("装货行为树参数")]
|
||||||
|
[ShowInInspector,BoxGroup("Load"),ReadOnly]private bool _isEnableArriveStationPositionComplete = false;
|
||||||
|
[ShowInInspector,BoxGroup("Load"),ReadOnly]private bool _isEnablePickUpAnimationComplete = false;
|
||||||
|
[ShowInInspector,BoxGroup("Load"),ReadOnly]private bool _isEnableArriveContainerPositionComplete = false;
|
||||||
|
[ShowInInspector,BoxGroup("Load"),ReadOnly]private bool _isEnablePutDownAnimationComplete = false;
|
||||||
|
|
||||||
|
protected override void OnLoad()
|
||||||
|
{
|
||||||
|
base.OnLoad();
|
||||||
|
_behaviourTreeOwner = GetComponent<BehaviourTreeOwner>();
|
||||||
|
_animancer = GetComponent<AnimancerComponent>();
|
||||||
|
_caroparent = transform.Find("Caro-parent").Find("Cargo");
|
||||||
|
_containerPlaceToolParent = _caroparent.Find("fork").Find("k");
|
||||||
|
|
||||||
|
_loadPickUpOffest = 0.1F;
|
||||||
|
_loadPutDownOffest = 0.2F;
|
||||||
|
_UnloadPickUpOffest = 0.08F;
|
||||||
|
_UnloadPutDownOffest = 0.2F;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void RegisterEvent()
|
||||||
|
{
|
||||||
|
base.RegisterEvent();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDestroy()
|
||||||
|
{
|
||||||
|
// GameEvent.RemoveListener(EventSetting.PlayStretchComplete,PlayLoadStretchComplete);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 私有公共方法
|
||||||
|
/// <summary>
|
||||||
|
/// 计算速度
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="distance"></param>
|
||||||
|
private void CalculateSpeedSecond(float distance)
|
||||||
|
{
|
||||||
|
_moveSeconds = distance / (_moveSpeed*Time.deltaTime);
|
||||||
|
}
|
||||||
|
private AnimationEvent[] GetAnimationEvent(string functionName,ToolActionType actionType)
|
||||||
|
{
|
||||||
|
AnimationEvent evt = _shelfRowAnimData.stretch.events[0];
|
||||||
|
evt.functionName = functionName;
|
||||||
|
evt.intParameter = (int)actionType;
|
||||||
|
return new AnimationEvent[] { evt };
|
||||||
|
}
|
||||||
|
private void SetUp(Transform station, ContainerInfo containerInfo, So_ShelfConfig config)
|
||||||
|
{
|
||||||
|
|
||||||
|
_station = station;
|
||||||
|
_currentContainerInfo = containerInfo;
|
||||||
|
_shelfconfig = config;
|
||||||
|
}
|
||||||
|
private void ResetRuntimeParam()
|
||||||
|
{
|
||||||
|
_isPlayingAnim = false;
|
||||||
|
}
|
||||||
|
private void Reset()
|
||||||
|
{
|
||||||
|
_isRunning = false;
|
||||||
|
_isEnableArriveStationPositionComplete = false;
|
||||||
|
_isEnablePickUpAnimationComplete = false;
|
||||||
|
_isEnableArriveContainerPositionComplete = false;
|
||||||
|
_isEnablePutDownAnimationComplete = false;
|
||||||
|
_shelfconfig = null;
|
||||||
|
_shelfRowAnimData = null;
|
||||||
|
_station = null;
|
||||||
|
_currentContainerInfo = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 装货
|
||||||
|
/// <summary>
|
||||||
|
/// 装货
|
||||||
|
/// </summary>
|
||||||
|
public void Load(Transform station,ContainerInfo containerInfo,So_ShelfConfig config)
|
||||||
|
{
|
||||||
|
if(_isRunning) return;
|
||||||
|
_actionType = ShelfToolActionType.Load;
|
||||||
|
SetUp(station, containerInfo, config);
|
||||||
|
_behaviourTreeOwner.StartBehaviour();
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 装货开始
|
||||||
|
/// </summary>
|
||||||
|
public void LoadStart()
|
||||||
|
{
|
||||||
|
GameEvent.AddListener(EventSetting.PlayStretchPickUpComplete,PlayLoadStretchPickUpComplete);
|
||||||
|
GameEvent.AddListener(EventSetting.PlayStretchPutDownComplete,PlayLoadStretchPutDownComplete);
|
||||||
|
GameEvent.AddListener(EventSetting.PlayShrinkPickUpComplete,PlayShrinkPickUpComplete);
|
||||||
|
GameEvent.AddListener(EventSetting.PlayShrinkPutDownComplete,PlayShrinkPutDownComplete);
|
||||||
|
_initPosition = transform.position;
|
||||||
|
Tween.StopAll(transform);
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 结束装货
|
||||||
|
/// </summary>
|
||||||
|
public void LoadEnd()
|
||||||
|
{
|
||||||
|
GameEvent.RemoveListener(EventSetting.PlayStretchPickUpComplete,PlayLoadStretchPickUpComplete);
|
||||||
|
GameEvent.RemoveListener(EventSetting.PlayStretchPutDownComplete,PlayLoadStretchPickUpComplete);
|
||||||
|
GameEvent.RemoveListener(EventSetting.PlayShrinkPickUpComplete,PlayShrinkPickUpComplete);
|
||||||
|
GameEvent.RemoveListener(EventSetting.PlayShrinkPutDownComplete,PlayShrinkPutDownComplete);
|
||||||
|
Reset();
|
||||||
|
Debug.Log("结束装货");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
#region 取货
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 取货
|
||||||
|
/// </summary>
|
||||||
|
public void UnLoad(Transform station,ContainerInfo containerInfo,So_ShelfConfig config)
|
||||||
|
{
|
||||||
|
if(_isRunning) return;
|
||||||
|
_actionType = ShelfToolActionType.UnLoad;
|
||||||
|
SetUp(station, containerInfo, config);
|
||||||
|
_behaviourTreeOwner.StartBehaviour();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 1: 取货开始
|
||||||
|
/// </summary>
|
||||||
|
public void UnLoadStart()
|
||||||
|
{
|
||||||
|
GameEvent.AddListener(EventSetting.PlayStretchPickUpComplete,PlayUnLoadStretchPickUpComplete);
|
||||||
|
GameEvent.AddListener(EventSetting.PlayStretchPutDownComplete, PlayUnLoadStretchPutDownComplete);
|
||||||
|
GameEvent.AddListener(EventSetting.PlayShrinkPickUpComplete,PlayShrinkPickUpComplete);
|
||||||
|
GameEvent.AddListener(EventSetting.PlayShrinkPutDownComplete,PlayShrinkPutDownComplete);
|
||||||
|
_initPosition = transform.position;
|
||||||
|
Tween.StopAll(transform);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 6:取货结束
|
||||||
|
/// </summary>
|
||||||
|
public void UnLoadEnd()
|
||||||
|
{
|
||||||
|
GameEvent.RemoveListener(EventSetting.PlayStretchPickUpComplete,PlayUnLoadStretchPickUpComplete);
|
||||||
|
GameEvent.RemoveListener(EventSetting.PlayStretchPutDownComplete, PlayUnLoadStretchPutDownComplete);
|
||||||
|
GameEvent.RemoveListener(EventSetting.PlayShrinkPickUpComplete,PlayShrinkPickUpComplete);
|
||||||
|
GameEvent.RemoveListener(EventSetting.PlayShrinkPutDownComplete,PlayShrinkPutDownComplete);
|
||||||
|
Reset();
|
||||||
|
Debug.Log("结束卸货");
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 装货卸货(拿取卸下动画)
|
||||||
|
private void PlayLoadStretchPickUpComplete(object data)
|
||||||
|
{
|
||||||
|
Debug.Log("伸动画完成");
|
||||||
|
_currentContainerInfo.container.SetParent(_containerPlaceToolParent);
|
||||||
|
Tween.LocalPosition(_currentContainerInfo.container.transform, Vector3.zero, 0.1f);
|
||||||
|
Tween.PositionY(_caroparent, _caroparent.transform.position.y+_loadPickUpOffest, 1f).OnComplete(() =>
|
||||||
|
{
|
||||||
|
_shelfRowAnimData.shrink.events = GetAnimationEvent("PlayShrinkComplete",ToolActionType.PickUp);
|
||||||
|
_animancer.Play(_shelfRowAnimData.shrink);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PlayLoadStretchPutDownComplete(object data)
|
||||||
|
{
|
||||||
|
Debug.Log("开始放置动画");
|
||||||
|
//Tween.LocalPosition(_currentContainerInfo.container.transform, Vector3.zero, 0.1f);
|
||||||
|
Tween.PositionY(_caroparent, _caroparent.transform.position.y - _loadPutDownOffest + 0.08f, 1f).OnComplete(() =>
|
||||||
|
{
|
||||||
|
_currentContainerInfo.container.gameObject.SetParent(_currentContainerInfo.mapContainer.transform);
|
||||||
|
_shelfRowAnimData.shrink.events = GetAnimationEvent("PlayShrinkComplete",ToolActionType.PutDown);
|
||||||
|
_animancer.Play(_shelfRowAnimData.shrink);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PlayUnLoadStretchPickUpComplete(object data)
|
||||||
|
{
|
||||||
|
Debug.Log("伸动画完成");
|
||||||
|
_currentContainerInfo.container.SetParent(_containerPlaceToolParent);
|
||||||
|
Tween.LocalPosition(_currentContainerInfo.container.transform, Vector3.zero, 0.1f);
|
||||||
|
Tween.PositionY(_caroparent, _caroparent.transform.position.y+_loadPickUpOffest, 1f).OnComplete(() =>
|
||||||
|
{
|
||||||
|
_shelfRowAnimData.shrink.events = GetAnimationEvent("PlayShrinkComplete",ToolActionType.PickUp);
|
||||||
|
_animancer.Play(_shelfRowAnimData.shrink);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PlayUnLoadStretchPutDownComplete(object data)
|
||||||
|
{
|
||||||
|
Debug.Log("开始放置动画");
|
||||||
|
//Tween.LocalPosition(_currentContainerInfo.container.transform, Vector3.zero, 0.1f);
|
||||||
|
Tween.PositionY(_caroparent, _caroparent.transform.position.y - _loadPutDownOffest + 0.08f, 1f).OnComplete(() =>
|
||||||
|
{
|
||||||
|
_currentContainerInfo.container.gameObject.SetParent(_currentContainerInfo.mapContainer.transform);
|
||||||
|
_shelfRowAnimData.shrink.events = GetAnimationEvent("PlayShrinkComplete",ToolActionType.PutDown);
|
||||||
|
_animancer.Play(_shelfRowAnimData.shrink);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
#region 公共动画事件
|
||||||
|
|
||||||
|
public void PlayShrinkPickUpComplete(object data)
|
||||||
|
{
|
||||||
|
_isEnablePickUpAnimationComplete = true;
|
||||||
|
ResetRuntimeParam();
|
||||||
|
}
|
||||||
|
public void PlayShrinkPutDownComplete(object data)
|
||||||
|
{
|
||||||
|
_isEnablePutDownAnimationComplete= true;
|
||||||
|
ResetRuntimeParam();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
#region 公共行为步骤
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 步骤: 移动到站台位置
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool EnableArriveStationPositionComplete(float offest)
|
||||||
|
{
|
||||||
|
_isRunning = true;
|
||||||
|
if (_isEnableArriveStationPositionComplete) return true;
|
||||||
|
if (!_isPlayingAnim)
|
||||||
|
{
|
||||||
|
_isPlayingAnim = true;
|
||||||
|
CalculateSpeedSecond(Vector3.Distance(transform.position, _station.position));
|
||||||
|
Tween.PositionX(transform, _station.position.x, _moveSeconds,Ease.Linear).OnComplete(()=>
|
||||||
|
{
|
||||||
|
Debug.Log("到达站点位置");
|
||||||
|
_isEnableArriveStationPositionComplete = true;
|
||||||
|
ResetRuntimeParam();
|
||||||
|
});
|
||||||
|
Tween.PositionY(_caroparent, _station.position.y + offest, _moveSeconds, Ease.Linear);
|
||||||
|
}
|
||||||
|
return _isEnableArriveStationPositionComplete;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 步骤: 开启装货动画
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool EnableLoadPickUpAnimation()
|
||||||
|
{
|
||||||
|
if (_isEnablePickUpAnimationComplete) return true;
|
||||||
|
if (!_isPlayingAnim)
|
||||||
|
{
|
||||||
|
Debug.Log("开始装货");
|
||||||
|
_isPlayingAnim = true;
|
||||||
|
_shelfRowAnimData = _shelfconfig.GetAnimaData(DataUtility.GetRow(_station.name));
|
||||||
|
_shelfRowAnimData.stretch.events = GetAnimationEvent("PlayStretchComplete",ToolActionType.PickUp);
|
||||||
|
_animancer.Play(_shelfRowAnimData.stretch);
|
||||||
|
}
|
||||||
|
return _isEnablePickUpAnimationComplete;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 步骤:移动到容器位置
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool EnableArriveContainerPosition(float offest)
|
||||||
|
{
|
||||||
|
if (_isEnableArriveContainerPositionComplete) return true;
|
||||||
|
if (!_isPlayingAnim)
|
||||||
|
{
|
||||||
|
_isPlayingAnim = true;
|
||||||
|
CalculateSpeedSecond(Vector3.Distance(transform.position,_currentContainerInfo.mapContainer.transform.position));
|
||||||
|
Debug.Log($"移动时间{_moveSeconds}");
|
||||||
|
Tween.PositionX(transform, _currentContainerInfo.mapContainer.transform.position.x, _moveSeconds,Ease.Linear).OnComplete(()=>
|
||||||
|
{
|
||||||
|
Debug.Log("到达货物放置位置");
|
||||||
|
_isEnableArriveContainerPositionComplete = true;
|
||||||
|
ResetRuntimeParam();
|
||||||
|
});
|
||||||
|
Tween.PositionY(_caroparent, _currentContainerInfo.mapContainer.transform.position.y + offest, _moveSeconds, Ease.Linear);
|
||||||
|
}
|
||||||
|
return _isEnableArriveContainerPositionComplete;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 步骤:启动放货动画
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="actionType"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool EnableLoadPutDownAnimation()
|
||||||
|
{
|
||||||
|
if (_isEnablePutDownAnimationComplete) return true;
|
||||||
|
if (!_isPlayingAnim)
|
||||||
|
{
|
||||||
|
_isPlayingAnim = true;
|
||||||
|
_shelfRowAnimData.stretch.events = GetAnimationEvent("PlayStretchComplete",ToolActionType.PutDown);
|
||||||
|
_animancer.Play(_shelfRowAnimData.stretch);
|
||||||
|
}
|
||||||
|
return _isEnablePutDownAnimationComplete;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a0e58b47bf55898428028fa90be72aa2
|
8
Assets/GameLogic/Game/Core/Component.meta
Normal file
8
Assets/GameLogic/Game/Core/Component.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0084f04044682644a82e08aa38fd3db2
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -0,0 +1,63 @@
|
|||||||
|
using System;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace GameLogic
|
||||||
|
{
|
||||||
|
public class AnimationEventComponent : MonoBehaviour
|
||||||
|
{
|
||||||
|
public void PlayStretchComplete(int data)
|
||||||
|
{
|
||||||
|
if (Enum.IsDefined(typeof(ToolActionType), data))
|
||||||
|
{
|
||||||
|
ToolActionType action = (ToolActionType)data;
|
||||||
|
Debug.Log($"Received ToolActionType: {action}");
|
||||||
|
|
||||||
|
switch (action)
|
||||||
|
{
|
||||||
|
case ToolActionType.PickUp:
|
||||||
|
GameEvent.Send(EventSetting.PlayStretchPickUpComplete);
|
||||||
|
break;
|
||||||
|
case ToolActionType.PutDown:
|
||||||
|
GameEvent.Send(EventSetting.PlayStretchPutDownComplete);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Debug.LogWarning($"Unhandled ToolActionType: {action}");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.LogWarning($"Invalid ToolActionType value: {data}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void PlayShrinkComplete(int data)
|
||||||
|
{
|
||||||
|
if (Enum.IsDefined(typeof(ToolActionType), data))
|
||||||
|
{
|
||||||
|
ToolActionType action = (ToolActionType)data;
|
||||||
|
Debug.Log($"Received ToolActionType: {action}");
|
||||||
|
|
||||||
|
switch (action)
|
||||||
|
{
|
||||||
|
case ToolActionType.PickUp:
|
||||||
|
GameEvent.Send(EventSetting.PlayShrinkPickUpComplete);
|
||||||
|
break;
|
||||||
|
case ToolActionType.PutDown:
|
||||||
|
GameEvent.Send(EventSetting.PlayShrinkPutDownComplete);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Debug.LogWarning($"Unhandled ToolActionType: {action}");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.LogWarning($"Invalid ToolActionType value: {data}");
|
||||||
|
}
|
||||||
|
Debug.Log("Ëõ¶¯»Íê³É");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6e8ba6bad3c56e84d878078b440529f3
|
@ -0,0 +1,55 @@
|
|||||||
|
using System;
|
||||||
|
using EasyInject.Attributes;
|
||||||
|
using GameLogic;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using NUnit.Framework;
|
||||||
|
using Sirenix.OdinInspector;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
|
||||||
|
[GameObjectBean(ENameType.GameObjectName)]
|
||||||
|
public class ShelfNetListenerComponent : MonoBehaviour,IWcsSocketDataHandle
|
||||||
|
{
|
||||||
|
public Transform Transform { get; }
|
||||||
|
public DeviceData DeviceData { get; }
|
||||||
|
public T DynamicData<T>()
|
||||||
|
{
|
||||||
|
throw new System.NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
[ShowInInspector]public string DeviceCode => _deviceCode;
|
||||||
|
[ShowInInspector]public string DeviceType => _deviceType;
|
||||||
|
|
||||||
|
private string _deviceCode ;
|
||||||
|
private string _deviceType;
|
||||||
|
|
||||||
|
public event IDevice.DataChangeEvent DataChange;
|
||||||
|
public event IDevice.DataChangeEvent ErrorMessage;
|
||||||
|
|
||||||
|
[ShowInInspector]public ShelfActor _shelfActor;
|
||||||
|
|
||||||
|
private void Start()
|
||||||
|
{
|
||||||
|
_shelfActor = GetComponent<ShelfActor>();
|
||||||
|
_deviceCode = _shelfActor._shelfConfig.deviceCode;
|
||||||
|
_deviceType = _shelfActor._shelfConfig.deviceType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void DataHandle(object data, object other = null)
|
||||||
|
{
|
||||||
|
Debug.Log("DataHandle");
|
||||||
|
// if (string.IsNullOrEmpty(_deviceCode) || _deviceCode.Length <=0) return;
|
||||||
|
// //if (! (data is StackerData stackerData)) return;
|
||||||
|
// //½ÓÊÕÊý¾Ý
|
||||||
|
// var stackerData = JsonConvert.DeserializeObject<StackerData>(JsonConvert.SerializeObject(data));
|
||||||
|
// //frontHasGoodsDesc = stackerData.frontForkHasGoods == true ? "ǰ²æÓлõ" : "ÎÞ»õ";
|
||||||
|
// var deviceData = JsonConvert.DeserializeObject<DeviceData>(JsonConvert.SerializeObject(other));
|
||||||
|
// Debug.Log(StackerDeviceDataUtility.GetPositionInfo(stackerData));
|
||||||
|
// if (stackerData.frontForkHasGoods);
|
||||||
|
// {
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 20e0d00e57698f84887368e168629083
|
15
Assets/GameLogic/Game/Data/AgvTaskFeedBack.cs
Normal file
15
Assets/GameLogic/Game/Data/AgvTaskFeedBack.cs
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
using Sirenix.OdinInspector;
|
||||||
|
|
||||||
|
namespace GameLogic.Game.Data
|
||||||
|
{
|
||||||
|
public class AgvTaskFeedBack
|
||||||
|
{
|
||||||
|
[LabelText("系统代码")] public string systemCode = "DT";
|
||||||
|
[LabelText("库代码")] public string houseCode = "DT";
|
||||||
|
[LabelText("任号")] public long taskCode;
|
||||||
|
[LabelText("小车id")] public string carId;
|
||||||
|
[LabelText("任务类型")] public string taskType;
|
||||||
|
[LabelText("反馈状态码")] public string feedbackStatus;
|
||||||
|
[LabelText("反馈站台号")] public string feedbackLocation;
|
||||||
|
}
|
||||||
|
}
|
3
Assets/GameLogic/Game/Data/AgvTaskFeedBack.cs.meta
Normal file
3
Assets/GameLogic/Game/Data/AgvTaskFeedBack.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f62522936e12422ba7566c095ac1cdf0
|
||||||
|
timeCreated: 1746689862
|
@ -2,7 +2,7 @@ using System;
|
|||||||
using static AgvCarManage;
|
using static AgvCarManage;
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
|
|
||||||
public class AgvTaskData
|
public class AgvTaskInfo
|
||||||
{
|
{
|
||||||
|
|
||||||
public long instructionId;
|
public long instructionId;
|
||||||
@ -31,7 +31,7 @@ public class AgvTaskData
|
|||||||
|
|
||||||
public override bool Equals(object obj)
|
public override bool Equals(object obj)
|
||||||
{
|
{
|
||||||
return obj is AgvTaskData data &&
|
return obj is AgvTaskInfo data &&
|
||||||
instructionId == data.instructionId &&
|
instructionId == data.instructionId &&
|
||||||
instructionCode == data.instructionCode;
|
instructionCode == data.instructionCode;
|
||||||
}
|
}
|
@ -1,20 +1,18 @@
|
|||||||
|
using Sirenix.OdinInspector;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
using Sirenix.OdinInspector;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.Serialization;
|
||||||
|
|
||||||
|
namespace GameLogic
|
||||||
|
|
||||||
[System.Serializable]
|
|
||||||
public class ContainerInfo
|
|
||||||
{
|
{
|
||||||
[LabelText("货物")]public GameObject container;
|
[System.Serializable]
|
||||||
[LabelText("货架")] public ShelfActor shelf;
|
public class ContainerInfo
|
||||||
|
{
|
||||||
|
[LabelText("货物")] public GameObject mapContainer;
|
||||||
|
[LabelText("货物")] public GameObject container;
|
||||||
|
[LabelText("货架")] public ShelfActor shelf;
|
||||||
|
|
||||||
[LabelText("货架排")]public int shelfRow;
|
[LabelText("货架排")] public int shelfRow;
|
||||||
[LabelText("货架列")]public int shelColumn;
|
[LabelText("货架列")] public int shelColumn;
|
||||||
[LabelText("货架层")]public int shelfLayer;
|
[LabelText("货架层")] public int shelfLayer;
|
||||||
|
}
|
||||||
}
|
}
|
19
Assets/GameLogic/Game/Data/ShelfRowAnimData.cs
Normal file
19
Assets/GameLogic/Game/Data/ShelfRowAnimData.cs
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
using Sirenix.OdinInspector;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace GameLogic
|
||||||
|
{
|
||||||
|
[System.Serializable]
|
||||||
|
public class ShelfRowAnimData
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 伸动画
|
||||||
|
/// </summary>
|
||||||
|
[LabelText("伸动画")] public AnimationClip stretch;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 缩动画
|
||||||
|
/// </summary>
|
||||||
|
[LabelText("缩动画")] public AnimationClip shrink ;
|
||||||
|
}
|
||||||
|
}
|
3
Assets/GameLogic/Game/Data/ShelfRowAnimData.cs.meta
Normal file
3
Assets/GameLogic/Game/Data/ShelfRowAnimData.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e17fdddd9422427ba7bdbb7c49c96fb1
|
||||||
|
timeCreated: 1746680862
|
3
Assets/GameLogic/Game/Extension.meta
Normal file
3
Assets/GameLogic/Game/Extension.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: db135584c06f406d8e113c3363ca229f
|
||||||
|
timeCreated: 1746668246
|
39
Assets/GameLogic/Game/Extension/GameObjectExtension.cs
Normal file
39
Assets/GameLogic/Game/Extension/GameObjectExtension.cs
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
using PrimeTween;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace GameLogic
|
||||||
|
{
|
||||||
|
public static class GameObjectExtension
|
||||||
|
{
|
||||||
|
public static void SetPosition(this GameObject self, Vector3 position)
|
||||||
|
{
|
||||||
|
self.transform.position = position;
|
||||||
|
}
|
||||||
|
public static void SetPosition(this GameObject self, Transform transform)
|
||||||
|
{
|
||||||
|
self.transform.position = transform.position;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void SetTransformNoScale(this GameObject self, Transform transform)
|
||||||
|
{
|
||||||
|
self.transform.position = transform.position;
|
||||||
|
self.transform.rotation = transform.rotation;
|
||||||
|
}
|
||||||
|
public static void SetTransform(this GameObject self, Transform transform)
|
||||||
|
{
|
||||||
|
self.transform.position = transform.position;
|
||||||
|
self.transform.rotation = transform.rotation;
|
||||||
|
self.transform.localScale = transform.localScale;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void SetParent(this GameObject self, Transform parent)
|
||||||
|
{
|
||||||
|
self.transform.SetParent(parent);
|
||||||
|
}
|
||||||
|
public static void SetParentLocalPositionZero(this GameObject self, Transform parent)
|
||||||
|
{
|
||||||
|
self.transform.SetParent(parent);
|
||||||
|
Tween.LocalPosition(self.transform, Vector3.zero, 0.5f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b598db33ceb24c38aaba8bf6c2d8b5fe
|
||||||
|
timeCreated: 1746668261
|
8
Assets/GameLogic/Game/Moduie.meta
Normal file
8
Assets/GameLogic/Game/Moduie.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 05c9f423a585a4d48a7f7348eebb38d0
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
146
Assets/GameLogic/Game/Moduie/GameEvent.cs
Normal file
146
Assets/GameLogic/Game/Moduie/GameEvent.cs
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 游戏事件系统 - 静态类
|
||||||
|
/// 提供添加监听、发送事件和移除监听的功能
|
||||||
|
/// </summary>
|
||||||
|
public static class GameEvent
|
||||||
|
{
|
||||||
|
// 使用字典存储事件名称和对应的监听器列表
|
||||||
|
private static Dictionary<string, List<Action<object>>> eventDictionary = new Dictionary<string, List<Action<object>>>();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 添加事件监听
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="eventName">事件名称</param>
|
||||||
|
/// <param name="listener">事件监听器</param>
|
||||||
|
public static void AddListener(string eventName, Action<object> listener)
|
||||||
|
{
|
||||||
|
// 检查事件名称是否为空
|
||||||
|
if (string.IsNullOrEmpty(eventName))
|
||||||
|
{
|
||||||
|
Debug.LogError("GameEvent: 事件名称不能为空!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查监听器是否为空
|
||||||
|
if (listener == null)
|
||||||
|
{
|
||||||
|
Debug.LogError("GameEvent: 监听器不能为空!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果事件不存在,创建新的监听器列表
|
||||||
|
if (!eventDictionary.ContainsKey(eventName))
|
||||||
|
{
|
||||||
|
eventDictionary[eventName] = new List<Action<object>>();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 添加监听器到列表中
|
||||||
|
eventDictionary[eventName].Add(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 发送事件
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="eventName">事件名称</param>
|
||||||
|
/// <param name="param">事件参数</param>
|
||||||
|
public static void Send(string eventName, object param = null)
|
||||||
|
{
|
||||||
|
// 检查事件名称是否为空
|
||||||
|
if (string.IsNullOrEmpty(eventName))
|
||||||
|
{
|
||||||
|
Debug.LogError("GameEvent: 事件名称不能为空!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果事件不存在,直接返回
|
||||||
|
if (!eventDictionary.ContainsKey(eventName))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取监听器列表
|
||||||
|
List<Action<object>> listeners = eventDictionary[eventName];
|
||||||
|
|
||||||
|
// 调用所有监听器
|
||||||
|
for (int i = 0; i < listeners.Count; i++)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
listeners[i].Invoke(param);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Debug.LogError($"GameEvent: 执行事件 '{eventName}' 的监听器时发生异常: {e.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 移除事件监听
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="eventName">事件名称</param>
|
||||||
|
/// <param name="listener">事件监听器</param>
|
||||||
|
public static void RemoveListener(string eventName, Action<object> listener)
|
||||||
|
{
|
||||||
|
// 检查事件名称是否为空
|
||||||
|
if (string.IsNullOrEmpty(eventName))
|
||||||
|
{
|
||||||
|
Debug.LogError("GameEvent: 事件名称不能为空!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查监听器是否为空
|
||||||
|
if (listener == null)
|
||||||
|
{
|
||||||
|
Debug.LogError("GameEvent: 监听器不能为空!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果事件不存在,直接返回
|
||||||
|
if (!eventDictionary.ContainsKey(eventName))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 从列表中移除监听器
|
||||||
|
eventDictionary[eventName].Remove(listener);
|
||||||
|
|
||||||
|
// 如果监听器列表为空,移除事件
|
||||||
|
if (eventDictionary[eventName].Count == 0)
|
||||||
|
{
|
||||||
|
eventDictionary.Remove(eventName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 清除所有事件监听
|
||||||
|
/// </summary>
|
||||||
|
public static void ClearAllEvents()
|
||||||
|
{
|
||||||
|
eventDictionary.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 清除指定事件的所有监听
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="eventName">事件名称</param>
|
||||||
|
public static void ClearEvent(string eventName)
|
||||||
|
{
|
||||||
|
// 检查事件名称是否为空
|
||||||
|
if (string.IsNullOrEmpty(eventName))
|
||||||
|
{
|
||||||
|
Debug.LogError("GameEvent: 事件名称不能为空!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果事件存在,移除整个事件
|
||||||
|
if (eventDictionary.ContainsKey(eventName))
|
||||||
|
{
|
||||||
|
eventDictionary.Remove(eventName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
2
Assets/GameLogic/Game/Moduie/GameEvent.cs.meta
Normal file
2
Assets/GameLogic/Game/Moduie/GameEvent.cs.meta
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6c9829ebe0411e346b713453e904b1c0
|
3
Assets/GameLogic/Game/Setting.meta
Normal file
3
Assets/GameLogic/Game/Setting.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 436600838c80455bad0101cdb79344ba
|
||||||
|
timeCreated: 1746664720
|
9
Assets/GameLogic/Game/Setting/AssetLocationSetting.cs
Normal file
9
Assets/GameLogic/Game/Setting/AssetLocationSetting.cs
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
namespace GameLogic
|
||||||
|
{
|
||||||
|
public static class AssetLocationSetting
|
||||||
|
{
|
||||||
|
public static readonly string ContainerPath = "YCLZT";
|
||||||
|
|
||||||
|
public static readonly string SoSelfConfig = "So/Shelf/shelfConfig_";
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6a48acd0bb5e4b7bafc551658911f6cc
|
||||||
|
timeCreated: 1746667972
|
12
Assets/GameLogic/Game/Setting/EventSetting.cs
Normal file
12
Assets/GameLogic/Game/Setting/EventSetting.cs
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
namespace GameLogic
|
||||||
|
{
|
||||||
|
public static class EventSetting
|
||||||
|
{
|
||||||
|
public static readonly string PlayStretchPickUpComplete = "PlayStretchPickUpComplete";
|
||||||
|
public static readonly string PlayStretchPutDownComplete = "PlayStretchPutDownComplete";
|
||||||
|
|
||||||
|
public static readonly string PlayShrinkPickUpComplete = "PlayShrinkPickUpComplete";
|
||||||
|
public static readonly string PlayShrinkPutDownComplete = "PlayShrinkPutDownComplete";
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
3
Assets/GameLogic/Game/Setting/EventSetting.cs.meta
Normal file
3
Assets/GameLogic/Game/Setting/EventSetting.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c5c04078ec0a4988ae596c3ae0c564ac
|
||||||
|
timeCreated: 1746686567
|
7
Assets/GameLogic/Game/Setting/TagSetting.cs
Normal file
7
Assets/GameLogic/Game/Setting/TagSetting.cs
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
namespace GameLogic
|
||||||
|
{
|
||||||
|
public static class TagSetting
|
||||||
|
{
|
||||||
|
public static readonly string ShelfStation = "ShelfStation";
|
||||||
|
}
|
||||||
|
}
|
3
Assets/GameLogic/Game/Setting/TagSetting.cs.meta
Normal file
3
Assets/GameLogic/Game/Setting/TagSetting.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 71a6c10d17b44e109791ed532986b5d0
|
||||||
|
timeCreated: 1746664730
|
27
Assets/GameLogic/Game/Utility/DataUtility.cs
Normal file
27
Assets/GameLogic/Game/Utility/DataUtility.cs
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace GameLogic
|
||||||
|
{
|
||||||
|
public static class DataUtility
|
||||||
|
{
|
||||||
|
public static int GetRow(string data)
|
||||||
|
{
|
||||||
|
var array = data.Split('-');
|
||||||
|
return int.Parse(array[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int GetColumn(string data)
|
||||||
|
{
|
||||||
|
var array = data.Split('-');
|
||||||
|
return int.Parse(array[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int GetLayer(string data)
|
||||||
|
{
|
||||||
|
var array = data.Split('-');
|
||||||
|
return int.Parse(array[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
2
Assets/GameLogic/Game/Utility/DataUtility.cs.meta
Normal file
2
Assets/GameLogic/Game/Utility/DataUtility.cs.meta
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4afb7fbb72f215d4aae9cca6e4e9badc
|
@ -1,17 +1,20 @@
|
|||||||
|
using System;
|
||||||
using System;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
public static class ContainerFactory
|
namespace GameLogic
|
||||||
{
|
{
|
||||||
public static ContainerInfo CreateInfo(GameObject container,ShelfActor shelf,int shelfRow,int shelColumn,int shelfLayer)
|
public static class ContainerFactory
|
||||||
{
|
{
|
||||||
var containerInfo = Activator.CreateInstance<ContainerInfo>();
|
public static ContainerInfo CreateInfo(GameObject mapContainer, ShelfActor shelf, int shelfRow, int shelColumn,
|
||||||
containerInfo.container = container;
|
int shelfLayer)
|
||||||
containerInfo.shelf = shelf;
|
{
|
||||||
containerInfo.shelfRow = shelfRow;
|
var containerInfo = Activator.CreateInstance<ContainerInfo>();
|
||||||
containerInfo.shelColumn = shelColumn;
|
containerInfo.mapContainer = mapContainer;
|
||||||
containerInfo.shelfLayer = shelfLayer;
|
containerInfo.shelf = shelf;
|
||||||
return containerInfo;
|
containerInfo.shelfRow = shelfRow;
|
||||||
|
containerInfo.shelColumn = shelColumn;
|
||||||
|
containerInfo.shelfLayer = shelfLayer;
|
||||||
|
return containerInfo;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
8
Assets/GameLogic/Game/Utility/SO.meta
Normal file
8
Assets/GameLogic/Game/Utility/SO.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 38a9b33e115c0124bafea9389ff3ed38
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
29
Assets/GameLogic/Game/Utility/SO/So_ShelfConfig.cs
Normal file
29
Assets/GameLogic/Game/Utility/SO/So_ShelfConfig.cs
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using Sirenix.OdinInspector;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
|
||||||
|
namespace GameLogic
|
||||||
|
{
|
||||||
|
|
||||||
|
[CreateAssetMenu(fileName = "shelfConfig_", menuName = "数字孪生/ShelfConfig")]
|
||||||
|
public class So_ShelfConfig : SerializedScriptableObject
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
[LabelText(""), ShowInInspector] public string deviceCode;
|
||||||
|
[LabelText(""), ShowInInspector] public string deviceType = "STACKER";
|
||||||
|
[LabelText("货物所属工具组"),ShowInInspector] public List<int> groups = new List<int>();
|
||||||
|
[LabelText("伸缩动画"),ShowInInspector]public Dictionary<int,ShelfRowAnimData> shelfAnimDatas = new Dictionary<int, ShelfRowAnimData>();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public ShelfRowAnimData GetAnimaData(int row)
|
||||||
|
{
|
||||||
|
return shelfAnimDatas.GetValueOrDefault(row);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
2
Assets/GameLogic/Game/Utility/SO/So_ShelfConfig.cs.meta
Normal file
2
Assets/GameLogic/Game/Utility/SO/So_ShelfConfig.cs.meta
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2dd819b1a17000747b98d533a289c5eb
|
20
Assets/GameLogic/Game/Utility/StackerDeviceDataUtility.cs
Normal file
20
Assets/GameLogic/Game/Utility/StackerDeviceDataUtility.cs
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace GameLogic
|
||||||
|
{
|
||||||
|
public static class StackerDeviceDataUtility
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取货物或者站点位置信息
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="data"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static string GetPositionInfo(StackerData data)
|
||||||
|
{
|
||||||
|
return $"{data.toRow}-{data.frontColumn}-{data.toLayer}";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 867844248f7945388f0f41f9c0543888
|
||||||
|
timeCreated: 1746773217
|
@ -1,5 +1,6 @@
|
|||||||
using EasyInject.Attributes;
|
using EasyInject.Attributes;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using GameLogic.Origin.data;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -15,6 +16,7 @@ public class InitNetWorkProcess : IProcessState
|
|||||||
[Autowired("WmsStorageWebsocket")]
|
[Autowired("WmsStorageWebsocket")]
|
||||||
private WmsStorageWebsocket wmsStorageWebsocket;
|
private WmsStorageWebsocket wmsStorageWebsocket;
|
||||||
private bool executing = false;
|
private bool executing = false;
|
||||||
|
[Autowired] AgvTaskListData _agvTaskListData;
|
||||||
public string Name { get => "InitNetWorkProcess"; }
|
public string Name { get => "InitNetWorkProcess"; }
|
||||||
public int Priority { get => 0; }
|
public int Priority { get => 0; }
|
||||||
public bool IsExecuteProcess { get => executing; set => executing = value; }
|
public bool IsExecuteProcess { get => executing; set => executing = value; }
|
||||||
@ -36,7 +38,8 @@ public class InitNetWorkProcess : IProcessState
|
|||||||
////监听后台数据变化
|
////监听后台数据变化
|
||||||
wmsStorageWebsocket.OnMessage(v.DataHandle);
|
wmsStorageWebsocket.OnMessage(v.DataHandle);
|
||||||
});
|
});
|
||||||
|
//³õʼ»¯agvÈÎÎñÁбí
|
||||||
|
_agvTaskListData.Init();
|
||||||
netWorkComponent?.ConnectAllWebSocket();
|
netWorkComponent?.ConnectAllWebSocket();
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -45,7 +48,6 @@ public class InitNetWorkProcess : IProcessState
|
|||||||
{
|
{
|
||||||
Debug.Log("网络服务启动完成");
|
Debug.Log("网络服务启动完成");
|
||||||
IsExecuteProcess = false;
|
IsExecuteProcess = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnUpdate()
|
public void OnUpdate()
|
||||||
|
52
Assets/GameLogic/Origin/data/AgvTaskListData.cs
Normal file
52
Assets/GameLogic/Origin/data/AgvTaskListData.cs
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using BestHTTP;
|
||||||
|
using Cysharp.Threading.Tasks;
|
||||||
|
using EasyInject.Attributes;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
|
||||||
|
namespace GameLogic.Origin.data
|
||||||
|
{
|
||||||
|
[Component]
|
||||||
|
public class AgvTaskListData
|
||||||
|
{
|
||||||
|
[Autowired] private NetWorkComponent _netWork;
|
||||||
|
public static List<AgvTaskInfo> AgvTaskList = new ();
|
||||||
|
|
||||||
|
public void Init()
|
||||||
|
{
|
||||||
|
UniTask.RunOnThreadPool(delegate
|
||||||
|
{
|
||||||
|
_netWork.RemoteGetAgvTaskListData((HTTPRequest originalRequest, HTTPResponse response) =>
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (response == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (response.IsSuccess)
|
||||||
|
{
|
||||||
|
JObject resultData = JObject.Parse(response.DataAsText);
|
||||||
|
string json = resultData["object"].ToString();
|
||||||
|
if (!string.IsNullOrEmpty(json))
|
||||||
|
{
|
||||||
|
List<AgvTaskInfo> agvTasks = JsonConvert.DeserializeObject<List<AgvTaskInfo>>(json);
|
||||||
|
AgvTaskList = agvTasks;
|
||||||
|
originalRequest.Send();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Console.WriteLine(e);
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
}, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
3
Assets/GameLogic/Origin/data/AgvTaskListData.cs.meta
Normal file
3
Assets/GameLogic/Origin/data/AgvTaskListData.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b812a33eac9f44fb8cac8af30eb30bc2
|
||||||
|
timeCreated: 1746692851
|
@ -4,20 +4,49 @@ using System;
|
|||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public class StackerData
|
public class StackerData
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 货物条码号
|
||||||
|
/// </summary>
|
||||||
public string frontContainerCode;
|
public string frontContainerCode;
|
||||||
public string frontInstructionCode;
|
|
||||||
|
|
||||||
|
// /// <summary>
|
||||||
|
// /// 货物条码号
|
||||||
|
// /// </summary>
|
||||||
|
public string frontInstructionCode;
|
||||||
//public string frontFrom;
|
//public string frontFrom;
|
||||||
//public bool? frontStatus;
|
//public bool? frontStatus;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 货物状态描述
|
||||||
|
/// </summary>
|
||||||
public string frontStatusDescription;
|
public string frontStatusDescription;
|
||||||
//public string backContainerCode;
|
//public string backContainerCode;
|
||||||
//public string backInstructionCode;
|
//public string backInstructionCode;
|
||||||
//public string backTo;
|
//public string backTo;
|
||||||
//public string backStatusDescription;
|
//public string backStatusDescription;
|
||||||
public int roadway;
|
public int roadway;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 货物的排
|
||||||
|
/// </summary>
|
||||||
public int frontRow;
|
public int frontRow;
|
||||||
public int frontColumn;
|
public int frontColumn;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 货物的层
|
||||||
|
/// </summary>
|
||||||
public int frontLayer;
|
public int frontLayer;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 货物的列
|
||||||
|
/// </summary>
|
||||||
public int special1;
|
public int special1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 动作信号
|
||||||
|
/// </summary>
|
||||||
public StackerForkActionEnum frontForkAction;
|
public StackerForkActionEnum frontForkAction;
|
||||||
public string frontForkActionDescription;
|
public string frontForkActionDescription;
|
||||||
public StackerForkCargoEnum frontForkCargo;
|
public StackerForkCargoEnum frontForkCargo;
|
||||||
@ -28,6 +57,10 @@ public class StackerData
|
|||||||
//public string backForkActionDescription;
|
//public string backForkActionDescription;
|
||||||
//public string taskType;
|
//public string taskType;
|
||||||
//public string taskTypeDescription;
|
//public string taskTypeDescription;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 有货信号
|
||||||
|
/// </summary>
|
||||||
public Boolean frontForkHasGoods;
|
public Boolean frontForkHasGoods;
|
||||||
//public bool? backForkHasGoods;
|
//public bool? backForkHasGoods;
|
||||||
public string strategyCode;
|
public string strategyCode;
|
||||||
@ -35,8 +68,21 @@ public class StackerData
|
|||||||
//public string stageTrackLength;
|
//public string stageTrackLength;
|
||||||
//public string realTrackLength;
|
//public string realTrackLength;
|
||||||
//public string moveDirection;
|
//public string moveDirection;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 存放容器地址排
|
||||||
|
/// </summary>
|
||||||
public int toRow;
|
public int toRow;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 货物存放容器地址列
|
||||||
|
/// </summary>
|
||||||
public int toColumn;
|
public int toColumn;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 货物存放容器地址层
|
||||||
|
/// </summary>
|
||||||
public int toLayer;
|
public int toLayer;
|
||||||
public int toCommand;
|
public int toCommand;
|
||||||
public string toCommandDescription;
|
public string toCommandDescription;
|
||||||
|
@ -13,5 +13,6 @@ public class DeviceStatus
|
|||||||
public double animationSpeed;
|
public double animationSpeed;
|
||||||
public PlayState playState;
|
public PlayState playState;
|
||||||
public int modelId;
|
public int modelId;
|
||||||
|
public string type;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -19,8 +19,8 @@ public interface ICar : IDevice
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 下发任务给小车
|
/// 下发任务给小车
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="taskData"></param>
|
/// <param name="taskInfo"></param>
|
||||||
void SendTask(AgvTaskData taskData);
|
void SendTask(AgvTaskInfo taskInfo);
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 可用巷道
|
/// 可用巷道
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -19,7 +19,7 @@ public class AgvCarManage : MonoBehaviour,IApplcationShutdown
|
|||||||
/// agv任务列表
|
/// agv任务列表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private List<AgvTaskData> tasks;
|
private List<AgvTaskInfo> tasks;
|
||||||
[Autowired]
|
[Autowired]
|
||||||
NetWorkComponent netWorkComponent;
|
NetWorkComponent netWorkComponent;
|
||||||
|
|
||||||
@ -95,7 +95,7 @@ public class AgvCarManage : MonoBehaviour,IApplcationShutdown
|
|||||||
//});
|
//});
|
||||||
//分配小车去消费任务
|
//分配小车去消费任务
|
||||||
|
|
||||||
foreach (AgvTaskData data in tasks)
|
foreach (AgvTaskInfo data in tasks)
|
||||||
{
|
{
|
||||||
ICar car = source.Find(v => (v.AllowRows.Contains(data.fromDevice)) && !v.hasTask && v.Initialize);
|
ICar car = source.Find(v => (v.AllowRows.Contains(data.fromDevice)) && !v.hasTask && v.Initialize);
|
||||||
if (car != null)
|
if (car != null)
|
||||||
@ -115,9 +115,7 @@ public class AgvCarManage : MonoBehaviour,IApplcationShutdown
|
|||||||
{
|
{
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
|
|
||||||
yield return new WaitForSecondsRealtime(1f);
|
yield return new WaitForSecondsRealtime(1f);
|
||||||
|
|
||||||
netWorkComponent.RemoteGetAgvTaskListData(OnTaskList);
|
netWorkComponent.RemoteGetAgvTaskListData(OnTaskList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -141,7 +139,7 @@ public class AgvCarManage : MonoBehaviour,IApplcationShutdown
|
|||||||
string json = resultData["object"].ToString();
|
string json = resultData["object"].ToString();
|
||||||
if (!string.IsNullOrEmpty(json))
|
if (!string.IsNullOrEmpty(json))
|
||||||
{
|
{
|
||||||
List<AgvTaskData> agvTasks = JsonConvert.DeserializeObject<List<AgvTaskData>>(json);
|
List<AgvTaskInfo> agvTasks = JsonConvert.DeserializeObject<List<AgvTaskInfo>>(json);
|
||||||
agvTasks.Sort((a, b) =>
|
agvTasks.Sort((a, b) =>
|
||||||
{
|
{
|
||||||
if (a.fromLocation.Contains("-") && b.fromLocation.Contains("-"))
|
if (a.fromLocation.Contains("-") && b.fromLocation.Contains("-"))
|
||||||
@ -175,7 +173,7 @@ public class AgvCarManage : MonoBehaviour,IApplcationShutdown
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="task"></param>
|
/// <param name="task"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public bool Contains(AgvTaskData task)
|
public bool Contains(AgvTaskInfo task)
|
||||||
{
|
{
|
||||||
return tasks.Find(v => task.instructionCode == v.instructionCode && task.instructionId == v.instructionId) != null;
|
return tasks.Find(v => task.instructionCode == v.instructionCode && task.instructionId == v.instructionId) != null;
|
||||||
}
|
}
|
||||||
@ -184,7 +182,7 @@ public class AgvCarManage : MonoBehaviour,IApplcationShutdown
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="instructionCode"></param>
|
/// <param name="instructionCode"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public AgvTaskData GetTaskByCode(long instructionCode)
|
public AgvTaskInfo GetTaskByCode(long instructionCode)
|
||||||
{
|
{
|
||||||
return tasks.Find(v => instructionCode == v.instructionCode);
|
return tasks.Find(v => instructionCode == v.instructionCode);
|
||||||
}
|
}
|
||||||
|
@ -9,8 +9,8 @@ using Unity.VisualScripting;
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.AI;
|
using UnityEngine.AI;
|
||||||
using UnityEngine.Playables;
|
using UnityEngine.Playables;
|
||||||
using static UnityEditor.FilePathAttribute;
|
using UnityEngine.Serialization;
|
||||||
using UnityEngine.UIElements;
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 叉车AGV
|
/// 叉车AGV
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -86,8 +86,8 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 当前agv任务
|
/// 当前agv任务
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[SerializeField]
|
[FormerlySerializedAs("taskList")] [FormerlySerializedAs("taskData")] [SerializeField]
|
||||||
private AgvTaskData taskData;
|
private AgvTaskInfo taskInfo;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 当前反馈状态
|
/// 当前反馈状态
|
||||||
@ -168,7 +168,7 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
}
|
}
|
||||||
UpdateTask();
|
UpdateTask();
|
||||||
//当任务状态是下发状态是,执行
|
//当任务状态是下发状态是,执行
|
||||||
if (taskData.agvTaskStatus == AgvCarManage.CarTaskStatusEnum.SENT)
|
if (taskInfo.agvTaskStatus == AgvCarManage.CarTaskStatusEnum.SENT)
|
||||||
{
|
{
|
||||||
if (currentFeedBackStatus != AgvCarManage.CarTaskStatusEnum.TAKING)
|
if (currentFeedBackStatus != AgvCarManage.CarTaskStatusEnum.TAKING)
|
||||||
{
|
{
|
||||||
@ -178,15 +178,15 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
FeedBackTaskStatus(currentFeedBackStatus);
|
FeedBackTaskStatus(currentFeedBackStatus);
|
||||||
}
|
}
|
||||||
//取货中
|
//取货中
|
||||||
if (taskData.agvTaskStatus == AgvCarManage.CarTaskStatusEnum.TAKING)
|
if (taskInfo.agvTaskStatus == AgvCarManage.CarTaskStatusEnum.TAKING)
|
||||||
{
|
{
|
||||||
agent.isStopped = false;
|
agent.isStopped = false;
|
||||||
//开始代理
|
//开始代理
|
||||||
StartAgent(taskData.fromLocation);
|
StartAgent(taskInfo.fromLocation);
|
||||||
// 起点旋转位置
|
// 起点旋转位置
|
||||||
if (applyTakePosition.Count > 0)
|
if (applyTakePosition.Count > 0)
|
||||||
{
|
{
|
||||||
Vector3 applyTakeVector = LastPosition(applyTakePosition,taskData.fromLocation);
|
Vector3 applyTakeVector = LastPosition(applyTakePosition,taskInfo.fromLocation);
|
||||||
//抵达后,申请取货流程
|
//抵达后,申请取货流程
|
||||||
Vector3 targetPosition = new Vector3(applyTakeVector.x, transform.position.y, applyTakeVector.z);
|
Vector3 targetPosition = new Vector3(applyTakeVector.x, transform.position.y, applyTakeVector.z);
|
||||||
if (Vector3.Distance(transform.position, targetPosition) <= 0.1f)
|
if (Vector3.Distance(transform.position, targetPosition) <= 0.1f)
|
||||||
@ -199,19 +199,22 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//申请取货
|
//申请取货
|
||||||
if (taskData.agvTaskStatus == AgvCarManage.CarTaskStatusEnum.APPLY_TAKE)
|
if (taskInfo.agvTaskStatus == AgvCarManage.CarTaskStatusEnum.APPLY_TAKE)
|
||||||
{
|
{
|
||||||
//抵达终点
|
//抵达终点
|
||||||
if (Vector3.Distance(transform.position, agent.destination) <= 0.1f)
|
Vector3 targetPosition = new Vector3(transform.position.x, agent.destination.y, transform.position.z);
|
||||||
|
if (Vector3.Distance(targetPosition, agent.destination) <= 0.1f)
|
||||||
{
|
{
|
||||||
//获取库位容器模型,绑定到货叉上
|
//获取库位容器模型,绑定到货叉上
|
||||||
GameObject game = deviceParseService.GameObjectByDevice(taskData.fromLocation);
|
GameObject game = deviceParseService.GameObjectByDevice(taskInfo.fromLocation);
|
||||||
if (game != null)
|
if (game != null)
|
||||||
{
|
{
|
||||||
Container container = game.GetComponentInChildren<Container>();
|
Container container = game.GetComponentInChildren<Container>();
|
||||||
if (container != null)
|
if (container != null)
|
||||||
{
|
{
|
||||||
container.transform.parent = forkCargo.transform;
|
container.transform.parent = forkCargo.transform;
|
||||||
|
container.Agent.enabled = false;
|
||||||
|
container.Agent.isStopped = true;
|
||||||
playable.Play();
|
playable.Play();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -219,11 +222,11 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
currentFeedBackStatus = AgvCarManage.CarTaskStatusEnum.TAKE_FINISHED;
|
currentFeedBackStatus = AgvCarManage.CarTaskStatusEnum.TAKE_FINISHED;
|
||||||
FeedBackTaskStatus(currentFeedBackStatus);
|
FeedBackTaskStatus(currentFeedBackStatus);
|
||||||
}
|
}
|
||||||
Quaternion targetRotation = RotationByDevice(taskData.fromDevice);
|
Quaternion targetRotation = RotationByDevice(taskInfo.fromDevice);
|
||||||
if (transform.localRotation == targetRotation)
|
if (transform.localRotation == targetRotation)
|
||||||
{
|
{
|
||||||
//校验起点是设备,需要提升货叉到高位
|
//校验起点是设备,需要提升货叉到高位
|
||||||
if (!IsShelf(taskData.fromLocation))
|
if (!IsShelf(taskInfo.fromLocation))
|
||||||
{
|
{
|
||||||
if(playable.time <= 1.3)
|
if(playable.time <= 1.3)
|
||||||
{
|
{
|
||||||
@ -247,12 +250,12 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
|
|
||||||
|
|
||||||
//取货完成
|
//取货完成
|
||||||
if (taskData.agvTaskStatus == AgvCarManage.CarTaskStatusEnum.TAKE_FINISHED)
|
if (taskInfo.agvTaskStatus == AgvCarManage.CarTaskStatusEnum.TAKE_FINISHED)
|
||||||
{
|
{
|
||||||
if (HasGood)
|
if (HasGood)
|
||||||
{
|
{
|
||||||
//是库位取货方式
|
//是库位取货方式
|
||||||
if (IsShelf(taskData.fromDevice))
|
if (IsShelf(taskInfo.fromDevice))
|
||||||
{
|
{
|
||||||
if (playable.time >= 0.4)
|
if (playable.time >= 0.4)
|
||||||
{
|
{
|
||||||
@ -269,7 +272,7 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
{
|
{
|
||||||
//接驳点取货方式
|
//接驳点取货方式
|
||||||
//需要回退到指定位置做货叉下降动作
|
//需要回退到指定位置做货叉下降动作
|
||||||
Vector3 target = LastPosition(applyTakePosition, taskData.fromDevice);
|
Vector3 target = LastPosition(applyTakePosition, taskInfo.fromDevice);
|
||||||
agent.isStopped = false;
|
agent.isStopped = false;
|
||||||
//开始代理
|
//开始代理
|
||||||
StartAgent(target);
|
StartAgent(target);
|
||||||
@ -277,7 +280,7 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
//到位后,开始下降货叉
|
//到位后,开始下降货叉
|
||||||
if (Vector3.Distance(transform.position, targetPosition) <= 0.1f)
|
if (Vector3.Distance(transform.position, targetPosition) <= 0.1f)
|
||||||
{
|
{
|
||||||
if (playable.time >= 0.4)
|
if (playable.time >= 0.6)
|
||||||
{
|
{
|
||||||
playable.playableGraph.GetRootPlayable(0).SetSpeed(-1);
|
playable.playableGraph.GetRootPlayable(0).SetSpeed(-1);
|
||||||
playable.Play();
|
playable.Play();
|
||||||
@ -304,14 +307,14 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GameObject game = deviceParseService.GameObjectByDevice(taskData.fromLocation);
|
GameObject game = deviceParseService.GameObjectByDevice(taskInfo.fromLocation);
|
||||||
if (game != null)
|
if (game != null)
|
||||||
{
|
{
|
||||||
Container container = game.GetComponentInChildren<Container>();
|
Container container = game.GetComponentInChildren<Container>();
|
||||||
|
|
||||||
if (container != null)
|
if (container != null)
|
||||||
{
|
{
|
||||||
container.Agent.enabled = false;
|
container.isAwke = false;
|
||||||
container.transform.parent = forkCargo.transform;
|
container.transform.parent = forkCargo.transform;
|
||||||
playable.Play();
|
playable.Play();
|
||||||
}
|
}
|
||||||
@ -320,15 +323,15 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//放货中
|
//放货中
|
||||||
if (taskData.agvTaskStatus == AgvCarManage.CarTaskStatusEnum.PUTTING)
|
if (taskInfo.agvTaskStatus == AgvCarManage.CarTaskStatusEnum.PUTTING)
|
||||||
{
|
{
|
||||||
//未代理开始代理
|
//未代理开始代理
|
||||||
StartAgent(taskData.toLocation);
|
StartAgent(taskInfo.toLocation);
|
||||||
|
|
||||||
// 起点旋转位置
|
// 起点旋转位置
|
||||||
if (applyPutPosition.Count > 0)
|
if (applyPutPosition.Count > 0)
|
||||||
{
|
{
|
||||||
Vector3 applyPutVector = LastPosition(applyPutPosition, taskData.toLocation);
|
Vector3 applyPutVector = LastPosition(applyPutPosition, taskInfo.toLocation);
|
||||||
//抵达后,申请取货流程
|
//抵达后,申请取货流程
|
||||||
Vector3 targetPosition = new Vector3(applyPutVector.x, transform.position.y, applyPutVector.z);
|
Vector3 targetPosition = new Vector3(applyPutVector.x, transform.position.y, applyPutVector.z);
|
||||||
if (Vector3.Distance(transform.position, targetPosition) <= 0.1f)
|
if (Vector3.Distance(transform.position, targetPosition) <= 0.1f)
|
||||||
@ -343,7 +346,7 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
|
|
||||||
}
|
}
|
||||||
//申请放货
|
//申请放货
|
||||||
if (taskData.agvTaskStatus == AgvCarManage.CarTaskStatusEnum.APPLY_PUT && currentFeedBackStatus == AgvCarManage.CarTaskStatusEnum.APPLY_PUT)
|
if (taskInfo.agvTaskStatus == AgvCarManage.CarTaskStatusEnum.APPLY_PUT && currentFeedBackStatus == AgvCarManage.CarTaskStatusEnum.APPLY_PUT)
|
||||||
{
|
{
|
||||||
//抵达终点
|
//抵达终点
|
||||||
if (Vector3.Distance(transform.position, agent.destination) <= 0.1f)
|
if (Vector3.Distance(transform.position, agent.destination) <= 0.1f)
|
||||||
@ -351,13 +354,13 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
currentFeedBackStatus = AgvCarManage.CarTaskStatusEnum.PUT_FINISHED;
|
currentFeedBackStatus = AgvCarManage.CarTaskStatusEnum.PUT_FINISHED;
|
||||||
|
|
||||||
}
|
}
|
||||||
Quaternion targetRotation = RotationByDevice(taskData.toDevice);
|
Quaternion targetRotation = RotationByDevice(taskInfo.toDevice);
|
||||||
if (transform.localRotation == targetRotation)
|
if (transform.localRotation == targetRotation)
|
||||||
{
|
{
|
||||||
//启用代理
|
//启用代理
|
||||||
agent.isStopped = false;
|
agent.isStopped = false;
|
||||||
//如果是设备将货叉提升完
|
//如果是设备将货叉提升完
|
||||||
if(!IsShelf(taskData.toLocation))
|
if(!IsShelf(taskInfo.toLocation))
|
||||||
{
|
{
|
||||||
playable.Play();
|
playable.Play();
|
||||||
}
|
}
|
||||||
@ -374,7 +377,7 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
{
|
{
|
||||||
//校验是库位还是设备
|
//校验是库位还是设备
|
||||||
|
|
||||||
if(IsShelf(taskData.toLocation))
|
if(IsShelf(taskInfo.toLocation))
|
||||||
{
|
{
|
||||||
Debug.LogWarning("放货持续");
|
Debug.LogWarning("放货持续");
|
||||||
if (playable.time > 0)
|
if (playable.time > 0)
|
||||||
@ -408,10 +411,10 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(!IsShelf(taskData.toLocation))
|
if(!IsShelf(taskInfo.toLocation))
|
||||||
{
|
{
|
||||||
//当后退完成后最终下降完货叉,并重置agv状态
|
//当后退完成后最终下降完货叉,并重置agv状态
|
||||||
Vector3 position = LastPosition(applyPutPosition, taskData.toLocation);
|
Vector3 position = LastPosition(applyPutPosition, taskInfo.toLocation);
|
||||||
Vector3 targetPosition = new Vector3(position.x, transform.position.y, position.z);
|
Vector3 targetPosition = new Vector3(position.x, transform.position.y, position.z);
|
||||||
|
|
||||||
if (Vector3.Distance(transform.position, targetPosition) <= 0.1f)
|
if (Vector3.Distance(transform.position, targetPosition) <= 0.1f)
|
||||||
@ -430,12 +433,12 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Vector3 position = LastPosition(applyPutPosition, taskData.toLocation);
|
Vector3 position = LastPosition(applyPutPosition, taskInfo.toLocation);
|
||||||
Vector3 targetPosition = new Vector3(position.x, transform.position.y, position.z);
|
Vector3 targetPosition = new Vector3(position.x, transform.position.y, position.z);
|
||||||
if (Vector3.Distance(transform.position, targetPosition) <= 0.1f)
|
if (Vector3.Distance(transform.position, targetPosition) <= 0.1f)
|
||||||
{
|
{
|
||||||
GameObject game = deviceParseService.GameObjectByDevice(taskData.toLocation);
|
GameObject game = deviceParseService.GameObjectByDevice(taskInfo.toLocation);
|
||||||
Container container = containersManage.GetContainerByCode(taskData.containerCode);
|
Container container = containersManage.GetContainerByCode(taskInfo.containerCode);
|
||||||
container.transform.parent = game.transform;
|
container.transform.parent = game.transform;
|
||||||
container.transform.localPosition = new Vector3(0, -0.2472343f, 0.0006999969f);
|
container.transform.localPosition = new Vector3(0, -0.2472343f, 0.0006999969f);
|
||||||
container.Agent.enabled = true;
|
container.Agent.enabled = true;
|
||||||
@ -451,7 +454,7 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public void Rest()
|
public void Rest()
|
||||||
{
|
{
|
||||||
taskData = new AgvTaskData();
|
taskInfo = new AgvTaskInfo();
|
||||||
_hasTask = false;
|
_hasTask = false;
|
||||||
paths.Clear();
|
paths.Clear();
|
||||||
currentFeedBackStatus =AgvCarManage.CarTaskStatusEnum.STANDBY;
|
currentFeedBackStatus =AgvCarManage.CarTaskStatusEnum.STANDBY;
|
||||||
@ -470,13 +473,13 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
{
|
{
|
||||||
if(debugFeedBack)
|
if(debugFeedBack)
|
||||||
{
|
{
|
||||||
taskData.agvTaskStatus = status;
|
taskInfo.agvTaskStatus = status;
|
||||||
}
|
}
|
||||||
FeedBackEntity feedBackDTO = new FeedBackEntity();
|
FeedBackEntity feedBackDTO = new FeedBackEntity();
|
||||||
feedBackDTO.feedbackStatus = status.ToString();
|
feedBackDTO.feedbackStatus = status.ToString();
|
||||||
feedBackDTO.feedbackLocation = feedBacklocation;
|
feedBackDTO.feedbackLocation = feedBacklocation;
|
||||||
feedBackDTO.taskCode = taskData.instructionCode;
|
feedBackDTO.taskCode = taskInfo.instructionCode;
|
||||||
feedBackDTO.carId = taskData.carId;
|
feedBackDTO.carId = taskInfo.carId;
|
||||||
netWorkComponent.RemoteFeedBackAgvTaskStatus(feedBackDTO, OnFeedBack);
|
netWorkComponent.RemoteFeedBackAgvTaskStatus(feedBackDTO, OnFeedBack);
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -519,17 +522,17 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
}
|
}
|
||||||
private void Reset()
|
private void Reset()
|
||||||
{
|
{
|
||||||
taskData = null;
|
taskInfo = null;
|
||||||
_hasTask = false;
|
_hasTask = false;
|
||||||
agent.ResetPath();
|
agent.ResetPath();
|
||||||
}
|
}
|
||||||
public void SendTask(AgvTaskData taskData)
|
public void SendTask(AgvTaskInfo taskInfo)
|
||||||
{
|
{
|
||||||
//if (!Initialize)
|
//if (!Initialize)
|
||||||
//{
|
//{
|
||||||
// return;
|
// return;
|
||||||
//}
|
//}
|
||||||
this.taskData = taskData;
|
this.taskInfo = taskInfo;
|
||||||
_hasTask = true;
|
_hasTask = true;
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -588,7 +591,10 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
//容器
|
//容器
|
||||||
if (statusEntity.containerStatus != null)
|
if (statusEntity.containerStatus != null)
|
||||||
{
|
{
|
||||||
Container container = ApplicationBoot.Instance.GetBean<Container>(statusEntity.containerStatus.deviceCode);
|
ContainerEntity containerEntity = new ContainerEntity();
|
||||||
|
containerEntity.containerCode = statusEntity.containerStatus.deviceCode;
|
||||||
|
containerEntity.containerType = statusEntity.containerStatus.type;
|
||||||
|
Container container = containersManage.CreateContainer(forkCargo.transform,containerEntity);
|
||||||
container.transform.localPosition = statusEntity.containerStatus.posistion.ToVector();
|
container.transform.localPosition = statusEntity.containerStatus.posistion.ToVector();
|
||||||
container.transform.localRotation = statusEntity.containerStatus.roation.ToQuaternion();
|
container.transform.localRotation = statusEntity.containerStatus.roation.ToQuaternion();
|
||||||
container.transform.localScale = statusEntity.containerStatus.scale.ToVector();
|
container.transform.localScale = statusEntity.containerStatus.scale.ToVector();
|
||||||
@ -649,9 +655,9 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
carStatus.containerStatus = containerStatus;
|
carStatus.containerStatus = containerStatus;
|
||||||
}
|
}
|
||||||
carStatus.cargoStatus = cargo;
|
carStatus.cargoStatus = cargo;
|
||||||
if(taskData != null && taskData.instructionId != 0)
|
if(taskInfo != null && taskInfo.instructionId != 0)
|
||||||
{
|
{
|
||||||
carStatus.task = taskData;
|
carStatus.task = taskInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
//保存当前设备数据
|
//保存当前设备数据
|
||||||
@ -687,7 +693,7 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
agent.SetDestination(targetPosistion);
|
agent.SetDestination(targetPosistion);
|
||||||
lineRenderer.positionCount = 0;
|
lineRenderer.positionCount = 0;
|
||||||
lineRenderer.SetPositions(agent.path.corners);
|
lineRenderer.SetPositions(agent.path.corners);
|
||||||
paths.Add(taskData.fromLocation);
|
paths.Add(taskInfo.fromLocation);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -723,9 +729,9 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
{
|
{
|
||||||
|
|
||||||
_data.feedBack = currentFeedBackStatus.ToString();
|
_data.feedBack = currentFeedBackStatus.ToString();
|
||||||
if(taskData != null)
|
if(taskInfo != null)
|
||||||
{
|
{
|
||||||
AgvTaskData task = carManage.GetTaskByCode(taskData.instructionCode);
|
AgvTaskInfo task = carManage.GetTaskByCode(taskInfo.instructionCode);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
animationSpeed = playable.playableGraph.GetRootPlayable(0).GetSpeed();
|
animationSpeed = playable.playableGraph.GetRootPlayable(0).GetSpeed();
|
||||||
@ -743,11 +749,11 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
agentTarget = agent.destination;
|
agentTarget = agent.destination;
|
||||||
if (task != null)
|
if (task != null)
|
||||||
{
|
{
|
||||||
taskData = task;
|
taskInfo = task;
|
||||||
_data.container = taskData.containerCode;
|
_data.container = taskInfo.containerCode;
|
||||||
_data.startDevice = taskData.fromLocation;
|
_data.startDevice = taskInfo.fromLocation;
|
||||||
_data.endDevice = taskData.toLocation;
|
_data.endDevice = taskInfo.toLocation;
|
||||||
_data.currentAction = taskData.agvTaskStatus.ToString();
|
_data.currentAction = taskInfo.agvTaskStatus.ToString();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -781,7 +787,7 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
private class CarStatusEntity : DeviceStatus
|
private class CarStatusEntity : DeviceStatus
|
||||||
{
|
{
|
||||||
public AgvTaskData task;
|
public AgvTaskInfo task;
|
||||||
public AgvCarManage.CarTaskStatusEnum currentFeedBackStatus;
|
public AgvCarManage.CarTaskStatusEnum currentFeedBackStatus;
|
||||||
public Boolean agentIsStoping;
|
public Boolean agentIsStoping;
|
||||||
public Boolean agentRotationUpdate;
|
public Boolean agentRotationUpdate;
|
||||||
@ -866,7 +872,7 @@ public class ForkAgvDevice : AbstractDevice, ICar
|
|||||||
container.Agent.enabled = true;
|
container.Agent.enabled = true;
|
||||||
//agv得退出一段距离
|
//agv得退出一段距离
|
||||||
//倒退位置坐标
|
//倒退位置坐标
|
||||||
Vector3 applyPutVector = LastPosition(applyPutPosition, taskData.toLocation);
|
Vector3 applyPutVector = LastPosition(applyPutPosition, taskInfo.toLocation);
|
||||||
//开始代理
|
//开始代理
|
||||||
StartAgent(applyPutVector);
|
StartAgent(applyPutVector);
|
||||||
|
|
||||||
|
@ -67,8 +67,8 @@ public class Container : MonoBehaviour, IMouseClick, IFollowHelp
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public bool CheckAgentPosition(Vector3 target)
|
public bool CheckAgentPosition(Vector3 target)
|
||||||
{
|
{
|
||||||
Debug.LogWarning(string.Format("容器= 【{0}】 距离【{1}】 ", name, Vector3.Distance(Agent.destination, new Vector3(target.x, Agent.destination.y, target.z))));
|
// Debug.LogWarning(string.Format("容器= 【{0}】 距离【{1}】 ", name, Vector3.Distance(transform.position, new Vector3(target.x, transform.position.y, target.z))));
|
||||||
return Vector3.Distance(Agent.destination, new Vector3(target.x, Agent.destination.y, target.z)) <= 0.12f;
|
return Vector3.Distance(transform.position, new Vector3(target.x, transform.position.y, target.z)) < 0.01f;
|
||||||
}
|
}
|
||||||
public void ToTarget(Vector3 target)
|
public void ToTarget(Vector3 target)
|
||||||
{
|
{
|
||||||
|
@ -55,22 +55,22 @@ public class ContainersManage : MonoBehaviour, IApplcationShutdown
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (_hideContainers.Count > 0)
|
// if (_hideContainers.Count > 0)
|
||||||
{
|
// {
|
||||||
lock (_hideContainers)
|
// lock (_hideContainers)
|
||||||
{
|
// {
|
||||||
Container containerObject = _hideContainers.Find(v => string.Equals(v.ContainerData.containerType, entity.containerType));
|
// Container containerObject = _hideContainers.Find(v => string.Equals(v.ContainerData.containerType, entity.containerType));
|
||||||
if (containerObject != null)
|
// if (containerObject != null)
|
||||||
{
|
// {
|
||||||
ApplicationBoot.Instance.AddBean(containerObject, entity.containerCode);
|
// ApplicationBoot.Instance.AddBean(containerObject, entity.containerCode);
|
||||||
containerObject.name = entity.containerCode;
|
// containerObject.name = entity.containerCode;
|
||||||
containerObject.ContainerData = entity;
|
// containerObject.ContainerData = entity;
|
||||||
return containerObject;
|
// return containerObject;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
GameObject obj = _source.Find(v => string.Equals(entity.containerType, v.name));
|
GameObject obj = _source.Find(v => string.Equals(entity.containerType, v.name));
|
||||||
if (obj != null)
|
if (obj != null)
|
||||||
{
|
{
|
||||||
@ -99,8 +99,9 @@ public class ContainersManage : MonoBehaviour, IApplcationShutdown
|
|||||||
return container;
|
return container;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
// }
|
||||||
throw new System.Exception(string.Format("生成容器类型:【{code}】失败"));
|
Debug.Log(string.Format("生成容器类型:【{code}】失败"));
|
||||||
|
throw new Exception(string.Format("生成容器类型:【{code}】失败"));
|
||||||
}
|
}
|
||||||
public Container CreateContainer(Vector3 localPosition,Transform parent, ContainerEntity entity,LayerMask layerMask)
|
public Container CreateContainer(Vector3 localPosition,Transform parent, ContainerEntity entity,LayerMask layerMask)
|
||||||
{
|
{
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
using EasyInject.Attributes;
|
using EasyInject.Attributes;
|
||||||
using System.ComponentModel;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
|
|
||||||
@ -38,6 +37,7 @@ public class ConveyorDevice : AbstractConveyorDevice
|
|||||||
{
|
{
|
||||||
//Debug.LogWarning(string.Format("输送线【{0}】停盘位置 【{1}】",this.name, ContainerParkingPosition));
|
//Debug.LogWarning(string.Format("输送线【{0}】停盘位置 【{1}】",this.name, ContainerParkingPosition));
|
||||||
container.ToTarget(ContainerParkingPosition);
|
container.ToTarget(ContainerParkingPosition);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -50,8 +50,6 @@ public class ConveyorDevice : AbstractConveyorDevice
|
|||||||
|
|
||||||
if (container == null)
|
if (container == null)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
//到这一步也就是说这个条码托盘未被加载到场景,这种情况属于初始化才会出现
|
//到这一步也就是说这个条码托盘未被加载到场景,这种情况属于初始化才会出现
|
||||||
ContainerEntity entity = new();
|
ContainerEntity entity = new();
|
||||||
entity.containerCode = conveyorData.containerCode;
|
entity.containerCode = conveyorData.containerCode;
|
||||||
@ -61,13 +59,21 @@ public class ConveyorDevice : AbstractConveyorDevice
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
//如果托盘的终点不是当前位置,更改容器目标点坐标
|
//如果托盘的终点不是当前位置,更改容器目标点坐标
|
||||||
if (!container.CheckAgentPosition(ContainerParkingPosition))
|
if (!container.CheckAgentPosition(ContainerParkingPosition))
|
||||||
{
|
{
|
||||||
//Debug.LogWarning(string.Format("输送线【{0}】停盘位置 【{1}】", this.name, ContainerParkingPosition));
|
//Debug.LogWarning(string.Format("输送线【{0}】停盘位置 【{1}】", this.name, ContainerParkingPosition));
|
||||||
container.ToTarget(ContainerParkingPosition);
|
container.ToTarget(ContainerParkingPosition);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (isAgvInteraction)
|
||||||
|
{
|
||||||
|
container.transform.parent = transform;
|
||||||
|
//container.Agent.enabled = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -81,7 +87,7 @@ public class ConveyorDevice : AbstractConveyorDevice
|
|||||||
//到这一步也就是说这个条码托盘未被加载到场景,这种情况属于初始化才会出现
|
//到这一步也就是说这个条码托盘未被加载到场景,这种情况属于初始化才会出现
|
||||||
ContainerEntity entity = new();
|
ContainerEntity entity = new();
|
||||||
entity.containerCode = conveyorData.containerCode;
|
entity.containerCode = conveyorData.containerCode;
|
||||||
entity.containerType = conveyorData.containerType;
|
entity.containerType = "YCLZT";
|
||||||
entity.isEmpty = conveyorData.isEmpty;
|
entity.isEmpty = conveyorData.isEmpty;
|
||||||
containerManage.CreateContainer(ContainerParkingPosition, entity,gameObject.layer);
|
containerManage.CreateContainer(ContainerParkingPosition, entity,gameObject.layer);
|
||||||
}
|
}
|
||||||
|
@ -183,14 +183,14 @@ public class StackerDevice : AbstractDevice
|
|||||||
if(StackerForkActionEnum.ForkRest == stackerData.frontForkAction )
|
if(StackerForkActionEnum.ForkRest == stackerData.frontForkAction )
|
||||||
{
|
{
|
||||||
//排列层 有其一值为0则不处理
|
//排列层 有其一值为0则不处理
|
||||||
//if (stackerData.frontRow == 0 || stackerData.special1 == 0 || stackerData.frontLayer == 0)
|
if (stackerData.frontRow == 0 || stackerData.special1 == 0 || stackerData.frontLayer == 0)
|
||||||
//{
|
|
||||||
// return;
|
|
||||||
//}
|
|
||||||
if (stackerData.toRow == 0 || stackerData.toColumn == 0 || stackerData.toLayer == 0)
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// if (stackerData.toRow == 0 || stackerData.toColumn == 0 || stackerData.toLayer == 0)
|
||||||
|
// {
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
Vector3 target = ForkCargoTarget();
|
Vector3 target = ForkCargoTarget();
|
||||||
//往目标点移动
|
//往目标点移动
|
||||||
forkCargo.transform.position = Vector3.MoveTowards(forkCargo.transform.position, target, speed * Time.deltaTime);
|
forkCargo.transform.position = Vector3.MoveTowards(forkCargo.transform.position, target, speed * Time.deltaTime);
|
||||||
@ -202,17 +202,15 @@ public class StackerDevice : AbstractDevice
|
|||||||
{
|
{
|
||||||
|
|
||||||
//获取库位坐标
|
//获取库位坐标
|
||||||
string row = stackerData.toRow.ToString("D2");
|
string row = stackerData.frontRow.ToString("D2");
|
||||||
string column = stackerData.toColumn.ToString("D2");
|
string column = stackerData.special1.ToString("D2");
|
||||||
string layer = stackerData.toLayer.ToString("D2");
|
string layer = stackerData.frontLayer.ToString("D2");
|
||||||
|
|
||||||
//当取货或方法是站台列,直接目的地就是站台列
|
if(stackerData.toColumn >= 200)
|
||||||
//if (stackerData.toColumn >= 200)
|
{
|
||||||
//{
|
column = stackerData.toColumn.ToString();
|
||||||
// column = stackerData.toColumn.ToString();
|
layer = stackerData.toLayer.ToString("D2");
|
||||||
// layer = stackerData.toLayer.ToString("D2");
|
}
|
||||||
//}
|
|
||||||
|
|
||||||
string storageName = string.Format("{0}-{1}-{2}", row, column, layer);
|
string storageName = string.Format("{0}-{1}-{2}", row, column, layer);
|
||||||
|
|
||||||
GameObject storageObject = storageManage.GetStorageByName(storageName);
|
GameObject storageObject = storageManage.GetStorageByName(storageName);
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
|
|
||||||
|
using Sirenix.OdinInspector;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 堆垛机探货光电
|
/// 堆垛机探货光电
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -8,7 +10,7 @@ public enum StackerForkCargoEnum
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 左浅有货
|
/// 左浅有货
|
||||||
/// </summary>
|
/// </summary>
|
||||||
LeftShallow = 0,
|
[LabelText("左浅有货")]LeftShallow = 0,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 原位有货
|
/// 原位有货
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -334,4 +334,11 @@ AnimationClip:
|
|||||||
m_EulerEditorCurves: []
|
m_EulerEditorCurves: []
|
||||||
m_HasGenericRootTransform: 0
|
m_HasGenericRootTransform: 0
|
||||||
m_HasMotionFloatCurves: 0
|
m_HasMotionFloatCurves: 0
|
||||||
m_Events: []
|
m_Events:
|
||||||
|
- time: 1.3333334
|
||||||
|
functionName: PlayStretchComplete
|
||||||
|
data:
|
||||||
|
objectReferenceParameter: {fileID: 0}
|
||||||
|
floatParameter: 0
|
||||||
|
intParameter: 0
|
||||||
|
messageOptions: 0
|
||||||
|
@ -20,7 +20,7 @@ AnimationClip:
|
|||||||
m_Curve:
|
m_Curve:
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 0
|
time: 0
|
||||||
value: {x: 0, y: 0.0067, z: 0.71499926}
|
value: {x: 0, y: 0.0067, z: -0.536}
|
||||||
inSlope: {x: 0, y: 0, z: 0}
|
inSlope: {x: 0, y: 0, z: 0}
|
||||||
outSlope: {x: 0, y: 0, z: 0}
|
outSlope: {x: 0, y: 0, z: 0}
|
||||||
tangentMode: 0
|
tangentMode: 0
|
||||||
@ -28,17 +28,17 @@ AnimationClip:
|
|||||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 0.8333333
|
time: 0.6666667
|
||||||
value: {x: 0, y: 0.0067, z: 0.364}
|
value: {x: 0, y: 0.0067, z: -0.223}
|
||||||
inSlope: {x: 0, y: 0, z: -0.46888837}
|
inSlope: {x: 0, y: 0, z: 0.46785003}
|
||||||
outSlope: {x: 0, y: 0, z: -0.46888837}
|
outSlope: {x: 0, y: 0, z: 0.46785003}
|
||||||
tangentMode: 0
|
tangentMode: 0
|
||||||
weightedMode: 0
|
weightedMode: 0
|
||||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 1.35
|
time: 1.3333334
|
||||||
value: {x: 0, y: 0.0067, z: 0.082}
|
value: {x: 0, y: 0.0067, z: 0.0878}
|
||||||
inSlope: {x: 0, y: 0, z: 0}
|
inSlope: {x: 0, y: 0, z: 0}
|
||||||
outSlope: {x: 0, y: 0, z: 0}
|
outSlope: {x: 0, y: 0, z: 0}
|
||||||
tangentMode: 0
|
tangentMode: 0
|
||||||
@ -54,7 +54,7 @@ AnimationClip:
|
|||||||
m_Curve:
|
m_Curve:
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 0
|
time: 0
|
||||||
value: {x: 31.3795, y: -0.5468, z: 18.414}
|
value: {x: 31.3795, y: -0.5468, z: 17.854}
|
||||||
inSlope: {x: 0, y: 0, z: 0}
|
inSlope: {x: 0, y: 0, z: 0}
|
||||||
outSlope: {x: 0, y: 0, z: 0}
|
outSlope: {x: 0, y: 0, z: 0}
|
||||||
tangentMode: 0
|
tangentMode: 0
|
||||||
@ -62,8 +62,8 @@ AnimationClip:
|
|||||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 1.35
|
time: 1.3333334
|
||||||
value: {x: 31.3795, y: -0.5468, z: 18.132004}
|
value: {x: 31.3795, y: -0.5468, z: 18.1648}
|
||||||
inSlope: {x: 0, y: 0, z: 0}
|
inSlope: {x: 0, y: 0, z: 0}
|
||||||
outSlope: {x: 0, y: 0, z: 0}
|
outSlope: {x: 0, y: 0, z: 0}
|
||||||
tangentMode: 0
|
tangentMode: 0
|
||||||
@ -108,7 +108,7 @@ AnimationClip:
|
|||||||
m_AdditiveReferencePoseClip: {fileID: 0}
|
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||||
m_AdditiveReferencePoseTime: 0
|
m_AdditiveReferencePoseTime: 0
|
||||||
m_StartTime: 0
|
m_StartTime: 0
|
||||||
m_StopTime: 1.35
|
m_StopTime: 1.3333334
|
||||||
m_OrientationOffsetY: 0
|
m_OrientationOffsetY: 0
|
||||||
m_Level: 0
|
m_Level: 0
|
||||||
m_CycleOffset: 0
|
m_CycleOffset: 0
|
||||||
@ -138,7 +138,7 @@ AnimationClip:
|
|||||||
inWeight: 0.33333334
|
inWeight: 0.33333334
|
||||||
outWeight: 0.33333334
|
outWeight: 0.33333334
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 0.8333333
|
time: 0.6666667
|
||||||
value: 0
|
value: 0
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
@ -147,7 +147,7 @@ AnimationClip:
|
|||||||
inWeight: 0.33333334
|
inWeight: 0.33333334
|
||||||
outWeight: 0.33333334
|
outWeight: 0.33333334
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 1.35
|
time: 1.3333334
|
||||||
value: 0
|
value: 0
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
@ -177,7 +177,7 @@ AnimationClip:
|
|||||||
inWeight: 0.33333334
|
inWeight: 0.33333334
|
||||||
outWeight: 0.33333334
|
outWeight: 0.33333334
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 0.8333333
|
time: 0.6666667
|
||||||
value: 0.0067
|
value: 0.0067
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
@ -186,7 +186,7 @@ AnimationClip:
|
|||||||
inWeight: 0.33333334
|
inWeight: 0.33333334
|
||||||
outWeight: 0.33333334
|
outWeight: 0.33333334
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 1.35
|
time: 1.3333334
|
||||||
value: 0.0067
|
value: 0.0067
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
@ -208,7 +208,7 @@ AnimationClip:
|
|||||||
m_Curve:
|
m_Curve:
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 0
|
time: 0
|
||||||
value: 0.71499926
|
value: -0.536
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
tangentMode: 136
|
tangentMode: 136
|
||||||
@ -216,17 +216,17 @@ AnimationClip:
|
|||||||
inWeight: 0.33333334
|
inWeight: 0.33333334
|
||||||
outWeight: 0.33333334
|
outWeight: 0.33333334
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 0.8333333
|
time: 0.6666667
|
||||||
value: 0.364
|
value: -0.223
|
||||||
inSlope: -0.46888837
|
inSlope: 0.46785003
|
||||||
outSlope: -0.46888837
|
outSlope: 0.46785003
|
||||||
tangentMode: 136
|
tangentMode: 136
|
||||||
weightedMode: 0
|
weightedMode: 0
|
||||||
inWeight: 0.33333334
|
inWeight: 0.33333334
|
||||||
outWeight: 0.33333334
|
outWeight: 0.33333334
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 1.35
|
time: 1.3333334
|
||||||
value: 0.082
|
value: 0.0878
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
tangentMode: 136
|
tangentMode: 136
|
||||||
@ -255,7 +255,7 @@ AnimationClip:
|
|||||||
inWeight: 0.33333334
|
inWeight: 0.33333334
|
||||||
outWeight: 0.33333334
|
outWeight: 0.33333334
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 1.35
|
time: 1.3333334
|
||||||
value: 31.3795
|
value: 31.3795
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
@ -285,7 +285,7 @@ AnimationClip:
|
|||||||
inWeight: 0.33333334
|
inWeight: 0.33333334
|
||||||
outWeight: 0.33333334
|
outWeight: 0.33333334
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 1.35
|
time: 1.3333334
|
||||||
value: -0.5468
|
value: -0.5468
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
@ -307,7 +307,7 @@ AnimationClip:
|
|||||||
m_Curve:
|
m_Curve:
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 0
|
time: 0
|
||||||
value: 18.414
|
value: 17.854
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
tangentMode: 136
|
tangentMode: 136
|
||||||
@ -315,8 +315,8 @@ AnimationClip:
|
|||||||
inWeight: 0.33333334
|
inWeight: 0.33333334
|
||||||
outWeight: 0.33333334
|
outWeight: 0.33333334
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 1.35
|
time: 1.3333334
|
||||||
value: 18.132004
|
value: 18.1648
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
tangentMode: 136
|
tangentMode: 136
|
||||||
@ -334,4 +334,11 @@ AnimationClip:
|
|||||||
m_EulerEditorCurves: []
|
m_EulerEditorCurves: []
|
||||||
m_HasGenericRootTransform: 0
|
m_HasGenericRootTransform: 0
|
||||||
m_HasMotionFloatCurves: 0
|
m_HasMotionFloatCurves: 0
|
||||||
m_Events: []
|
m_Events:
|
||||||
|
- time: 1.3333334
|
||||||
|
functionName: PlayShrinkComplete
|
||||||
|
data:
|
||||||
|
objectReferenceParameter: {fileID: 0}
|
||||||
|
floatParameter: 0
|
||||||
|
intParameter: 0
|
||||||
|
messageOptions: 0
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 35f948453d152a04986763f636b3c194
|
guid: c7c24aeb0ca291d4583b5e28baf58f80
|
||||||
NativeFormatImporter:
|
NativeFormatImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
mainObjectFileID: 7400000
|
mainObjectFileID: 7400000
|
||||||
|
@ -494,4 +494,11 @@ AnimationClip:
|
|||||||
m_EulerEditorCurves: []
|
m_EulerEditorCurves: []
|
||||||
m_HasGenericRootTransform: 0
|
m_HasGenericRootTransform: 0
|
||||||
m_HasMotionFloatCurves: 0
|
m_HasMotionFloatCurves: 0
|
||||||
m_Events: []
|
m_Events:
|
||||||
|
- time: 2
|
||||||
|
functionName: PlayStretchComplete
|
||||||
|
data:
|
||||||
|
objectReferenceParameter: {fileID: 0}
|
||||||
|
floatParameter: 0
|
||||||
|
intParameter: 0
|
||||||
|
messageOptions: 0
|
||||||
|
@ -458,4 +458,11 @@ AnimationClip:
|
|||||||
m_EulerEditorCurves: []
|
m_EulerEditorCurves: []
|
||||||
m_HasGenericRootTransform: 0
|
m_HasGenericRootTransform: 0
|
||||||
m_HasMotionFloatCurves: 0
|
m_HasMotionFloatCurves: 0
|
||||||
m_Events: []
|
m_Events:
|
||||||
|
- time: 1.6666666
|
||||||
|
functionName: PlayShrinkComplete
|
||||||
|
data:
|
||||||
|
objectReferenceParameter: {fileID: 0}
|
||||||
|
floatParameter: 0
|
||||||
|
intParameter: 0
|
||||||
|
messageOptions: 0
|
||||||
|
@ -334,4 +334,11 @@ AnimationClip:
|
|||||||
m_EulerEditorCurves: []
|
m_EulerEditorCurves: []
|
||||||
m_HasGenericRootTransform: 0
|
m_HasGenericRootTransform: 0
|
||||||
m_HasMotionFloatCurves: 0
|
m_HasMotionFloatCurves: 0
|
||||||
m_Events: []
|
m_Events:
|
||||||
|
- time: 1
|
||||||
|
functionName: PlayStretchComplete
|
||||||
|
data:
|
||||||
|
objectReferenceParameter: {fileID: 0}
|
||||||
|
floatParameter: 0
|
||||||
|
intParameter: 0
|
||||||
|
messageOptions: 0
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user