コード例 #1
0
    public override void Use(PlayerPowerup _powerupComponent)
    {
        var main = _powerupComponent.GetComponent <ParticleSystem>().main;

        main.maxParticles += numParticles;
        Destroy(this.gameObject);
    }
コード例 #2
0
ファイル: PlayerAttack.cs プロジェクト: DMattDraper/ArenaGame
 // Start is called before the first frame update
 void Start()
 {
     //Get Components
     rBody = GetComponent <Rigidbody2D>();
     pc    = GetComponent <PlayerController>();
     pp    = GetComponent <PlayerPowerup>();
 }
コード例 #3
0
        public override void DoPickup(Player p)
        {
            PlayerPowerup pp = p.gameObject.GetComponent <PlayerPowerup>();

            if (pp.CanPickUp(this))
            {
                Audio.Play("pickup", transform.position); //+PowerupType.ToString().ToLower()
                ParticleUI.Instance.GiveOrder(transform.position, ParticleType.Star, 1f, powerupColor);
                Owner = p;
                if (_useInstantly)
                {
                    UsePowerup();
                }
                else
                {
                    pp.Collect(this);
                }

                ElementManager.Instance.Remove(this);
                GameObject.Destroy(gameObject);
            }
            else
            {
                pp.AddCollided(this);
            }
        }
コード例 #4
0
        public void UpdateGUI(PlayerPowerup type, int val)
        {
            Text  text;
            Image img;

            switch (type)
            {
            case PlayerPowerup.Vortex:
                text = vortexText;
                img  = vortexImg;
                break;

            case PlayerPowerup.FreeSting:
                text = freeStingText;
                img  = freeStingImg;
                break;

            case PlayerPowerup.WaggleDance:
                text = waggleDanceText;
                img  = waggleDanceImg;
                break;

            default: return;
            }

            text.text = val.ToString("00");
            img.gameObject.SetActive(val > 0);
        }
コード例 #5
0
 // Start is called before the first frame update
 void Start()
 {
     // Fill Health
     health = maxHealth;
     // Get Components
     rBody = GetComponent <Rigidbody2D>();
     pc    = GetComponent <PlayerController>();
     pp    = GetComponent <PlayerPowerup>();
 }
コード例 #6
0
    public override void Use(PlayerPowerup _poweruoComponent)
    {
        Debug.Log("Item used");
        ParticleSystem ps     = _poweruoComponent.GetComponent <ParticleSystem>();
        var            trails = ps.trails;

        trails.enabled = true;

        StartCoroutine(SwitchOff(ps));
    }
コード例 #7
0
        public override void OnCollisionEnd(Collider c)
        {
            bool isPlayer = c.GameObject.tag == ObjectTag.Player;

            if (isPlayer)
            {
                PlayerPowerup pp = c.GameObject.GetComponent <PlayerPowerup>();
                pp.RemoveCollided(this);
            }
        }
コード例 #8
0
    void OnTriggerEnter2D(Collider2D other)
    {
        if (other.gameObject.tag == "Player")
        {
            PlayerController pc = other.gameObject.GetComponent <PlayerController>();
            PlayerPowerup    pp = other.gameObject.GetComponent <PlayerPowerup>();

            if (pc.state != PlayerController.State.Dashing && pc.state != PlayerController.State.Stunned && pp.powerup != PlayerPowerup.Powerup.Invincible)
            {
                Hit(other.gameObject);
            }
        }
    }
コード例 #9
0
 public void Start()
 {
     player             = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerPowerup>();
     playerIdForPowerup = (didPlayerCastPowerup) ? 0 : 1;
     if (overridePowerupDuration != powerupDuration.Off)
     {
         player.generalPowerupDuration = (int)overridePowerupDuration;
     }
     if (playerAlwaysHasPowerup)
     {
         UsePowerup(playerIdForPowerup);
     }
 }
コード例 #10
0
    private void Awake()
    {
        m_powerups = GetComponent <PlayerPowerup>();
        m_renderer = GetComponent <SpriteRenderer>();
        if (!m_powerups)
        {
            m_powerups = gameObject.AddComponent <PlayerPowerup>();
        }

        //m_seq = DOTween.Sequence();
        //m_seq.Append(m_renderer.DOFade(0.5f, 1f / CooldownTime));
        //m_seq.Append(m_renderer.DOFade(1f, 1f / CooldownTime));
        //m_seq.SetLoops(-1, LoopType.Yoyo);
        //m_seq.Kill();
    }
コード例 #11
0
        public IEnumerator ScheduleEffect(GameObject player)
        {
            myPlayerHealth = player.GetComponent <PlayerHealth>();
            myPowerup      = player.GetComponent <PlayerPowerup>();
            if (myIsActive)
            {
                // f*****g kill me.
                myInstantiatedGlow         = myPowerup.InstantiateEffectPrefabFromPerspectiveOfPlayer(myMainGlowingObject);
                myPlayerHealth.ShieldUsed += CleanUp;
                myPlayerHealth.hasShield   = true;
            }
            yield return(new WaitForSeconds(ActiveTime));

            CleanUp();
        }
コード例 #12
0
    void OnTriggerEnter2D(Collider2D other)
    {
        if (other.gameObject.tag == "Player")
        {
            PlayerPowerup pp = other.gameObject.GetComponent <PlayerPowerup>();

            if (pp.powerup != PlayerPowerup.Powerup.Invincible)
            {
                Hit(other.gameObject);
            }
        }
        else if (other.gameObject.tag == "Enemy")
        {
            Hit(other.gameObject);
        }
    }
コード例 #13
0
    public void AmmoCount(PlayerPowerup powerup)
    {
        var dttt = new List <GameObject>();

        for (int i = 0; i < AmmoLayout.transform.childCount; i++)
        {
            dttt.Add(AmmoLayout.transform.GetChild(i).gameObject);
        }
        dttt.ForEach(Destroy);


        var powerUps = new List <PowerUpData>();

        powerUps.AddRange(powerup.Powerups.ToArray());
        if (powerup.ActivePowerup != null && !powerUps.Contains(powerup.ActivePowerup))
        {
            powerUps.Add(powerup.ActivePowerup);
        }
        Debug.Log(powerUps.Count);
        foreach (var item in powerUps)
        {
            Debug.Log("number of shoots " + item.NumberOfShoots);
            for (int i = 1; i <= item.NumberOfShoots; i++)
            {
                GameObject obj = Instantiate(AmmoDummy, AmmoLayout.transform);
                switch (item.Type)
                {
                case BulletType.Gold:
                    obj.GetComponent <Image>().sprite = GoldBullet;
                    break;

                case BulletType.Silver:
                    obj.GetComponent <Image>().sprite = SilverBullet;
                    break;

                case BulletType.Bronze:
                    obj.GetComponent <Image>().sprite = BronzeBullet;
                    break;
                }
            }
        }
    }
コード例 #14
0
        public void ApplyPowerup(PlayerPowerup powerup)
        {
            switch (powerup)
            {
            case PlayerPowerup.FIRE:
                bombSize++;
                break;

            case PlayerPowerup.FIRE_DOWN:
                if (bombSize > 1)
                {
                    bombSize--;
                }
                break;

            case PlayerPowerup.BOMB:
                bombsLeft++;
                maxBombs++;
                break;

            case PlayerPowerup.BOMB_DOWN:
                if (maxBombs > 1)
                {
                    maxBombs--;
                    bombsLeft--;
                }
                break;

            case PlayerPowerup.SKATES:
                moveSpeed += 0.2f;
                break;

            case PlayerPowerup.GETA:
                moveSpeed -= 0.2f;
                break;

            case PlayerPowerup.RED_BOMB:
                bombType = BombType.RED;
                break;
            }
        }
コード例 #15
0
 public void SetPlayerPowerup(PlayerPowerup val)
 {
     playerPowerup = val;
     NotifyPowerupExists();
 }
コード例 #16
0
 public Refs(TimeScale ts, Score score, PlayerPowerup playerPowerup)
 {
     this.ts            = ts;
     this.score         = score;
     this.playerPowerup = playerPowerup;
 }
コード例 #17
0
 public abstract void Use(PlayerPowerup _powerupComponent);