void Update() { currentHP = healthMgr.CurrentHP; lastHitFreq = healthMgr.LastHitFrequency; lastHitColor = healthMgr.LastHitColor; CheckHitpoints(); }
//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); }
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; }
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; } } }
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; } }
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; } }
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; }
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; }
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); } } } }