public bool ResearchArmor(ButtonCooldown buttonCooldown) { bool canReasearch = false; if (!Manager.Instance.HasEnoughMana(researchCost)) { EventLog.Instance.AddAction(LogType.Error, "Not enough Mana ", transform.position); return(canReasearch); } else if (armorAmount == 3) { EventLog.Instance.AddAction(LogType.Error, Messages.AlreadyReachedMaxResearchLevel, transform.position); return(canReasearch); } else if (armorAmount == building.CurrentLevel) { EventLog.Instance.AddAction(LogType.Error, Messages.UpgradeForgeBeforeResearching, transform.position); return(canReasearch); } else if (building.IsUpgrading) { EventLog.Instance.AddAction(LogType.Error, Messages.CantResearchWhileUpgrading, transform.position); return(canReasearch); } else if (IsDoingResearch) { EventLog.Instance.AddAction(LogType.Error, "cant research while doing another research", transform.position); return(canReasearch); } canReasearch = true; buttonCooldown.SetCooldown(armorResearchTime); EventManager.Instance.ResearchStarted(this); StartCoroutine(UpgradeArmor(armorResearchTime)); return(canReasearch); }
public bool ResearchDamage(ButtonCooldown buttonCooldown) { bool canReasearch = false; if (!Manager.Instance.HasEnoughMana(researchCost)) { EventLog.Instance.AddAction(LogType.Error, "Not enough Mana ", transform.position); return(canReasearch); } else if (damageAmount == 3) { EventLog.Instance.AddAction(LogType.Error, "You already reached max research level", transform.position); return(canReasearch); } else if (damageAmount == building.CurrentLevel) { EventLog.Instance.AddAction(LogType.Error, "Upgrade your Forge ", transform.position); return(canReasearch); } else if (building.IsUpgrading) { EventLog.Instance.AddAction(LogType.Error, "You can't reasearch while the building is upgrading", transform.position); return(canReasearch); } else if (IsDoingResearch) { EventLog.Instance.AddAction(LogType.Error, "You can't research while doing another research", transform.position); return(canReasearch); } canReasearch = true; buttonCooldown.SetCooldown(damageResearchTime); EventManager.Instance.ResearchStarted(this); StartCoroutine(UpgradeDamage(damageResearchTime)); return(canReasearch); }
public void appendJournal(ButtonCooldown b) { GameControl.control.addToJournal(DateTime.Now.ToString ("t") + " - " + b.GetComponentInChildren<Text>().text/*GetComponentsInChildren<Text>()[0].text*/); b.SetCooldown (System.DateTime.Now.Ticks + 10000L * 1000L * 60L); b.interactable = false; AddCooldown (new Node (b.GetComponentInChildren<Text> ().text, b.GetCooldown ())); textboxInputs.text = GameControl.control.getJournal(); }
private IEnumerator DoUpgrade(float time) { EventManager.Instance.BuildingUpgradeStarted(this); upgradeCooldown.SetCooldown(upgradeTime); isUpgrading = true; yield return(new WaitForSeconds(time)); isUpgrading = false; currentLevel++; Sound.Instance.PlaySoundClipWithSource(upgradeCompleteSoundHolder, audioSource, 0); behaviour.LevelUp(); base.LevelUp(); DispenseAllSettlers(); EventLog.Instance.AddAction(LogType.Upgraded, objectName.ToString() + " leveled from " + (currentLevel - 1) + " to " + currentLevel, transform.position); }
public void ExecuteSkill(Transform target) { Manager.Instance.SkillOnMouse = false; PoolHolder.Instance.GetObjectActive(ParentObjectNameEnum.Character).GetComponent <Character>().Cast(skillObject, target); buttonCooldown.SetCooldown(skill.CooldownAmount); }