Example #1
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="value">The value of this modifier</param>
 /// <param name="method">How the modifier is applied</param>
 /// <param name="target">What stat/mechanic the modifier applies to</param>
 /// <param name="condition">Optional, what conditions are required for the modifier to apply</param>
 public Modifier(int value, ModifierMethod method, ModifierTarget target, params ModifierCondition[] condition)
 {
     this.value      = value;
     this.method     = method;
     this.target     = target;
     this.conditions = new List <ModifierCondition>(condition);
 }
Example #2
0
        /// <summary>
        /// verifies if ModifierMethod has SyntaxKind
        /// </summary>
        /// <param name="modifier"></param>
        /// <param name="sn"></param>
        /// <returns></returns>
        public static bool IsOnEnum(this ModifierMethod modifier, SyntaxKind sn)
        {
            var mm = ModifierMethod.None;

            switch (sn)
            {
            case SyntaxKind.PublicKeyword:
                mm = ModifierMethod.PublicKeyword;
                break;

            case SyntaxKind.PrivateKeyword:
                mm = ModifierMethod.PrivateKeyword;
                break;

            case SyntaxKind.InternalKeyword:
                mm = ModifierMethod.InternalKeyword;
                break;

            case SyntaxKind.ProtectedKeyword:
                mm = ModifierMethod.ProtectedKeyword;
                break;

            case SyntaxKind.StaticKeyword:
                mm = ModifierMethod.StaticKeyword;
                break;

            case SyntaxKind.ReadOnlyKeyword:
                mm = ModifierMethod.ReadOnlyKeyword;
                break;

            case SyntaxKind.SealedKeyword:
                mm = ModifierMethod.SealedKeyword;
                break;

            case SyntaxKind.NewKeyword:
                mm = ModifierMethod.NewKeyword;
                break;

            case SyntaxKind.OverrideKeyword:
                mm = ModifierMethod.OverrideKeyword;
                break;

            case SyntaxKind.AbstractKeyword:
                mm = ModifierMethod.AbstractKeyword;
                break;

            case SyntaxKind.VirtualKeyword:
                mm = ModifierMethod.VirtualKeyword;
                break;
            }
            return((modifier & mm) == mm);
        }
Example #3
0
        public Modifier(JObject obj)
        {
            this.value  = (int)obj["Value"];
            this.method = (ModifierMethod)(int)obj["Method"];
            this.target = (ModifierTarget)(int)obj["Target"];
            JArray conditionArray = (JArray)obj["Conditions"];

            foreach (JToken c in conditionArray)
            {
                JValue cval = (JValue)c;
                conditions.Add((ModifierCondition)(int)cval);
            }
        }
Example #4
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="value"></param>
 /// <param name="method"></param>
 /// <param name="target"></param>
 /// <param name="duration"></param>
 /// <param name="condition"></param>
 public ModifierTemporary(int value, ModifierMethod method, ModifierTarget target, int duration, params ModifierCondition[] condition) : base(value, method, target, condition)
 {
     this.duration  = duration;
     this.turnsLeft = duration;
 }