Files
Studio/Assets/Scripts/XED/Machine/AGV/AGVOrderClass.cs
2025-02-28 15:37:55 +09:00

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