void DoHit(LightPower power) { if (power == LightPower.Damage) { GameState.Current.SetStatus(ActionState.GameOver); MessageWindow.Current.DisplayText("You killed an innocent bystander!"); DestroyObject(gameObject); } }
void Awake() { Current = this; OwnedPowers = LightPower.Damage; foreach (LightPower power in StartingPowers) { OwnedPowers |= power; } }
protected virtual void DoHit(LightPower power) { if (power == LightPower.Damage) { DealDamage(LightDamage * Time.fixedDeltaTime); if (!soundWait) { StartCoroutine(WaitForSoundTick()); Soundboard.PlayBadGuyDamage(); } } else if (power == LightPower.Freeze) { isFrozen = true; } }
public static Color GetEffectColor(LightPower power) { switch (power) { case LightPower.Damage: return(DAMAGE_COLOR); case LightPower.BreakTerrain: return(BREAK_COLOR); case LightPower.Freeze: return(FREEZE_COLOR); default: return(Color.white); } }
void DoHit(LightPower power) { if (GameState.CurrentActionState != ActionState.Playing) { return; } if (power != LightPower.BreakTerrain) { return; } Soundboard.PlayDestroy(); tmpPrefab = ParticlePrefabs[Random.Range(0, ParticlePrefabs.Length)]; Instantiate(tmpPrefab, ParticleSource.position, ParticleSource.rotation * tmpPrefab.rotation); DestroyObject(gameObject); }