Example #1
0
 private void UpdateCharacterUpgrades()
 {
     if (this.Data != null && this.m_appliedCharacterUpgrades.Count < this.Data.Transient.PurchasedCharacterUpgradeCount)
     {
         IEnumerator <CharacterUpgrade> enumerator = this.Data.Transient.GetCharacterUpgrades().GetEnumerator();
         try
         {
             while (enumerator.MoveNext())
             {
                 CharacterUpgrade current = enumerator.Current;
                 Roost.Debug.Assert(current != null);
                 if (this.HasAppliedCharacterUpgrade(current))
                 {
                     continue;
                 }
                 this.ApplyCharacterUpgrade(current);
             }
         }
         finally
         {
             if (enumerator == null)
             {
             }
             enumerator.Dispose();
         }
         Roost.Debug.Assert(this.m_appliedCharacterUpgrades.Count == this.Data.Transient.PurchasedCharacterUpgradeCount);
     }
 }
Example #2
0
        static void Main(string[] args)
        {
            Thread.CurrentThread.CurrentCulture = new CultureInfo("es-ES");

            // CHARACTERS
            List <string> charactersAndUpgradesStrings = new List <string>();
            ListFeed      list = GDriveManager.GetSpreadsheet(DriveUrl, 1);

            foreach (ListEntry row in list.Entries)
            {
                string name       = row.Elements[0].Value;
                float  multiplier = float.Parse(row.Elements[1].Value);
                int    health     = int.Parse(row.Elements[2].Value);
                int    klid       = int.Parse(row.Elements[3].Value);
                float  klidRegen  = float.Parse(row.Elements[4].Value);
                float  speed      = float.Parse(row.Elements[5].Value);
                float  whoaPower  = float.Parse(row.Elements[6].Value);
                float  mass       = float.Parse(row.Elements[7].Value);
                int    spellSlots = int.Parse(row.Elements[8].Value);
                int    price      = int.Parse(row.Elements[9].Value);
                charactersAndUpgradesStrings.Add(String.Format("\n\n//{0}\nWhoaCharacter {0} = new WhoaCharacter({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9});\ncharacters.Add({0});", name, multiplier, health, whoaPower, speed, mass, klid, klidRegen, spellSlots, price));
            }

            ListFeed upgradesList = GDriveManager.GetSpreadsheet(WhoaPlayerProperties.DRIVE_DOCUMENT_URL, 2);

            foreach (ListEntry row in upgradesList.Entries)
            {
                int id = int.Parse(row.Elements[0].Value);
                if (id == -1)
                {
                    upgrade.Effects.Add(parseEffect(row));
                }
                else
                {
                    currentlyUpgradedCharacter = characters[id];

                    string name            = row.Elements[1].Value;
                    int    maxLevel        = int.Parse(row.Elements[2].Value);
                    int    basePrice       = int.Parse(row.Elements[3].Value);
                    float  priceMultiplier = float.Parse(row.Elements[4].Value);
                    upgrade = new CharacterUpgrade(name, maxLevel, basePrice, priceMultiplier);

                    upgrade.Effects.Add(parseEffect(row));

                    currentlyUpgradedCharacter.AddUpgrade(upgrade);
                }
            }

            ReplaceAutoGenerated(WhoaScriptsFolderPath + "WHOATESTING.txt", charactersAndUpgradesStrings);


            // Keep the console window open in debug mode.
            Console.WriteLine("Press any key to exit.");
            Console.ReadKey();
        }
Example #3
0
    protected void Awake()
    {
        sensor        = GetComponentInChildren <Sensor>();
        animator      = GetComponentInChildren <Animator>();
        CurrentHealth = maxHealth;

        maxHealthUpgrade       = new CharacterUpgrade();
        speedUpgrade           = new CharacterUpgrade();
        rateOfFireUpgrade      = new CharacterUpgrade();
        rangeUpgrade           = new CharacterUpgrade();
        damageUpgrade          = new CharacterUpgrade();
        projectileSpeedUpgrade = new CharacterUpgrade();
        player = gameObject.AddComponent <AudioSourcePlayer>();
    }
Example #4
0
 public bool HasAppliedCharacterUpgrade(CharacterUpgrade characterUpgrade)
 {
     return(this.m_appliedCharacterUpgrades.Contains(characterUpgrade));
 }
Example #5
0
 public virtual void ApplyCharacterUpgrade(CharacterUpgrade characterUpgrade)
 {
     Roost.Debug.Assert(characterUpgrade != null);
     Roost.Debug.Assert(!this.HasAppliedCharacterUpgrade(characterUpgrade));
     base.Stats.AddMaxHealth(characterUpgrade.ExtraHealth);
     base.Stats.AddMaxSpecial(characterUpgrade.ExtraSpecial);
     if (characterUpgrade.IsShieldRechargeUpgrade)
     {
         base.Stats.m_stats.ShieldDepletedTimeSeconds = characterUpgrade.ShieldDepletedTimeSeconds;
         base.Stats.m_stats.ShieldRechargeTimeSeconds = characterUpgrade.ShieldRechargeTimeSeconds;
     }
     if (characterUpgrade.IsMaxShieldUpgrade)
     {
         base.Stats.SetMaxShield(characterUpgrade.MaxShield);
         base.Stats.m_stats.ShieldBarWidth = characterUpgrade.ShieldBarWidth;
     }
     if (characterUpgrade.IsHitsPerSpecialUpgrade)
     {
         base.Stats.m_stats.hitsPerSpecialAward = characterUpgrade.HitsPerSpecial;
     }
     if (characterUpgrade.IsSpecialProgressForHitStreakUpgrade)
     {
         base.Stats.m_stats.specialProgressForHitStreak = characterUpgrade.SpecialProgressForHitStreak;
     }
     if (characterUpgrade.IsHitchainResilianceUpgrade)
     {
         base.Stats.m_stats.hitchainResilaince   = characterUpgrade.HitchainResiliance;
         base.Stats.m_stats.hitchainResetSeconds = characterUpgrade.HitchainResetSeconds;
     }
     if (characterUpgrade.IsSecondWindUpgrade)
     {
         base.Stats.m_stats.hasSecondWind = true;
         base.Stats.m_stats.secondWindSpecialPercentage = characterUpgrade.SecondWindSpecialPercentage;
         base.Stats.m_stats.secondWindCooldownSeconds   = characterUpgrade.SecondWindCooldownSeconds;
     }
     if (characterUpgrade.IsReviveTimeUpgrade)
     {
         base.Stats.m_stats.TotalReviveTimeSeconds = characterUpgrade.TotalReviveTimeSeconds;
     }
     FieldInfo[] array = (
         from field in characterUpgrade.UpgradedPlayerAbilities.GetType().GetFields(BindingFlags.Instance | BindingFlags.Public)
         where field.GetValue(characterUpgrade.UpgradedPlayerAbilities) != null
         select field).ToArray <FieldInfo>();
     FieldInfo[] fieldInfoArray = array;
     for (int i = 0; i < (int)fieldInfoArray.Length; i++)
     {
         FieldInfo fieldInfo = fieldInfoArray[i];
         if (!fieldInfo.FieldType.IsArray)
         {
             fieldInfo.SetValue(this.m_playerAbilities, fieldInfo.GetValue(characterUpgrade.UpgradedPlayerAbilities));
         }
         else
         {
             AbilityData[] value            = fieldInfo.GetValue(this.m_playerAbilities) as AbilityData[];
             AbilityData[] abilityDataArray = fieldInfo.GetValue(characterUpgrade.UpgradedPlayerAbilities) as AbilityData[];
             if ((int)abilityDataArray.Length != 0)
             {
                 if (value != null && abilityDataArray != null)
                 {
                     AbilityData[] abilityDataArray1 = new AbilityData[Mathf.Max((int)value.Length, (int)abilityDataArray.Length)];
                     for (int j = 0; j < (int)abilityDataArray1.Length; j++)
                     {
                         if (j >= (int)abilityDataArray.Length || !(abilityDataArray[j] != null))
                         {
                             abilityDataArray1[j] = value[j];
                         }
                         else
                         {
                             abilityDataArray1[j] = abilityDataArray[j];
                         }
                     }
                     fieldInfo.SetValue(this.m_playerAbilities, abilityDataArray1);
                 }
             }
         }
     }
     if (this.event_OnAbilityChange != null)
     {
         this.event_OnAbilityChange();
     }
     this.m_appliedCharacterUpgrades.Add(characterUpgrade);
 }
Example #6
0
        public void PlayerUpgrade()
        {
            CharacterUpgrade characterupgrade = new CharacterUpgrade(this);//spawn in the charcter upgrade screen

            characterupgrade.Show();
        }