public Characteristic(CharacteristicEnum _associatedEnum, uint _value, Modification _modification)
 {
     this._associatedEnum = _associatedEnum;
     this._value          = (_value <MIN_VALUE || _value> MAX_VALUE) ? 1 : _value;
     this._modification   = (_modification == null) ? new Modification(0, GameTimeIntervalEnum.NOT_VALID) : _modification;
     WfLogger.Log(this, LogLevel.DETAILED, "Created new Characteristic (" + _associatedEnum.ToString() + ", Value: " + _value + ")");
 }
        // --------------------------------------------------------------------------------------------------------------------------------

        /// <summary>
        /// Calls the Training function of the given CharacteristicEnum
        /// </summary>
        /// <param name="characteristicEnum"></param>
        public bool TrainCharacteristic(CharacteristicEnum characteristicEnum)
        {
            if (Get(characteristicEnum)._value < Characteristic.MAX_VALUE)
            {
                return(Get(characteristicEnum).Training());
            }
            else
            {
                string excMsg = $"The Characteristic Enum value {characteristicEnum.ToString()} wasn't found in the list of characteristics";
                WfLogger.Log(this, LogLevel.ERROR, excMsg);
                throw new EnumNotFoundException(excMsg);
            }
        }
示例#3
0
        public void CharacteristicCtor_WithTooBigValue_CreatesValidCharacteristicWithMinValue()
        {
            // Arrange
            CharacteristicEnum charaEnum = CharacteristicEnum.CUNNING;
            uint         value           = 6;
            Modification modification    = new Modification(0, GameTimeIntervalEnum.NOT_VALID);

            // Act
            Characteristic testCharacteristic = new Characteristic(charaEnum, value, modification);

            // Assert
            Assert.AreEqual(CharacteristicEnum.CUNNING, testCharacteristic._associatedEnum, "Characteristic Enum was not assigned correcty");
            Assert.AreEqual(Characteristic.MIN_VALUE, testCharacteristic._value, "Characteristic Value was not assigned correcty");
        }
示例#4
0
        public void CharacteristicCtor_WithMaxValidValue_CreatesValidCharacteristic()
        {
            // Arrange
            CharacteristicEnum charaEnum = CharacteristicEnum.AGILITY;
            uint         value           = 5;
            Modification modification    = new Modification(0, GameTimeIntervalEnum.NOT_VALID);

            // Act
            Characteristic testCharacteristic = new Characteristic(charaEnum, value, modification);

            // Assert
            Assert.AreEqual(CharacteristicEnum.AGILITY, testCharacteristic._associatedEnum, "Characteristic Enum was not assigned correcty");
            Assert.AreEqual(value, testCharacteristic._value, "Characteristic Value was not assigned correcty");
        }
        // --------------------------------------------------------------------------------------------------------------------------------

        /// <summary>
        /// Returns the characteristic with the given characteristic enum
        /// </summary>
        /// <param name="characteristicEnum"></param>
        /// <returns></returns>
        public Characteristic Get(CharacteristicEnum characteristicEnum)
        {
            foreach (Characteristic characteristic in _characteristicList)
            {
                if (characteristic._associatedEnum == characteristicEnum)
                {
                    WfLogger.Log(this, LogLevel.DEBUG, "Found " + characteristicEnum);
                    return(characteristic);
                }
            }
            string excMsg = "The Characteristic Enum value " + characteristicEnum.ToString() + " doesn't exist.";

            WfLogger.Log(this, LogLevel.FATAL, excMsg);
            throw new EnumNotFoundException(excMsg);
        }
示例#6
0
 public PAPISkill(string _name, SkillEnum _skillEnum, SkillTypeEnum _skillTypeEnum, Value _value, CharacteristicEnum _characteristicEnum,
                  List <GenreEnum> _availableGenres, bool _isCareer)
 {
     this._skillEnum          = _skillEnum;
     this._name               = (_name == null || _name == "" || _skillEnum != SkillEnum.CUSTOM) ? ("Skill_" + _skillEnum.ToString()) : _name;
     this._skillTypeEnum      = _skillTypeEnum;
     this._value              = (_value._value <MIN_VALUE || _value._value> MAX_VALUE)? this._value = new Value(0, null) : this._value = _value;
     this._characteristicEnum = this._characteristicEnum;
     this._availableGenres    = (_availableGenres == null || _availableGenres.Count == 0) ?
                                new List <GenreEnum>(PAPIApplication.GetAllGenres()) : _availableGenres;
     this._isCareer = _isCareer;
     WfLogger.Log(this, LogLevel.DETAILED, "Skill '" + this._name + "' was created");
 }