public bool Matches(object stateIdentifier)
        {
            if (stateIdentifier == null)
            {
                return(false);
            }

            if (stateIdentifier is IStateMachineState)
            {
                return(StateName.Equals(((IStateMachineState)stateIdentifier).StateName));
            }

            if (stateIdentifier is string)
            {
                return(((string)stateIdentifier).Equals(StateIdentifier.ToString(),
                                                        StringComparison.CurrentCultureIgnoreCase));
            }

            if (StateIdentifier is string)
            {
                return(((string)StateIdentifier).Equals(stateIdentifier.ToString(),
                                                        StringComparison.CurrentCultureIgnoreCase));
            }

            if (StateIdentifier is IComparable)
            {
                return(((IComparable)StateIdentifier).CompareTo(stateIdentifier) == 0);
            }


            return(StateIdentifier.Equals(stateIdentifier));
        }
Ejemplo n.º 2
0
        public ElementalTraitsTemplate(string elementalIdentifier)
        {
            Proficiency = elementalIdentifier + "_proficiency";
            Resistance  = elementalIdentifier + "_resistance";

            Shielding = elementalIdentifier + "_shielding";
        }
Ejemplo n.º 3
0
 public StateInstance CreateInstance(StateIdentifier identifier)
 {
     return(new StateInstance()
     {
         Identifier = identifier,
         Template = this
     });
 }
Ejemplo n.º 4
0
        public ResourceTraitTemplate(string resourceIdentifier)
        {
            Maximum    = resourceIdentifier + "_max";
            RegenDelay = resourceIdentifier + "_regendelay";
            RegenRate  = resourceIdentifier + "_regenrate";

            Current       = resourceIdentifier + "_current";
            RegenCooldown = resourceIdentifier + "_regencooldown";
        }
Ejemplo n.º 5
0
            public override int GetHashCode()
            {
                unchecked
                {
                    var hashCode = (StateIdentifier != null ? StateIdentifier.GetHashCode() : 0);
                    hashCode = (hashCode * 397) ^ EqualityComparer <TD> .Default.GetHashCode(Data);

                    hashCode = (hashCode * 397) ^ Timeout.GetHashCode();
                    return(hashCode);
                }
            }
Ejemplo n.º 6
0
 /// <summary>
 /// Serves as a hash function for a particular type. <see cref="M:System.Object.GetHashCode"/> is suitable for
 /// use in hashing algorithms and data structures like a hash table.
 /// </summary>
 /// <returns>
 /// A hash code for the current <see cref="T:System.Object"/>.
 /// </returns>
 public override int GetHashCode()
 {
     return(StateIdentifier.GetHashCode());
 }
Ejemplo n.º 7
0
 public ITraitContextBuilder UseTrait(StateIdentifier stateIdentifier, StateTemplate stateTemplate)
 {
     stateIdentifiers.Add(stateIdentifier);
     stateMapping.Add(stateIdentifier, stateTemplate);
     return(this);
 }