//add, replace, or remove tattoo.
        internal TattooDataChangedEventArgs(IBodyPart source, T location, TattooBase oldTattoo, TattooBase newTattoo, int newTattooCount)
        {
            parent = source ?? throw new ArgumentNullException(nameof(source));
            if (location == null)
            {
                throw new ArgumentNullException(nameof(location));
            }

            this.newTattooCount = newTattooCount;

            if (oldTattoo == null != (newTattoo == null))
            {
                if (oldTattoo == null)
                {
                    oldTattooCount = newTattooCount - 1;
                }
                else
                {
                    oldTattooCount = newTattooCount + 1;
                }
            }
            else
            {
                oldTattooCount = newTattooCount;
            }


            Dictionary <T, ValueDifference <TattooBase> > tatDiff = new Dictionary <T, ValueDifference <TattooBase> >
            {
                { location, new ValueDifference <TattooBase>(oldTattoo, newTattoo) }
            };
        }
示例#2
0
 //matching tattoos, but different colors.
 public bool MatchingHandTattooIgnoreColor()
 {
     return(TattooBase.MatchingTattoosIgnoreColor(this[ArmTattooLocation.LEFT_HAND], this[ArmTattooLocation.RIGHT_HAND]));
 }
示例#3
0
 public bool MatchingWristTattoosIgnoreColor()
 {
     return(TattooBase.MatchingTattoosIgnoreColor(this[ArmTattooLocation.LEFT_WRIST], this[ArmTattooLocation.RIGHT_WRIST]));
 }
示例#4
0
 public bool MatchingInnerForearmTattoosIgnoreColor()
 {
     return(TattooBase.MatchingTattoosIgnoreColor(this[ArmTattooLocation.LEFT_INNER_FOREARM], this[ArmTattooLocation.RIGHT_INNER_FOREARM]));
 }
示例#5
0
 public bool MatchingOuterForearmTattoos()
 {
     return(TattooBase.MatchingTattoos(this[ArmTattooLocation.LEFT_OUTER_FOREARM], this[ArmTattooLocation.RIGHT_OUTER_FOREARM]));
 }
示例#6
0
 public bool MatchingUpperArmTattoosIgnoreColor()
 {
     return(TattooBase.MatchingTattoosIgnoreColor(this[ArmTattooLocation.LEFT_UPPER_ARM], this[ArmTattooLocation.RIGHT_UPPER_ARM]));
 }
示例#7
0
 public bool MatchingShoulderTattoosIgnoreColor()
 {
     return(TattooBase.MatchingTattoosIgnoreColor(this[ArmTattooLocation.LEFT_SHOULDER], this[ArmTattooLocation.RIGHT_SHOULDER]));
 }
示例#8
0
 public bool MatchingSleeveTattoosIgnoreColor()
 {
     return(TattooBase.MatchingTattoosIgnoreColor(this[ArmTattooLocation.LEFT_SLEEVE], this[ArmTattooLocation.RIGHT_SLEEVE]));
 }
示例#9
0
 public override bool EqualsIgnoreColor(TattooBase other)
 {
     return(other is RunicBodyTattoo);
 }