using System; using System.Collections.Generic; using UnityEngine; namespace ET { [ComponentOf(typeof(Unit))] public class MoveComponent: Entity, IAwake, IDestroy { public Vector3 PreTarget { get { return this.Targets[this.N - 1]; } } public Vector3 NextTarget { get { return this.Targets[this.N]; } } // 开启移动协程的时间 public long BeginTime; // 每个点的开始时间 public long StartTime { get; set; } // 开启移动协程的Unit的位置 public Vector3 StartPos; public Vector3 RealPos { get { return this.Targets[0]; } } private long needTime; public long NeedTime { get { return this.needTime; } set { this.needTime = value; } } public long MoveTimer; public float Speed; // m/s public Action Callback; public List Targets = new List(); public Vector3 FinalTarget { get { return this.Targets[this.Targets.Count - 1]; } } public int N; public int TurnTime; public bool IsTurnHorizontal; public Quaternion From; public Quaternion To; } }