Ejemplo n.º 1
0
        /// <summary>
        /// Initialize this weapon.
        /// </summary>
        public virtual void Initialization()
        {
            Flipped         = false;
            _spriteRenderer = this.gameObject.GetComponent <SpriteRenderer> ();
            _comboWeapon    = this.gameObject.GetComponent <ComboWeapon>();


            SetParticleEffects(false);
            WeaponState = new InfStateMachine <WeaponStates>(gameObject, true);
            WeaponState.ChangeState(WeaponStates.WeaponIdle);
            WeaponAmmo          = GetComponent <WeaponAmmo> ();
            _animatorParameters = new List <List <string> >();
            _aimableWeapon      = GetComponent <WeaponAim>();
            InitializeAnimatorParameters();
            if (WeaponAmmo == null)
            {
                CurrentAmmoLoaded = MagazineSize;
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Describes what happens when the weapon starts
 /// </summary>
 protected virtual void TurnWeaponOn()
 {
     SfxPlayWeaponStartSound();
     WeaponState.ChangeState(WeaponStates.WeaponStart);
     if ((_characterHorizontalMovement != null) && (ModifyMovementWhileAttacking))
     {
         _movementMultiplierStorage = _characterHorizontalMovement.MovementSpeedMultiplier;
         _characterHorizontalMovement.MovementSpeedMultiplier = MovementMultiplier;
     }
     if (_comboWeapon != null)
     {
         _comboWeapon.WeaponStarted(this);
     }
     if (PreventAllMovementWhileInUse && (_characterHorizontalMovement != null) && (_controller != null))
     {
         _controller.SetForce(Vector2.zero);
         _characterHorizontalMovement.SetHorizontalMove(0f);
         _characterHorizontalMovement.MovementForbidden = true;
     }
 }