public void RemoveTarget(NodeRemoveEvent e, SpiderActiveWithTargetNode activeSpider) { SpiderAnimatorComponent spiderAnimator = activeSpider.spiderAnimator; spiderAnimator.SetTarget(null); spiderAnimator.StartIdle(); }
public void UpdateTarget(UpdateEvent e, SpiderActiveWithTargetNode activeSpider, [JoinByTank] SingleNode <SelfTankComponent> tank) { Entity target = activeSpider.unitTarget.Target; if (!(target.Alive && target.HasComponent <TankActiveStateComponent>())) { activeSpider.Entity.RemoveComponent <UnitTargetComponent>(); } }
public void AcceptNewTarget(NodeAddedEvent e, SpiderActiveWithTargetNode activeSpider) { Entity target = activeSpider.unitTarget.Target; if (target.HasComponent <RigidbodyComponent>()) { SpiderMineConfigComponent spiderMineConfig = activeSpider.spiderMineConfig; SpiderAnimatorComponent spiderAnimator = activeSpider.spiderAnimator; spiderAnimator.Speed = spiderMineConfig.Speed; spiderAnimator.Acceleration = spiderMineConfig.Acceleration; spiderAnimator.SetTarget(target.GetComponent <RigidbodyComponent>().Rigidbody); spiderAnimator.StartRuning(); } }