示例#1
0
        public Protocol(IGateClient sc)
        {
            _client = sc;

            var loader = new ProtocolLoader();

            _rpc = loader.CreateRpcProto();
        }
示例#2
0
        public static void Init(int session, string secret)
        {
            _session = session;
            _secret  = Encoding.UTF8.GetBytes(secret);

            var loader = new ProtocolLoader();

            _rpc = loader.CreateBattleProto();
        }
示例#3
0
        public Protocol(IGateClient sc, Socket socket)
        {
            _client      = sc;
            _transporter = new Transporter(socket, this)
            {
                onDisconnect = Disconnect
            };
            _transporter.Start();

            var loader = new ProtocolLoader();

            _rpc = loader.CreateRpcProto();
        }
示例#4
0
        static void Main(string[] args)
        {
            if (HasFlag("-h", args))
            {
                Console.WriteLine("Message protocol code generator");
                Console.WriteLine();
                Console.WriteLine("-h Show this help page");
                Console.WriteLine("-i [path] Path to protocol xml file");
                Console.WriteLine("-t [path] Path to template library xml file");
                Console.WriteLine("-o [path] Path to output file");
                return;
            }

            var protocolFile    = GetArgument("-i", args);
            var templateLibFile = GetArgument("-t", args);
            var outputFile      = GetArgument("-o", args);

            if (protocolFile == null || templateLibFile == null || outputFile == null)
            {
                Console.WriteLine("Missing parameters, use -h to show help");
                return;
            }

            try
            {
                Console.WriteLine($"Input file: {protocolFile}");
                Console.WriteLine($"Template lib: {templateLibFile}");
                Console.WriteLine($"Output file: {outputFile}");

                var protocol = ProtocolLoader.LoadProtocol(protocolFile);

                var testThing = new TestThing();
                var modules   = testThing.FromProtocol(protocol);

                var templateLib = TemplateLibrary.LoadFromFile(templateLibFile);


                using (var writer = new StreamWriter(outputFile, false, Encoding.UTF8))
                {
                    testThing.WriteModule(writer, templateLib, modules[0]);
                }
                Console.WriteLine("Done!");
            }
            catch (Exception e)
            {
                Console.WriteLine("ERROR");
                Console.WriteLine(e.Message);
            }
        }