Example #1
0
        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;
        }
Example #2
0
        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();
        }
Example #3
0
        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;
        }
Example #4
0
 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);
 }
Example #5
0
 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;
 }
Example #6
0
 public void Initialize()
 {
     m_instance = GetComponent <CharactersOptions>();
     GetCharactersCollectionData();
 }
Example #7
0
        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();
            }
        }