public RangeAttackState(FinitStateMachine stateMachine, SkeletonData data) : base(stateMachine)
 {
     _animator          = data.Animator;
     _target            = data.Player;
     _spawnPoint        = data.ArrowSpawnPoint;
     _projectileSpawner = new ProjectileSpawner(data.ArrowPrefab.name, 0f);
 }
Beispiel #2
0
 public MeleeAttackState(FinitStateMachine stateMachine, Transform target, Transform castPoint, Transform spawnPoint) : base(stateMachine)
 {
     _target            = target;
     _castPoint         = castPoint;
     _spawnPoint        = spawnPoint;
     _projectileSpawner = new ProjectileSpawner("PushableProjectile", 0f);
 }
 public MeleeAttackState(FinitStateMachine stateMachine, SkeletonData data) : base(stateMachine)
 {
     _animator       = data.Animator;
     _target         = data.Player;
     _damage         = data.DamageItem;
     _attackDistance = data.AttackDistance;
 }
Beispiel #4
0
 public CooldownState(FinitStateMachine stateMachine, BaseState nextState, float baseValue, float shiftValue = 0f)
     : base(stateMachine)
 {
     _baseValue  = baseValue;
     _shiftValue = shiftValue;
     _nextState  = nextState;
 }
 public DestroyShieldState(FinitStateMachine stateMachine, SkeletonData data) : base(stateMachine)
 {
     _animator       = data.Animator;
     _damage         = data.DamageItem;
     _attackCooldown = new WaitForSeconds(data.CooldownTime);
     _data           = data;
 }
Beispiel #6
0
 public BaseIdleDetectionsState(FinitStateMachine stateMachine, Transform owner, Transform target, float radius)
     : base(stateMachine)
 {
     _owner           = owner;
     _target          = target;
     _detectionRadius = radius;
 }
Beispiel #7
0
        public SingleProjectileCaseState(FinitStateMachine stateMachine, Transform target, Transform spawnPoint)
            : base(stateMachine)
        {
            _target     = target;
            _spawnPoint = spawnPoint;

            _projectileSpawner = new ProjectileSpawner("MavkaSingleProjectile", 0f);
        }
Beispiel #8
0
 public PatrolState(FinitStateMachine stateMachine, SkeletonData data) : base(stateMachine)
 {
     _locomotionController = data.LocomotionController;
     _wayPoints            = data.WayPoints;
     _player            = data.Player.transform;
     _owner             = data.Transform;
     _detectionDistance = data.DetectionDistance;
 }
Beispiel #9
0
 public ChasingState(FinitStateMachine stateMachine, SkeletonData data, IState attackState) : base(stateMachine)
 {
     _target                  = data.Player.transform;
     _transform               = data.Transform;
     _attackDistance          = data.AttackDistance;
     _npcLocomotionController = data.LocomotionController;
     _attackState             = attackState;
 }
Beispiel #10
0
        private void InitMeleeStateMachine()
        {
            _meleeStateMachine = new FinitStateMachine();

            MeleeIdleDetectionState idleState = new MeleeIdleDetectionState
                                                    (_meleeStateMachine, transform, player.transform, GameSettings.Instance.MeleeDetectionRadius);

            MeleeAttackState attackState
                = new MeleeAttackState(_meleeStateMachine, player.transform, _meleeCastPoint, _meleeSpawnPoint);

            CooldownState cooldownState = new CooldownState
                                              (_meleeStateMachine, idleState, GameSettings.Instance.MeleeCooldownBase,
                                              GameSettings.Instance.MeleeCooldownShift);

            _meleeStateMachine.AddStates(idleState, attackState, cooldownState);
        }
Beispiel #11
0
        private void InitRangeStateMachine()
        {
            _rangeStateMachine = new FinitStateMachine();

            RangeIdleDetectionState idleState = new RangeIdleDetectionState
                                                    (_rangeStateMachine, transform, player.transform, GameSettings.Instance.RangeDetectionRadius);

            SingleProjectileCaseState singleCastState
                = new SingleProjectileCaseState(_rangeStateMachine, player.transform, _singleProjectileSpawnPoint);

            SeveralProjectilesCastState severalCastState
                = new SeveralProjectilesCastState(_rangeStateMachine, player.transform, _severalProjectileSpawnPoints);

            AttackState attackState = new AttackState(_rangeStateMachine, singleCastState, severalCastState);

            CooldownState cooldownState = new CooldownState(
                _rangeStateMachine, idleState, GameSettings.Instance.RangeCooldownBase,
                GameSettings.Instance.RangeCooldownShift);

            _rangeStateMachine.AddStates(idleState, singleCastState, severalCastState, attackState, cooldownState);
        }
Beispiel #12
0
        protected override void InitStateMachine()
        {
            _stateMachine = new FinitStateMachine();

            BaseState idleState = null;

            if (data.WayPoints != null && data.WayPoints.Length > 1)
            {
                idleState = new PatrolState(_stateMachine, data);
            }
            else
            {
                idleState = new IdleDetectionState(_stateMachine, data);
            }

            var attackState     = new RangeAttackState(_stateMachine, data);
            var chasingState    = new ChasingState(_stateMachine, data, attackState);
            var cooldownState   = new ChasingCooldownState(_stateMachine, data, attackState);
            var takeDamageState = new TakeDamageState(_stateMachine, data, chasingState);

            _stateMachine.AddStates(idleState, chasingState, attackState, cooldownState, takeDamageState);
        }
 public MeleeIdleDetectionState(FinitStateMachine stateMachine, Transform owner, Transform target, float radius)
     : base(stateMachine, owner, target, radius)
 {
 }
 public ModularBuildingSystem(MonoBehaviour Mono)
 {
     Statemachine = new FinitStateMachine <ModularBuildingSystem> ();
     Statemachine.changeState(new ModularSpectate(), this);
     this.Mono = Mono;
 }
Beispiel #15
0
 public TakeDamageState(FinitStateMachine stateMachine, SkeletonData data, IState next) : base(stateMachine)
 {
     _locomotionController = data.LocomotionController;
     _animator             = data.Animator;
     _next = next;
 }
 public IdleDetectionState(FinitStateMachine stateMachine, SkeletonData data)
     : base(stateMachine, data.Transform, data.Player.transform, data.DetectionDistance)
 {
 }
Beispiel #17
0
 public BaseCastState(FinitStateMachine stateMachine) : base(stateMachine)
 {
 }
Beispiel #18
0
 public AttackState(FinitStateMachine stateMachine
                    , params BaseCastState[] castingStates) : base(stateMachine)
 {
     _castintStates = castingStates;
 }
 public SeveralProjectilesCastState(FinitStateMachine stateMachine, Transform target, params Transform[] spawnPoints) : base(stateMachine)
 {
     _projectileSpawner = new ProjectileSpawner("MavkaSeveralProjectile", 0f);
     _spawnPoints       = spawnPoints;
     _target            = target;
 }
Beispiel #20
0
 public ChasingCooldownState(FinitStateMachine stateMachine, SkeletonData data, IState attackState) : base(stateMachine, data, attackState)
 {
     _baseCooldown = data.CooldownTime;
 }