public void UpgradeTower() { // finds the selected object objectToUpgrade = GameObject.FindGameObjectWithTag("Selected"); if (objectToUpgrade != null) { // gets the towerManagement script towerManagement = objectToUpgrade.GetComponent <TowerManagement> (); // gets the tower that the object upgrades to towerUpgrade = towerManagement.upgradedTower; // gets the towerStats script of the upgraded tower if (towerUpgrade != null) { upgradeTowerStats = towerUpgrade.GetComponent <TowerStats> (); } else { return; } scoreManager = GameObject.FindObjectOfType <ScoreManager> (); if (scoreManager.money >= upgradeTowerStats.price && objectToUpgrade != null && towerUpgrade != null) { scoreManager.money -= upgradeTowerStats.price; Vector3 postion = objectToUpgrade.transform.position; Quaternion rotation = objectToUpgrade.transform.rotation; Instantiate(towerUpgrade, postion, rotation); Destroy(objectToUpgrade); } } }
void Start() { Stats = this.gameObject.GetComponent <TowerStats>(); ChemTrailScript = ChemTrail.GetComponent <ChimicalTrail>(); InvokeRepeating("UpdateTarget", 0f, 0.1f); //ChemTrailScript.OverTimeDMG = DMGOverTime / 2f; }
public void UpdateTowerStats(TowerStats towerStats) { SetDamage(towerStats.MinDamage, towerStats.MaxDamage); SetHealth(towerStats.MaxHealth); SetFireRate(towerStats.FireRate); SetSlowDownFactor(towerStats.SlowFactor); }
public void SetInfo(float damage, float firerate, TowerStats ts, GameObject go) { Vector2 dvector = damageTrans.sizeDelta; dvector.x = 60 * (damage / 6); damageTrans.sizeDelta = dvector; Vector2 fvector = fireTrans.sizeDelta; fvector.x = 60 * (0.3f / firerate); fireTrans.sizeDelta = fvector; if (!ts.dirMatter) { transform.Find("Dropdown").gameObject.SetActive(false); } else { transform.Find("Dropdown").gameObject.SetActive(true); this.ts = ts; transform.Find("Dropdown").GetComponent <Dropdown>().value = ts.dir; } transform.Find("Name").GetComponent <Text>().text = ts.hireName; transform.Find("Icon").Find("Content").GetComponent <Image>().sprite = ts.icon; this.ts = ts; transform.Find("Upgrade").GetComponent <UpgradeScript>().TsSetup(ts); currentGameObject = go; UpgradeSetup(); }
private ConstructionView.DisplayUIComp[] GetTowerUpgradePath(TowerUnit towerUnit) { if (towerUnit.unitStats == null) { return(null); } TowerStats towerStats = (TowerStats)towerUnit.unitStats; List <ConstructionView.DisplayUIComp> uiComps = new List <ConstructionView.DisplayUIComp>(); if (towerStats.upgrade_path != null && towerStats.upgrade_path.Length > 0) { int upgradePathLength = towerStats.upgrade_path.Length; for (int i = 0; i < upgradePathLength; i++) { uiComps.Add(GetTowerUIComp(towerUnit, towerStats.upgrade_path[i])); } } uiComps.Add(GetTowerInfoComp(towerStats)); uiComps.Add(GetTowerSaleComp(towerStats)); return(uiComps.ToArray()); }
public void SetStats(TowerStats stats) { costValue.text = "$ " + stats.cost; damageValue.text = stats.damage.ToString(); firerateValue.text = Math.Round(1 / stats.shootInterval, 2) + "/s"; rangeValue.text = stats.range.ToString(); }
public static void BuildTower(Transform position, TowerStats stats) { Tower tower = MonoBehaviour.Instantiate(variables.towerPrefab); tower.transform.position = new Vector3(position.transform.position.x, position.transform.position.y, -2); tower.Stats = stats; }
void Awake() { inRange = new List <GameObject>(); lastShoot = Time.time; information = GameObject.Find("UICanvas").transform.Find("Information").gameObject; currentAmmo = maxAmmo; needAmmo = transform.Find("NeedAmmo").gameObject; highlight = transform.Find("Highlight").gameObject; highlight.GetComponent <SpriteRenderer>().color = canBuild; if (isUpgrade) { state = State.BUILT; } else { state = State.SELECT; } anim = transform.Find("Content").GetComponent <Animator>(); shooting = false; ts = GetComponent <TowerStats>(); }
public void AssignTowerData(Tower tower) { gameObject.SetActive(tower != null); m_tower = tower; TowerSaveData saveData = tower.GetSaveData(); TowerStats stats = tower.GetData().Stats; var data = tower.GetCreatureData(); m_towerImage.sprite = data.TowerData.TowerSprite; m_towerName.text = data.TowerData.name; var abilities = tower.GetEquippedAbilities(); m_ability1Panel.AssignData(abilities[0]); m_ability2Panel.AssignData(abilities.Count > 1 ? abilities[1] : null); SelectAbility(tower.CurrentAbilityIndex); m_xpImage.fillAmount = GameManager.Instance.GetNextLevelXpPercentage(saveData.xp, saveData.level); m_levelTMPro.text = LEVEL_BASE_TEXT + saveData.level; m_attackValueTMPro.text = "+" + stats.GetStat(EStat.AttackBuff).ToString("F0") + "%"; m_hasteValueTMPro.text = "+" + stats.GetStat(EStat.Haste).ToString("F0") + "%"; m_rangeValueTMPro.text = "+" + stats.GetStat(EStat.Range).ToString("F0") + "%"; m_presenceValueTMPro.text = "+" + stats.GetStat(EStat.Presence).ToString("F0") + "%"; m_type1Icon.AssignType(data.CreaturePrimaryType); m_type2Icon.AssignType(data.CreatureSecondaryType); }
public short getCost() { if (stats.cost == 0) { stats = GetComponentInParent <TowerTypes>().getTowerStats(type); } return(stats.cost); }
/// <summary> /// This method is for displaying range of tower that wasn`t spawned yet /// </summary> /// <param name="spawner"></param> /// <param name="tower"></param> public void ShowRange(TowerSpawner spawner, TowerStats stats) { transform.position = new Vector3(spawner.transform.position.x, spawner.transform.position.y - 0.2f, spawner.transform.position.z); transform.localScale = Vector3.zero; StartResize(new Vector3(stats.DoubledInitialRange, 0.01f, stats.DoubledInitialRange)); }
public void SetStats(TowerStats stats, int index) { this.stats = stats; //NOTE(Simon): Index [1], to ignore self. GetComponentsInChildren <Image>()[1].sprite = Resources.Load <Sprite>(stats.image); GetComponentInChildren <Text>().text = index.ToString(); }
// Use this for initialization void Start() { tower = transform.parent.GetComponent<TowerStats>(); manager = transform.parent.GetComponent<EarthProjectilesManager>(); damage = tower.getDamage(); armorPen = tower.getArmorPen(); type = tower.getType(); }
private ConstructionView.DisplayUIComp GetTowerSaleComp(TowerStats towerStats) { return(FormTowerUIComp("Sale", towerStats.id, UtilityMethod.LoadSpriteFromMulti(spriteSheet, VariableFlag.TowerSpriteID.TowerSale), () => { SelectTowerToSale(currentSelectedNode, towerStats); })); }
private ConstructionView.DisplayUIComp GetTowerUIComp(TowerUnit towerUnit, TowerStats towerStats) { return(FormTowerUIComp("$" + towerStats.cost, towerStats.id, towerStats.sprite, () => { SelectTowerToUpgrade(towerUnit, towerStats); })); }
//TODO //Get Tower Price and add it to calculation in PricePlusUpgrade and OnSell funciton public void SetTarget(TowerStats _target) { Debug.Log("Set Target"); target = _target; transform.position = target.GetBuildPosition(); UI.SetActive(true); }
static private void CreateTowerStats(StatsHolder statsHolder) { TextAsset csvText = (TextAsset)AssetDatabase.LoadAssetAtPath(DATABASE_FOLDER + "/CSV/database - tower.csv", typeof(TextAsset)); UnityEngine.Object[] rawSpriteSheet = AssetDatabase.LoadAllAssetsAtPath(TOWER_SPRITE_PATH); var sprteSheet = rawSpriteSheet.Where(q => q is Sprite).Cast <Sprite>().ToArray(); CSVFile csvFile = new CSVFile(csvText.text); AssetDatabase.CreateFolder(DATABASE_FOLDER + "/Asset", "Tower"); int csvCount = csvFile.length; for (int i = csvCount - 1; i >= 0; i--) { string id = csvFile.Get <string>(i, "ID"); if (string.IsNullOrEmpty(id)) { continue; } TowerStats c_prefab = ScriptableObjectUtility.CreateAsset <TowerStats>(DATABASE_FOLDER + "/Asset/Tower/", "[TowerStat] " + id); EditorUtility.SetDirty(c_prefab); c_prefab.id = id; c_prefab.label = csvFile.Get <string>(i, "Label"); c_prefab.tag = csvFile.Get <string>(i, "Tag"); c_prefab.hp = csvFile.Get <float>(i, "HP"); c_prefab.level = csvFile.Get <int>(i, "Level"); c_prefab.atk = csvFile.Get <float>(i, "ATK"); c_prefab.spd = csvFile.Get <float>(i, "SPD"); c_prefab.range = csvFile.Get <float>(i, "RANGE"); c_prefab.cost = csvFile.Get <int>(i, "COST"); c_prefab.value = c_prefab.cost; string upgradePath = csvFile.Get <string>(i, "Update Path"); if (!string.IsNullOrEmpty(upgradePath)) { string[] upgradePathArray = upgradePath.Split(new string[] { "," }, System.StringSplitOptions.None); c_prefab = UpdateTowerUpgradePath(c_prefab, statsHolder, upgradePathArray); } string rawSkills = csvFile.Get <string>(i, "Skill"); if (!string.IsNullOrEmpty(rawSkills)) { string[] skillArray = rawSkills.Split(new string[] { "," }, System.StringSplitOptions.None); c_prefab.skills = GetSkillFromIDs(statsHolder, skillArray); } c_prefab.sprite = UtilityMethod.LoadSpriteFromMulti(sprteSheet, csvFile.Get <string>(i, "Sprite ID")); statsHolder.stpObjectHolder.Add(c_prefab); } }
private void Start() { stats = GetComponentInParent <TowerTypes>().getTowerStats(type); timer = stats.rateFire; startPos = new Vector2(transform.position.x, transform.position.y); m.frames.addItem(this); m.tracker.addTower(this); usesLeft = stats.uses; }
public static TowerStats operator +(TowerStats stats1, TowerStats stats2) { var t = new TowerStats(); t.AtmosphereRange = stats1.AtmosphereRange + stats2.AtmosphereRange; t.UnitsGeneratedPerSecond = stats1.UnitsGeneratedPerSecond + stats2.UnitsGeneratedPerSecond; t.Endurance = stats1.Endurance + stats2.Endurance; return(t); }
/// <summary> /// Обновляет башню на позиции /// </summary> /// <param name="order">Номер площадки</param> public void UpgradeTower(int order) { TowerStats stats = _getStatsByOrder(order); var newPrefid = (int)stats.Type * 3 + stats.Level; var newStats = _towerStatsList[newPrefid]; DestroyTower(order); _setTower(order, newStats); }
private void Awake() { if (string.IsNullOrEmpty(towerName)) { towerName = gameObject.name; } _stats = GetComponent <TowerStats>(); }
// Update is called once per frame void Update() { if (mHealth <= 0) { if (gameObject.name == "ufo" || gameObject.name == "ufo(Clone)") { Transform [] ts = gameObject.GetComponentsInChildren <Transform>(); for (int i = 0; i < ts.Length; i++) { if (ts[i].gameObject.tag == "Enemy" && ts[i].gameObject.name != gameObject.name) { ts[i].gameObject.transform.parent = null; ts[i].gameObject.transform.position = new Vector3(ts[i].gameObject.transform.position.x, 0.0f, ts[i].gameObject.transform.position.z); Debug.Log("WWWWWWWWWWWWWWWWW"); } } /* * foreach(Transform child in gameObject.transform) * { * Debug.Log("WWWWWWWWWWWWWWWWW"); * if(child.gameObject.tag == "Enemy") * { * * child.gameObject.transform.parent = null; * child.gameObject.transform.position = new Vector3(child.gameObject.transform.position.x, 0.0f, child.gameObject.transform.position.z); * } * } */ } GameObject gc = GameObject.FindGameObjectWithTag("GameController"); if (gc) { NewSpawnWaves sw = gc.GetComponent <NewSpawnWaves>(); if (gameObject.name != "Shield") { sw.numEnemiesRemaining--; } } GameObject theTower = GameObject.FindGameObjectWithTag("TheTower"); TowerStats towerStats = theTower.GetComponent <TowerStats>(); towerStats.mScore += mResources; towerStats.mResources += mResources; Instantiate(enemyDummy, transform.position, transform.rotation); Destroy(gameObject); } if (beenSlowed) { duration -= Time.deltaTime; if (duration <= 0) { beenSlowed = false; mSpeed = origSpeed; } } }
// Start is called before the first frame update void Start() { //YOU MUST INITIALISE TOWERS HERE //TOWER NAME MUST BE THE SAME AS THE BUTTON NAME UIAudio = AudioObjUI.GetComponent <AudioSource>(); TowerStats BaseTower = new TowerStats(); BaseTower.TowerName = "btnCreateTower_1"; BaseTower.TowerCost = 50; BaseTower.TowerObj = Towers[0]; TowerClasses.Add(BaseTower); TowerStats MoneyGenTower = new TowerStats(); MoneyGenTower.TowerName = "btnCreateTower_MoneyGen"; MoneyGenTower.TowerCost = 100; MoneyGenTower.TowerObj = Towers[1]; TowerClasses.Add(MoneyGenTower); TowerStats CannonTower = new TowerStats(); CannonTower.TowerName = "btnCreateCannon"; CannonTower.TowerCost = 200; CannonTower.TowerObj = Towers[2]; TowerClasses.Add(CannonTower); TowerStats Flamer = new TowerStats(); Flamer.TowerName = "btnCreateFlamer"; Flamer.TowerCost = 1000; Flamer.TowerObj = Towers[3]; TowerClasses.Add(Flamer); TowerStats LightningTower = new TowerStats(); LightningTower.TowerName = "btnCreateLightning"; LightningTower.TowerCost = 1500; LightningTower.TowerObj = Towers[4]; TowerClasses.Add(LightningTower); TowerStats RaftTower = new TowerStats(); RaftTower.TowerName = "RaftTower"; RaftTower.TowerCost = 200; RaftTower.TowerObj = Towers[5]; TowerClasses.Add(RaftTower); TowerStats HarpoonTower = new TowerStats(); HarpoonTower.TowerName = "btnCreateHarpoon"; HarpoonTower.TowerCost = 500; HarpoonTower.TowerObj = Towers[6]; TowerClasses.Add(HarpoonTower); }
// Use this for initialization void Start() { shotAudio = GetComponent <AudioSource> (); towerStats = GameObject.FindObjectOfType <TowerStats> (); range = towerStats.range * 5f; fireRate = towerStats.fireRate; origin = new Vector3(0, 0, 0); }
public void SetStats(TowerStats stats) { stats.range += 0.5f; this.stats = stats; GetComponent <SpriteRenderer>().sprite = Resources.Load <Sprite>(stats.image); var rangeSpriteSize = rangeIndicator.GetComponent <SpriteRenderer>().sprite.rect; var rangeSizeLocal = World.WorldToLocalDist(rangeSpriteSize.width); rangeIndicator.transform.localScale = new Vector3(stats.range / rangeSizeLocal * 2, stats.range / rangeSizeLocal * 2); }
public void updatePanel(Sprite _sprite, string _name, TowerStats stats) { sprite.sprite = _sprite; towerName.text = _name; cost.text = "Cost: " + stats.cost; range.text = "Range: " + stats.range; rateOfFire.text = "Fire Rate: " + (short)(30 / stats.rateFire); damage.text = "Damage: " + stats.damage; uses.text = "Uses: " + stats.uses; }
void PlaceTower(TowerStats stats, Vector2Int localPos) { var tower = Instantiate(towerPrefab, LocalToWorldPos(localPos), Quaternion.identity, towerHolder.transform); tower.GetComponent <Tower>().active = true; tower.GetComponent <Tower>().SetStats(stats); map[localPos.x, localPos.y] = tower; money -= stats.cost; }
public void UpdateTs(TowerStats ts) { this.ts = ts; blerb.text = ts.blurb; hireName.text = ts.hireName; transform.Find("Icon").Find("Image").GetComponent <Image>().sprite = ts.icon; wage.text = "Wave Wage: " + ts.wage + " Coins"; resetStuff(); }
public static void Sell(Transform position, TowerStats stats) { int gold = stats.buildPrice / 2; Treasury.AddGold(gold); Builder.BuildSlot(position); Destroyer destroyer = position.GetComponentInParent <Destroyer>(); destroyer.DestroyYourself(); }
public static void TryToBuild(Transform position, TowerStats stats) { int gold = stats.buildPrice; if (Treasury.Withdraw(gold)) { Builder.BuildTower(position, stats); Destroyer destroyer = position.GetComponentInParent <Destroyer>(); destroyer.DestroyYourself(); } }
void Start() { //turret = transform.parent.gameObject; turret = this.transform.parent.gameObject; enemies = new Queue(); towerStats = GetComponent <TowerStats>(); deltaTime = 0.0f; //rateOfFire = towerStats.fireRate; //DPS = towerStats.damagePerShot; //print(rateOfFire + " " + DPS); }