42 lines
801 B
C#
42 lines
801 B
C#
|
using Godot;
|
||
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using System.Diagnostics;
|
||
|
|
||
|
public class TaskQueueComponent : Component
|
||
|
{
|
||
|
public class Task
|
||
|
{
|
||
|
}
|
||
|
|
||
|
public class NavigationTask : Task
|
||
|
{
|
||
|
[Flags] public enum Flags
|
||
|
{
|
||
|
Position = 1,
|
||
|
Orientation = 2
|
||
|
}
|
||
|
|
||
|
public Vector3 TargetPositionWorld = Vector3.Zero;
|
||
|
public Quat TargetOrientationWorld = Quat.Identity;
|
||
|
public Flags NavigationFlags = Flags.Position | Flags.Orientation;
|
||
|
}
|
||
|
|
||
|
public class InteractionTask : Task
|
||
|
{
|
||
|
public Entity TargetEntity;
|
||
|
}
|
||
|
|
||
|
public Queue<Task> Queue;
|
||
|
|
||
|
public TaskQueueComponent()
|
||
|
{
|
||
|
Queue = new Queue<Task>();
|
||
|
Reset();
|
||
|
}
|
||
|
|
||
|
public void Reset()
|
||
|
{
|
||
|
Queue.Clear();
|
||
|
}
|
||
|
}
|