Exemple #1
0
        public void RemoveTarget(NodeRemoveEvent e, SpiderActiveWithTargetNode activeSpider)
        {
            SpiderAnimatorComponent spiderAnimator = activeSpider.spiderAnimator;

            spiderAnimator.SetTarget(null);
            spiderAnimator.StartIdle();
        }
Exemple #2
0
        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>();
            }
        }
Exemple #3
0
        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();
            }
        }