float GetRange(GameStateScript.TowerType val) { switch (val) { case GameStateScript.TowerType.ALCHEMY: return(0); case GameStateScript.TowerType.BALLISTA: return(4); case GameStateScript.TowerType.CRYSTAL: return(4.0f); case GameStateScript.TowerType.FIRE: return(1.5f); case GameStateScript.TowerType.FLAMINGBALLISTA: return(4); case GameStateScript.TowerType.LASERTOWER: return(10); case GameStateScript.TowerType.LIGHT: return(3); case GameStateScript.TowerType.STEAM: return(3); case GameStateScript.TowerType.WATER: return(2); default: return(3); } }
public void SetTowerType(GameStateScript.TowerType newType) { Type = newType; }
public void OnSpawn() { myAnimator = GetComponent <Animator>(); switch (Type) {//Costs need to be changed in game state and in tower script //For animator state changes 0 crystal, 1 fire, 2 water, 3 laser, 4 steam, 5 ballista, 6 alchemy, 7 light case GameStateScript.TowerType.ALCHEMY: Damage = 0; Cost = 200; Range = 0; FireRate = 0; setImage(0); myAnimator.SetInteger("AnimationValue", 6); break; case GameStateScript.TowerType.BALLISTA: Damage = 10; Cost = 200; Range = 4; FireRate = 1; towerVFX = SpawnEffect(5); setImage(1); myAnimator.enabled = false; myAnimator.SetInteger("AnimationValue", 5); break; case GameStateScript.TowerType.CRYSTAL: Damage = 0; Cost = 750; Range = 4.0f; FireRate = 0.01f; towerVFX = SpawnEffect(2); setImage(3); myAnimator.SetInteger("AnimationValue", 0); break; case GameStateScript.TowerType.FIRE: Damage = 0; Cost = 300; Range = 1.5f; FireRate = 0.25f; towerVFX = SpawnEffect(0); setImage(4); myAnimator.SetInteger("AnimationValue", 1); break; case GameStateScript.TowerType.FLAMINGBALLISTA: Cost = 0; Damage = 10; Range = 5.0f; FireRate = 1; towerVFX = SpawnEffect(5); setImage(5); myAnimator.enabled = false; break; case GameStateScript.TowerType.LASERTOWER: Cost = 0; Damage = 20; Range = 10; FireRate = 0.05f; setImage(6); myAnimator.SetInteger("AnimationValue", 3); break; case GameStateScript.TowerType.LIGHT: Damage = 0; Cost = 500; Range = 3; FireRate = 0.01f; towerVFX = SpawnEffect(4); towerVFX2 = SpawnEffect(6); towerVFX2.transform.position = new Vector3(towerVFX2.transform.position.x, towerVFX2.transform.position.y, -6); setImage(7); myAnimator.SetInteger("AnimationValue", 7); break; case GameStateScript.TowerType.STEAM: Cost = 0; Damage = 0; Range = 3; FireRate = 1; towerVFX = SpawnEffect(1); setImage(8); myAnimator.SetInteger("AnimationValue", 4); break; case GameStateScript.TowerType.WATER: Damage = 5; Cost = 300; Range = 2.5f; FireRate = 0.75f; setImage(9); myAnimator.SetInteger("AnimationValue", 2); break; default: Type = GameStateScript.TowerType.BALLISTA; Damage = 10; Cost = 200; Range = 4; FireRate = 1; setImage(1); myAnimator.enabled = false; myAnimator.SetInteger("AnimationValue", 5); break; } time = FireRate; Range *= 16; }
public void SetSelectedType(GameStateScript.TowerType input) { SelectedType = input; }
void Combine() { bool valid = false; myTower.GetInputs(out InputOne, out InputTwo); GameStateScript.TowerType type1 = InputOne.GetComponent <TowerScript>().Type; GameStateScript.TowerType type2 = InputTwo.GetComponent <TowerScript>().Type; switch (type1) { case GameStateScript.TowerType.LIGHT: if (type2 == GameStateScript.TowerType.CRYSTAL) { myTower.SetTowerType(GameStateScript.TowerType.LASERTOWER); valid = true; } break; case GameStateScript.TowerType.CRYSTAL: if (type2 == GameStateScript.TowerType.LIGHT) { myTower.SetTowerType(GameStateScript.TowerType.LASERTOWER); valid = true; } break; case GameStateScript.TowerType.FIRE: if (type2 == GameStateScript.TowerType.BALLISTA) { myTower.SetTowerType(GameStateScript.TowerType.FLAMINGBALLISTA); valid = true; } if (type2 == GameStateScript.TowerType.WATER) { myTower.SetTowerType(GameStateScript.TowerType.STEAM); valid = true; } break; case GameStateScript.TowerType.BALLISTA: if (type2 == GameStateScript.TowerType.FIRE) { myTower.SetTowerType(GameStateScript.TowerType.FLAMINGBALLISTA); valid = true; } break; case GameStateScript.TowerType.WATER: if (type2 == GameStateScript.TowerType.FIRE) { myTower.SetTowerType(GameStateScript.TowerType.STEAM); valid = true; } break; default: break; } if (!valid) { myTower.Explode(); } else { myTower.OnSpawn(); } }