public virtual void Start()
        {
            var parent = gameObject.transform.parent.gameObject;

            shooterCollider = parent.GetComponent <Collider2D>();
            shooterTag      = parent.tag;
            damage          = parent.GetComponent <Entity>().damage;

            ShootingAbility = GetComponentInParent <ShootingAbility>();
            ShootingAbility.OnModifierAdded   += ModifierChangedHandler;
            ShootingAbility.OnModifierRemoved += ModifierChangedHandler;

            if (ShootingAbility == null)
            {
                Debug.LogError("Using Gun without Shooting ability on parent");
            }

            StartCoroutine(PeriodicallyShootCoroutine(ShootingAbility.isInfinityShooting, ShootingAbility.shootsCount));
        }
 public override void Init(ShootingAbility ability)
 {
     base.Init(ability);
     player = GameManager.instance.Player.transform;
 }
 private void Start()
 {
     playerShootingAbility = GameManager.instance.Player.GetComponentInChildren <ShootingAbility>();
     OnRestart();
 }
Пример #4
0
 public override void Init(ShootingAbility ability)
 {
     base.Init(ability);
     input = GameManager.instance.Platform.GetPlayerInputDependsOnPlatform();
     input.Shooting.Using += TryShoot;
 }