|
@@ -102,9 +102,9 @@ namespace Venus_RT.Modules.Schedulers
|
|
{
|
|
{
|
|
SchedulerItem item = new SchedulerItem();
|
|
SchedulerItem item = new SchedulerItem();
|
|
item.MoveType = ModuleHelper.IsLoadLock(swapItems[i].SourceModule) ? TMEntity.MSG.Pick : TMEntity.MSG.PMPick;
|
|
item.MoveType = ModuleHelper.IsLoadLock(swapItems[i].SourceModule) ? TMEntity.MSG.Pick : TMEntity.MSG.PMPick;
|
|
- item.target = swapItems[0].SourceModule;
|
|
|
|
|
|
+ item.target = swapItems[i].SourceModule;
|
|
item.moveList = new Queue<MoveItem>();
|
|
item.moveList = new Queue<MoveItem>();
|
|
- item.moveList.Enqueue(new MoveItem(swapItems[0].SourceModule, swapItems[0].SourceSlot, ModuleName.TM, i, (Hand)i));
|
|
|
|
|
|
+ item.moveList.Enqueue(new MoveItem(swapItems[i].SourceModule, swapItems[i].SourceSlot, ModuleName.TM, i, (Hand)i));
|
|
_schedulerList.Enqueue(item);
|
|
_schedulerList.Enqueue(item);
|
|
|
|
|
|
swap.moveList.Enqueue(new MoveItem(ModuleName.TM, i, swapItems[i].DestinationModule, swapItems[i].DestinationSlot, (Hand)i));
|
|
swap.moveList.Enqueue(new MoveItem(ModuleName.TM, i, swapItems[i].DestinationModule, swapItems[i].DestinationSlot, (Hand)i));
|
|
@@ -122,7 +122,7 @@ namespace Venus_RT.Modules.Schedulers
|
|
if (!ModuleHelper.IsTM(swapItems[j].DestinationModule))
|
|
if (!ModuleHelper.IsTM(swapItems[j].DestinationModule))
|
|
{
|
|
{
|
|
SchedulerItem item = new SchedulerItem();
|
|
SchedulerItem item = new SchedulerItem();
|
|
- item.MoveType = ModuleHelper.IsLoadLock(swapItems[j].SourceModule) ? TMEntity.MSG.Place : TMEntity.MSG.PMPlace;
|
|
|
|
|
|
+ item.MoveType = ModuleHelper.IsLoadLock(swapItems[j].DestinationModule) ? TMEntity.MSG.Place : TMEntity.MSG.PMPlace;
|
|
item.target = swapItems[j].DestinationModule;
|
|
item.target = swapItems[j].DestinationModule;
|
|
item.moveList = new Queue<MoveItem>();
|
|
item.moveList = new Queue<MoveItem>();
|
|
item.moveList.Enqueue(new MoveItem(ModuleName.TM, j - swapIndex, swapItems[j].DestinationModule, swapItems[j].DestinationSlot, (Hand)(j - swapIndex)));
|
|
item.moveList.Enqueue(new MoveItem(ModuleName.TM, j - swapIndex, swapItems[j].DestinationModule, swapItems[j].DestinationSlot, (Hand)(j - swapIndex)));
|
|
@@ -233,7 +233,13 @@ namespace Venus_RT.Modules.Schedulers
|
|
return true;
|
|
return true;
|
|
|
|
|
|
_currentScheduler = _schedulerList.Dequeue();
|
|
_currentScheduler = _schedulerList.Dequeue();
|
|
- if(_entity.CheckToPostMessage((int)_currentScheduler.MoveType, _currentScheduler.moveList.ToArray()))
|
|
|
|
|
|
+ Queue<MoveItem> moveItems = new Queue<MoveItem>();
|
|
|
|
+ foreach(var item in _currentScheduler.moveList)
|
|
|
|
+ {
|
|
|
|
+ moveItems.Enqueue(item);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(_entity.CheckToPostMessage((int)_currentScheduler.MoveType, moveItems))
|
|
{
|
|
{
|
|
_entityTaskToken = (int)_currentScheduler.MoveType;
|
|
_entityTaskToken = (int)_currentScheduler.MoveType;
|
|
}
|
|
}
|