コード例 #1
0
 void Update()
 {
     currentHP    = healthMgr.CurrentHP;
     lastHitFreq  = healthMgr.LastHitFrequency;
     lastHitColor = healthMgr.LastHitColor;
     CheckHitpoints();
 }
コード例 #2
0
    //secondColor is "subtracted" from firstColor
    WeaponHit.WeaponColor SubtractColors(WeaponHit.WeaponColor firstColor, WeaponHit.WeaponColor secondColor)
    {
        WeaponHit.WeaponColor returnColor = WeaponHit.WeaponColor.blue;
        if (firstColor == WeaponHit.WeaponColor.purple)
        {
            if (secondColor == WeaponHit.WeaponColor.blue)
            {
                returnColor = WeaponHit.WeaponColor.red;
            }
            else if (secondColor == WeaponHit.WeaponColor.red)
            {
                returnColor = WeaponHit.WeaponColor.blue;
            }
            else
            {
                returnColor = WeaponHit.WeaponColor.purple;
            }
        }
        else if (firstColor == WeaponHit.WeaponColor.green)
        {
            if (secondColor == WeaponHit.WeaponColor.blue)
            {
                returnColor = WeaponHit.WeaponColor.yellow;
            }
            else if (secondColor == WeaponHit.WeaponColor.yellow)
            {
                returnColor = WeaponHit.WeaponColor.blue;
            }
            else
            {
                returnColor = WeaponHit.WeaponColor.green;
            }
        }
        else if (firstColor == WeaponHit.WeaponColor.orange)
        {
            if (secondColor == WeaponHit.WeaponColor.yellow)
            {
                returnColor = WeaponHit.WeaponColor.red;
            }
            else if (secondColor == WeaponHit.WeaponColor.red)
            {
                returnColor = WeaponHit.WeaponColor.yellow;
            }
            else
            {
                returnColor = WeaponHit.WeaponColor.orange;
            }
        }

        return(returnColor);
    }
コード例 #3
0
 public void Hit(WeaponHit weaponHit)
 {
     if (isMinion || isFodder)
     {
         currentHP -= weaponHit.damage;
     }
     else
     {
         this.gameObject.SendMessage("GotHit", weaponHit);
     }
     lastHitFreq  = weaponHit.frequency;
     lastHitType  = weaponHit.type;
     lastHitColor = weaponHit.color;
 }
コード例 #4
0
ファイル: Weapon.cs プロジェクト: picklenerd/Algeblaster
 public virtual void Fire()
 {
     if (canFire)
     {
         canFire = false;
         delayTimer.Go(delay);
         colorGlowEffect     = playerWeaponManager.WeaponColorGlow;
         projectileVelocity  = new Vector3(0, projectileSpeed, 0);
         projectileFrequency = playerWeaponManager.Frequency;
         projectileColor     = (WeaponHit.WeaponColor)playerWeaponManager.CurrentColor;
         GameObject myBullet = (GameObject)Instantiate(projectile, projectileSpawnPosition.transform.position, Quaternion.identity);
         myBullet.GetComponent <Projectile>().SetProperties(projectileSpeed, projectileBounds, projectileVelocity, projectileDamage, projectileFrequency, projectileType, projectileColor, projectileHitEffect);
         if (myFrequencyMode == PlayerManager.FrequencyModes.Color)
         {
             GameObject myGlow = (GameObject)Instantiate(colorGlowEffect, projectileSpawnPosition.transform.position, Quaternion.identity);
             myGlow.transform.parent = myBullet.transform;
         }
     }
 }
コード例 #5
0
    void SetColor()
    {
        switch (Random.Range(0, 6))
        {
        case 0:
            myColor = WeaponHit.WeaponColor.blue;
            myRenderer.material.color = Color.blue;
            isPrimary = true;
            break;

        case 1:
            myColor = WeaponHit.WeaponColor.red;
            myRenderer.material.color = Color.red;
            isPrimary = true;
            break;

        case 2:
            myColor = WeaponHit.WeaponColor.yellow;
            myRenderer.material.color = Color.yellow;
            isPrimary = true;
            break;

        case 3:
            myColor = WeaponHit.WeaponColor.purple;
            myRenderer.material.color = purple;
            isPrimary = false;
            break;

        case 4:
            myColor = WeaponHit.WeaponColor.green;
            myRenderer.material.color = Color.green;
            isPrimary = false;
            break;

        case 5:
            myColor = WeaponHit.WeaponColor.orange;
            myRenderer.material.color = orange;
            isPrimary = false;
            break;
        }
    }
コード例 #6
0
    void SetColor(WeaponHit.WeaponColor newColor)
    {
        switch (newColor)
        {
        case WeaponHit.WeaponColor.blue:
            myColor = WeaponHit.WeaponColor.blue;
            myRenderer.material.color = Color.blue;
            isPrimary = true;
            break;

        case WeaponHit.WeaponColor.red:
            myColor = WeaponHit.WeaponColor.red;
            myRenderer.material.color = Color.red;
            isPrimary = true;
            break;

        case WeaponHit.WeaponColor.yellow:
            myColor = WeaponHit.WeaponColor.yellow;
            myRenderer.material.color = Color.yellow;
            isPrimary = true;
            break;

        case WeaponHit.WeaponColor.purple:
            myColor = WeaponHit.WeaponColor.purple;
            myRenderer.material.color = purple;
            isPrimary = false;
            break;

        case WeaponHit.WeaponColor.green:
            myColor = WeaponHit.WeaponColor.green;
            myRenderer.material.color = Color.green;
            isPrimary = false;
            break;

        case WeaponHit.WeaponColor.orange:
            myColor = WeaponHit.WeaponColor.orange;
            myRenderer.material.color = orange;
            isPrimary = false;
            break;
        }
    }
コード例 #7
0
    void Awake()
    {
        myRenderer = transform.Find("PFM Mesh").GetComponent <Renderer>();
        switch (Random.Range(0, 3))
        {
        case 0:
            currentColor = WeaponHit.WeaponColor.purple;
            break;

        case 1:
            currentColor = WeaponHit.WeaponColor.green;
            break;

        case 2:
            currentColor = WeaponHit.WeaponColor.orange;
            break;

        default:
            currentColor = WeaponHit.WeaponColor.purple;
            break;
        }
        isPrimary = false;
    }
コード例 #8
0
 public virtual void SetProperties(float speed, Rect bounds, Vector3 velocity, int damage, int frequency, WeaponHit.WeaponType type, WeaponHit.WeaponColor color, GameObject effect)
 {
     mySpeed       = speed;
     myBounds      = bounds;
     myVelocity    = velocity;
     hit.damage    = damage;
     hit.frequency = frequency;
     hit.type      = type;
     hit.color     = color;
     hitEffect     = effect;
 }
コード例 #9
0
    void CheckHitpoints()
    {
        if (currentHP <= 0)
        {
            GameObject explosion = (GameObject)Instantiate(deathEffect, transform.position, Quaternion.identity);
            Destroy(explosion, 2f);
            //If the minion can't split anymore, it dies
            if (myColorManager.IsPrimary)
            {
                GetComponent <MinPFPowerupMgr>().SpawnOrbs(transform.position, orbModifier);
                EventManager.TriggerKilledMinion();
                Destroy(this.gameObject);
            }
            //If it can split, it does
            else
            {
                WeaponHit.WeaponColor newColor      = WeaponHit.WeaponColor.blue;
                WeaponHit.WeaponColor otherNewColor = WeaponHit.WeaponColor.blue;
                bool spawnBoth = false;
                switch (myColorManager.CurrentColor)
                {
                case WeaponHit.WeaponColor.purple:
                    if (lastHitColor == WeaponHit.WeaponColor.yellow)
                    {
                        spawnBoth     = true;
                        newColor      = WeaponHit.WeaponColor.blue;
                        otherNewColor = WeaponHit.WeaponColor.red;
                    }
                    else if (lastHitColor == WeaponHit.WeaponColor.blue)
                    {
                        newColor = WeaponHit.WeaponColor.red;
                    }
                    else
                    {
                        newColor = WeaponHit.WeaponColor.blue;
                    }
                    break;

                case WeaponHit.WeaponColor.green:
                    if (lastHitColor == WeaponHit.WeaponColor.red)
                    {
                        spawnBoth     = true;
                        newColor      = WeaponHit.WeaponColor.blue;
                        otherNewColor = WeaponHit.WeaponColor.yellow;
                    }
                    else if (lastHitColor == WeaponHit.WeaponColor.blue)
                    {
                        newColor = WeaponHit.WeaponColor.yellow;
                    }
                    else
                    {
                        newColor = WeaponHit.WeaponColor.blue;
                    }
                    break;

                case WeaponHit.WeaponColor.orange:
                    if (lastHitColor == WeaponHit.WeaponColor.blue)
                    {
                        spawnBoth     = true;
                        newColor      = WeaponHit.WeaponColor.yellow;
                        otherNewColor = WeaponHit.WeaponColor.red;
                    }
                    else if (lastHitColor == WeaponHit.WeaponColor.red)
                    {
                        newColor = WeaponHit.WeaponColor.yellow;
                    }
                    else
                    {
                        newColor = WeaponHit.WeaponColor.red;
                    }
                    break;
                }
                if (spawnBoth)
                {
                    GameObject newMinion = (GameObject)Instantiate(newShipPrefab, leftSpawn.transform.position, Quaternion.Euler(90, 0, 0));
                    newMinion.GetComponent <PFMColorManager>().CurrentColor = newColor;
                    newMinion.GetComponent <PFMColorManager>().IsPrimary    = true;
                    currentLevel.AddEnemy(newMinion);
                    newMinion = (GameObject)Instantiate(newShipPrefab, rightSpawn.transform.position, Quaternion.Euler(90, 0, 0));
                    newMinion.GetComponent <PFMColorManager>().CurrentColor = otherNewColor;
                    newMinion.GetComponent <PFMColorManager>().IsPrimary    = true;
                    currentLevel.AddEnemy(newMinion);
                    Instantiate(spawnedRocket, transform.position, Quaternion.Euler(new Vector3(0, 225, 180)));
                    Destroy(this.gameObject);
                    EventManager.TriggerCreatedMinion();
                }
                else
                {
                    GameObject newMinion = (GameObject)Instantiate(newShipPrefab, transform.position, Quaternion.Euler(90, 0, 0));
                    newMinion.GetComponent <PFMColorManager>().CurrentColor = newColor;
                    newMinion.GetComponent <PFMColorManager>().IsPrimary    = true;
                    currentLevel.AddEnemy(newMinion);
                    Destroy(this.gameObject);
                }
            }
        }
    }