public PlexiglassPacketRegistry(PacketDirectionality directionality, IPropertyBag propertyBag = null, IStateMachine gameInstance = null)
 {
     if (directionality == PacketDirectionality.BIDIRECTIONAL || directionality == PacketDirectionality.POLYDIRECTIONAL)
     {
         Console.WriteLine("[PLXI] [WARNING] A PacketRegistry with "
                           + Enum.GetName(typeof(PacketDirectionality), directionality)
                           + " isn't reccomended! This is a direction circumvention of the purpose of directionality.");
     }
     Directionality      = directionality;
     packetRegistrations = new Dictionary <Type, Type>();
     this.propertyBag    = propertyBag;
     this.gameInstance   = gameInstance;
 }
Example #2
0
        public static bool FuzzyEquals(PacketDirectionality lhs, PacketDirectionality rhs)
        {
            switch (lhs)
            {
            case PacketDirectionality.BIDIRECTIONAL:
                return(rhs == PacketDirectionality.SERVER_TO_CLIENT || rhs == PacketDirectionality.CLIENT_TO_SERVER);

            case PacketDirectionality.POLYDIRECTIONAL:
                return(true);

            case PacketDirectionality.SERVER_TO_CLIENT:
            case PacketDirectionality.CLIENT_TO_SERVER:
                return(lhs == rhs || rhs == PacketDirectionality.BIDIRECTIONAL || rhs == PacketDirectionality.POLYDIRECTIONAL);

            case PacketDirectionality.CLIENT_TO_CLIENT:
                return(lhs == rhs || rhs == PacketDirectionality.POLYDIRECTIONAL);

            case PacketDirectionality.ANTIDIRECTIONAL:
                return(false);

            default:
                return(false);
            }
        }