Example #1
0
        public bool AddExperience(string attribute_id, float time_spent, float multiplier)
        {
            AttributeLevel attributeLevel = GetAttributeLevel(attribute_id);

            if (attributeLevel == null)
            {
                Debug.LogWarning(attribute_id + " has no level.");
                return(false);
            }
            time_spent *= multiplier;
            AttributeConverterInstance attributeConverterInstance = Db.Get().AttributeConverters.TrainingSpeed.Lookup(this);

            if (attributeConverterInstance != null)
            {
                float num = attributeConverterInstance.Evaluate();
                time_spent += time_spent * num;
            }
            bool result = attributeLevel.AddExperience(this, time_spent);

            attributeLevel.Apply(this);
            return(result);
        }