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)); }
public ElementalTraitsTemplate(string elementalIdentifier) { Proficiency = elementalIdentifier + "_proficiency"; Resistance = elementalIdentifier + "_resistance"; Shielding = elementalIdentifier + "_shielding"; }
public StateInstance CreateInstance(StateIdentifier identifier) { return(new StateInstance() { Identifier = identifier, Template = this }); }
public ResourceTraitTemplate(string resourceIdentifier) { Maximum = resourceIdentifier + "_max"; RegenDelay = resourceIdentifier + "_regendelay"; RegenRate = resourceIdentifier + "_regenrate"; Current = resourceIdentifier + "_current"; RegenCooldown = resourceIdentifier + "_regencooldown"; }
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); } }
/// <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()); }
public ITraitContextBuilder UseTrait(StateIdentifier stateIdentifier, StateTemplate stateTemplate) { stateIdentifiers.Add(stateIdentifier); stateMapping.Add(stateIdentifier, stateTemplate); return(this); }