using UnityEngine; namespace GameLogic.Combat.Hero.SubStatus { /// /// 战斗待机状态 /// public class FightIdleSubState : SubStatusBasic { private Vector3 initPos; protected Vector3 targetPos; private Vector3 startPos; private float moveSpped = 1; private float addTime; private float allTime; private float allTimeX; protected override void ProInit() { initPos = CombatHeroEntity.dotPos; allTimeX=Mathf.PI / 2; allTime = 0; } protected override void ProDispose() { } protected override void ProUpdate(float t) { allTime += t * 2f; allTimeX += t * 1f; Vector3 p = Vector3.Lerp(startPos, targetPos, allTime); float y = Mathf.Sin(allTime) * (CombatHeroEntity.IsEnemy ? 0.1f : -0.1f); float x = Mathf.Cos(allTimeX) * (CombatHeroEntity.IsEnemy ? 0.8f : -0.8f); p = initPos + new Vector3(x, y, 0); CombatHeroEntity.combatHeroGameObject.SetPosition(p); } } }