104 lines
3.0 KiB
C#
104 lines
3.0 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace XED.Machine
|
|
{
|
|
public enum TargetCase
|
|
{
|
|
None,
|
|
One,
|
|
Two,
|
|
List
|
|
}
|
|
|
|
[Serializable]
|
|
public class AGVOrderClass
|
|
{
|
|
public AGVTaskType agvTaskType=AGVTaskType.Waiting;
|
|
public TargetCase targetCase = TargetCase.None;
|
|
public Vector3 target = new Vector3();
|
|
public Vector3 target2 = new Vector3();
|
|
public Component targetcomp = new Component();
|
|
public GameObject targetObject;
|
|
public Quaternion targetQuaternion;
|
|
List<object> targetList = new List<object>();
|
|
|
|
public AGVOrderClass(AGVTaskType task)
|
|
{
|
|
agvTaskType = task;
|
|
targetCase = TargetCase.None;
|
|
}
|
|
|
|
public AGVOrderClass(AGVTaskType task, Quaternion targetQuaternion)
|
|
{
|
|
agvTaskType = task;
|
|
this.targetQuaternion = targetQuaternion;
|
|
targetCase = TargetCase.One;
|
|
}
|
|
|
|
public AGVOrderClass(AGVTaskType task,GameObject targetObject)
|
|
{
|
|
agvTaskType = task;
|
|
target = targetObject.transform.position;
|
|
this.targetObject = targetObject;
|
|
targetCase = TargetCase.One;
|
|
}
|
|
|
|
public AGVOrderClass(AGVTaskType task, Vector3 targetVector)
|
|
{
|
|
agvTaskType = task;
|
|
target = targetVector;
|
|
targetCase = TargetCase.One;
|
|
}
|
|
|
|
public AGVOrderClass(AGVTaskType task, GameObject targetObject, GameObject target2Object)
|
|
{
|
|
agvTaskType = task;
|
|
target = targetObject.transform.position;
|
|
target2 = target2Object.transform.position;
|
|
targetCase = TargetCase.Two;
|
|
}
|
|
|
|
public AGVOrderClass(AGVTaskType task, GameObject targetObject, Component comp)
|
|
{
|
|
agvTaskType = task;
|
|
this.targetObject = targetObject;
|
|
targetcomp = comp;
|
|
targetCase = TargetCase.Two;
|
|
}
|
|
|
|
public AGVOrderClass(AGVTaskType task, GameObject targetObject, Vector3 target2Vector)
|
|
{
|
|
agvTaskType = task;
|
|
target = targetObject.transform.position;
|
|
target2 = target2Vector;
|
|
targetCase = TargetCase.Two;
|
|
}
|
|
|
|
public AGVOrderClass(AGVTaskType task, Vector3 targetVector, GameObject target2Object)
|
|
{
|
|
agvTaskType = task;
|
|
target = targetVector;
|
|
target2 = target2Object.transform.position;
|
|
targetCase = TargetCase.Two;
|
|
}
|
|
|
|
public AGVOrderClass(AGVTaskType task, Vector3 targetVector, Vector3 target2Vector)
|
|
{
|
|
agvTaskType = task;
|
|
target = targetVector;
|
|
target2 = target2Vector;
|
|
targetCase = TargetCase.Two;
|
|
}
|
|
|
|
public AGVOrderClass(AGVTaskType task,List<object> testList)
|
|
{
|
|
agvTaskType = task;
|
|
targetList = testList;
|
|
targetCase = TargetCase.List;
|
|
}
|
|
}
|
|
}
|