Beispiel #1
0
        private static TargetOwnerEnum GetOwnershipTypes(List <long> identities)
        {
            TargetOwnerEnum result = 0;

            foreach (var identity in identities)
            {
                if (identity == 0 && result.HasFlag(TargetOwnerEnum.Unowned) == false)
                {
                    result |= TargetOwnerEnum.Unowned;
                    continue;
                }

                if (IsNPC(identity) == true && result.HasFlag(TargetOwnerEnum.NPC) == false)
                {
                    result |= TargetOwnerEnum.NPC;
                    continue;
                }

                if (IsNPC(identity) == false && result.HasFlag(TargetOwnerEnum.Player) == false)
                {
                    result |= TargetOwnerEnum.Player;
                    continue;
                }
            }

            return(result);
        }
Beispiel #2
0
        public static bool CompareAllowedOwnerTypes(TargetOwnerEnum allowedOwner, TargetOwnerEnum resultOwner)
        {
            //Owner: Unowned
            if (allowedOwner.HasFlag(TargetOwnerEnum.Unowned) && resultOwner.HasFlag(TargetOwnerEnum.Unowned))
            {
                return(true);
            }

            //Owner: Owned
            if (allowedOwner.HasFlag(TargetOwnerEnum.Owned) && resultOwner.HasFlag(TargetOwnerEnum.Owned))
            {
                return(true);
            }

            //Owner: Player
            if (allowedOwner.HasFlag(TargetOwnerEnum.Player) && resultOwner.HasFlag(TargetOwnerEnum.Player))
            {
                return(true);
            }

            //Owner: NPC
            if (allowedOwner.HasFlag(TargetOwnerEnum.NPC) && resultOwner.HasFlag(TargetOwnerEnum.NPC))
            {
                return(true);
            }

            return(false);
        }