public void HighlightCharacter(Character character) { if (highlightedChar != null) { charactersDict[highlightedChar].GetComponent <CampCharacterCustomization>().SetDefaultColor(); } moneyImage.gameObject.SetActive(true); priceText.gameObject.SetActive(true); highlightedCharPrice = character.GetType() == typeof(SpecialCharacter) ? CharactersOptions.GetSpPrice(character.Level) : CharactersOptions.GetComPrice(character.Level); priceText.text = highlightedCharPrice.ToString(); if (DataScript.SData.Money >= highlightedCharPrice && DataScript.ChData.PanelCharacters.Count < CharactersOptions.PanelCellsMaxAmount) { hireButton.interactable = true; } else { hireButton.interactable = false; } highlightedChar = character; }
public static void AssignDefaultData() { //sData DataScript.SData.ItemsCount = new int[ItemsOptions.totalAmount]; for (int i = 0; i < ItemsOptions.totalAmount; i++) { DataScript.SData.ItemsCount[i] = 5; } DataScript.SData.Money = 1000000; //chData Character arrestedChar = CharactersOptions.GetRandomCharacter(5); arrestedChar.AddToPolice(); DataScript.ChData.AddCharacter(arrestedChar); Character hospitalChar = CharactersOptions.GetRandomCharacter(6); hospitalChar.AddToHospital(); DataScript.ChData.AddCharacter(hospitalChar); Character[] characters = new[] { CharactersOptions.GetRandomCharacter(6), CharactersOptions.GetRandomCharacter(5), CharactersOptions.GetRandomCharacter(4) }; //chData.panelCharacters.Add(CharactersOptions.GetRandomCommonCharacter(8)); //chData.panelCharacters.Add(CharactersOptions.GetRandomCommonCharacter(9)); //chData.panelCharacters.Add(CharactersOptions.GetSpecialCharacter(9, 0)); DataScript.ChData.AddCharacter(CharactersOptions.GetSpecialCharacter(9, 1)); DataScript.ChData.AddCharacter(characters[0]); DataScript.ChData.AddCharacter(characters[1]); DataScript.ChData.AddCharacter(characters[2]); //eData DataScript.EData.PoliceKnowledge = 0; RobberiesOptions.GetNewRobberies(); //pData DataScript.PData.IsItemAvailable = new bool[ItemsOptions.totalAmount]; for (int i = 0; i < ItemsOptions.totalAmount; i++) { DataScript.PData.IsItemAvailable[i] = true; } DataScript.PData.Authority = 9; DataScript.SaveAll(); }
private void SetSlidersMaxValues() { strengthSlider.maxValue = CharactersOptions.MaxStat; agilitySlider.maxValue = CharactersOptions.MaxStat; skillSlider.maxValue = CharactersOptions.MaxStat; luckSlider.maxValue = CharactersOptions.MaxStat; fearSlider.maxValue = CharactersOptions.MaxFear; experienceSlider.maxValue = CharactersOptions.GetExperienceMaxValue(m_character.Level); healthSlider.maxValue = CharactersOptions.MaxHealth; tirednessSlider.maxValue = CharactersOptions.MaxTiredness; recoverySlider.maxValue = CharactersOptions.MaxRecovery; oppositionSlider.maxValue = CharactersOptions.MaxOpposition; }
private static int[] GetRandomRobberyStats(int rank) { int[] stats = new int[4] { 0, 0, 0, 0 }; for (int i = 0; i < rank; i++) { int[] randStats = CharactersOptions.GetRandomStats(CharactersOptions.GetRandomCharLevelAtCurrentMoment()); stats[0] += randStats[0]; stats[1] += randStats[1]; stats[2] += randStats[2]; stats[3] += Random.Range(0, 5); } return(stats); }
public void AddExperience(int expToAdd) { if (m_characterStats.Expirience + expToAdd > CharactersOptions.GetExperienceMaxValue(m_level)) { while (m_characterStats.Expirience + expToAdd > CharactersOptions.GetExperienceMaxValue(m_level)) { m_characterStats.Health = CharactersOptions.MaxHealth; m_characterStats.Tiredness = 0; expToAdd -= (CharactersOptions.GetExperienceMaxValue(m_level) - m_characterStats.Expirience); m_characterStats.Expirience = 0; m_characterStats.Points++; m_level++; } OnLevelUpEvent(); } OnStatsChangedEvent(); m_characterStats.Expirience += expToAdd; }
public void Initialize() { m_instance = GetComponent <CharactersOptions>(); GetCharactersCollectionData(); }
public void UpdatePointsAndStats() { baseParameters.SetActive(false); hospitalParameters.SetActive(false); arrestParameters.SetActive(false); healthSlider.value = m_newCharacterStats.Health; tirednessSlider.value = m_newCharacterStats.Tiredness; experienceSlider.value = m_newCharacterStats.Expirience; health.text = m_newCharacterStats.Health + " / " + healthSlider.maxValue.ToString(); tiredness.text = m_newCharacterStats.Tiredness + " / " + tirednessSlider.maxValue.ToString(); experience.text = m_newCharacterStats.Expirience + " / " + experienceSlider.maxValue.ToString(); strengthButton.interactable = m_character.Status == CharacterStatus.Normal; agilityButton.interactable = m_character.Status == CharacterStatus.Normal; skillButton.interactable = m_character.Status == CharacterStatus.Normal; luckButton.interactable = m_character.Status == CharacterStatus.Normal; undoButton.interactable = m_character.Status == CharacterStatus.Normal; switch (m_character.Status) { case CharacterStatus.Normal: { background.color = m_character.GetType() == typeof(SpecialCharacter) ? defaultSpColor : defaultComColor; baseParameters.SetActive(true); break; } case CharacterStatus.Robbery: { background.color = robberyColor; baseParameters.SetActive(true); break; } case CharacterStatus.Hospital: { background.color = hospitalColor; price = CharactersOptions.GetBoostRecoveryPrice(m_character.Level); hospitalParameters.SetActive(true); recoverySlider.value = m_character.StatusValue; recovery.text = m_character.StatusValue.ToString() + " / " + recoverySlider.maxValue.ToString(); recDaysLeft.text = m_character.DaysLeft.ToString(); moneyRecText.text = price.ToString(); boostRecoveryButton.gameObject.SetActive(m_character.BoostCoefficient == 1 && price < DataScript.SData.Money); moneyRecImage.gameObject.SetActive(m_character.BoostCoefficient == 1); moneyRecText.gameObject.SetActive(m_character.BoostCoefficient == 1); break; } case CharacterStatus.Arrested: { background.color = arrestedColor; price = CharactersOptions.GetBreakOutPrice(m_character.Level); arrestParameters.SetActive(true); oppositionSlider.value = m_character.StatusValue; opposition.text = m_character.StatusValue.ToString() + " / " + oppositionSlider.maxValue.ToString(); arrDaysLeft.text = m_character.DaysLeft.ToString(); moneyArrText.text = CharactersOptions.GetBreakOutPrice(m_character.Level).ToString(); breakOutButton.gameObject.SetActive(price < DataScript.SData.Money); break; } } strengthText.text = m_newCharacterStats.Strength.ToString(); agilityText.text = m_newCharacterStats.Agility.ToString(); skillText.text = m_newCharacterStats.Skill.ToString(); luckText.text = m_newCharacterStats.Luck.ToString(); fearText.text = m_newCharacterStats.Fear.ToString(); strengthSlider.value = m_newCharacterStats.Strength; agilitySlider.value = m_newCharacterStats.Agility; skillSlider.value = m_newCharacterStats.Skill; luckSlider.value = m_newCharacterStats.Luck; fearSlider.value = m_newCharacterStats.Fear; undoButton.gameObject.SetActive(m_newCharacterStats.Points > 0); strengthButton.gameObject.SetActive(m_newCharacterStats.Points > 0 && strengthSlider.value < strengthSlider.maxValue); agilityButton.gameObject.SetActive(m_newCharacterStats.Points > 0 && agilitySlider.value < agilitySlider.maxValue); skillButton.gameObject.SetActive(m_newCharacterStats.Points > 0 && skillSlider.value < skillSlider.maxValue); luckButton.gameObject.SetActive(m_newCharacterStats.Points > 0 && luckSlider.value < luckSlider.maxValue); levelUpText.gameObject.SetActive(m_newCharacterStats.Points > 0); pointsCountText.gameObject.SetActive(m_newCharacterStats.Points > 0); if (m_newCharacterStats.Points > 0) { pointsCountText.text = m_newCharacterStats.Points.ToString(); } }