コード例 #1
0
 public NetworkConnection(NetworkConnectionManager manager, RelayClient clientService, NetworkEventHandler eventHandler)
 {
     _manager            = manager;
     _clientService      = clientService;
     _transactionManager = new NetworkTransactionManager();
     eventHandler.Connected(this);
 }
コード例 #2
0
ファイル: GuidedMissileLauncher.cs プロジェクト: zrisher/ARMS
        public GuidedMissileLauncher(WeaponTargeting weapon)
        {
            m_weaponTarget      = weapon;
            m_relayPart         = RelayClient.GetOrCreateRelayPart(m_weaponTarget.CubeBlock);
            this._initialTarget = NoTarget.Instance;

            MyWeaponBlockDefinition defn = (MyWeaponBlockDefinition)CubeBlock.GetCubeBlockDefinition();

            Vector3[] points        = new Vector3[3];
            Vector3   forwardAdjust = Vector3.Forward * WeaponDescription.GetFor(CubeBlock).MissileSpawnForward;

            points[0] = CubeBlock.LocalAABB.Min + forwardAdjust;
            points[1] = CubeBlock.LocalAABB.Max + forwardAdjust;
            points[2] = CubeBlock.LocalAABB.Min + Vector3.Up * defn.Size.Y * CubeBlock.CubeGrid.GridSize + forwardAdjust;

            MissileSpawnBox = BoundingBox.CreateFromPoints(points);
            if (m_weaponTarget.myTurret != null)
            {
                Log.TraceLog("original box: " + MissileSpawnBox);
                MissileSpawnBox.Inflate(CubeBlock.CubeGrid.GridSize * 2f);
            }

            Log.TraceLog("MissileSpawnBox: " + MissileSpawnBox);

            myInventory = ((MyEntity)CubeBlock).GetInventoryBase(0);

            Registrar.Add(weapon.CubeBlock, this);
            m_weaponTarget.GuidedLauncher = true;

            m_gameCooldownTime = TimeSpan.FromSeconds(60d / MyDefinitionManager.Static.GetWeaponDefinition(defn.WeaponDefinitionId).WeaponAmmoDatas[(int)MyAmmoType.Missile].RateOfFire);
            Log.TraceLog("m_gameCooldownTime: " + m_gameCooldownTime);

            CubeBlock.AppendingCustomInfo += CubeBlock_AppendingCustomInfo;
        }
コード例 #3
0
        void Start()
        {
            // setup menu
            nameField.onEndEdit.AddListener(SetName);
            submitName.onClick.AddListener(() => SetName(nameField.text));

            ShowPanel("Connecting");



            // setup networking
            net = new RelayClient();

            net.OnConnected        += ConnectedToServer;
            net.OnDisconnected     += DisconnectedFromServer;
            net.OnMatchStarted     += StartMatch;
            net.OnMatchEnded       += EndMatch;
            net.OnGameDataReceived += ReceiveGameData;

            net.Connect(ip);

            //var map = new byte[32];
            //for (int i = 0; i < map.Length; i++)
            //{
            //    map[i] = (byte)UnityEngine.Random.Range(3, 8);
            //}
            //StartMatch("my", 3, map);
        }
コード例 #4
0
ファイル: TalkService.cs プロジェクト: ratiel/Vindictus
        private void WhisperResultFromAppAsync(RelayClient client, WhisperResultAsyncEventArg arg)
        {
            bool flag = this.WhipserResultToGameClient(arg.ToCID, arg.ResultNo, arg.ReceiverName);

            Log <TalkService> .Logger.InfoFormat("WhisperResultFromAppAsync is called. [returnValue: {0}]", flag);

            arg.Callback(flag, arg.AsyncResult);
        }
コード例 #5
0
 public ServiceHandler(GateInstance gate, RelayClient relayClient, BinTables tables, IDbContextFactory <ItemContext> itemFactory, IDbContextFactory <AccountContext> accountFactory, IDbContextFactory <CharacterContext> characterFactory)
 {
     _gate             = gate;
     _relayClient      = relayClient;
     _tables           = tables;
     _itemFactory      = itemFactory;
     _accountFactory   = accountFactory;
     _characterFactory = characterFactory;
 }
コード例 #6
0
        /// <summary>
        /// Create an OreDetector for the given block.
        /// </summary>
        /// <param name="oreDetector">The ore detector block.</param>
        public OreDetector(IMyCubeBlock oreDetector)
        {
            this.Block         = oreDetector;
            this.m_oreDetector = oreDetector as IMyOreDetector;
            this.m_netClient   = new RelayClient(oreDetector);

            float maxrange = ((MyOreDetectorDefinition)((MyCubeBlock)m_oreDetector).BlockDefinition).MaximumRange;

            m_maxRange = maxrange;

            Registrar.Add(Block, this);
        }
コード例 #7
0
ファイル: TalkService.cs プロジェクト: ratiel/Vindictus
        private void RelayClientDisconnected(RelayClient client)
        {
            if (!client.GracefullyClosed)
            {
                this.relayInitialized = false;
                Scheduler.Cancel(this.relaySchedule);
                Log <TalkService> .Logger.Fatal("Talk Relay Server Disconnected.");

                Scheduler.Schedule(base.Thread, Job.Create(new Action(this.ReConnectToRelayServer)), 30000);
                return;
            }
            Log <TalkService> .Logger.Info("Disconnected from Web Chat Relay Server.");
        }
コード例 #8
0
        public async Task Run(string sendAddress, string sendToken)
        {
            Console.WriteLine("Starting client on {0}", sendAddress);

            var client     = new RelayClient(sendAddress, TokenProvider.CreateSharedAccessSignatureTokenProvider(sendToken));
            var connection = await client.ConnectAsync();

            await SendAndReceive(connection);

            connection.Close();

            Console.WriteLine("Done. ENTER to exit");
            Console.ReadLine();
        }
コード例 #9
0
        public async Task Connect(INetworkClient client)
        {
            await Initialize();

            var transactionManager = new RelayTransactionManager();
            var options            = await client.ClientOptions;
            var remote             = await Remote;
            var eventHandler       = new NetworkEventHandler(this, client);
            var clientService      = new RelayClient(eventHandler, transactionManager);
            var networkConnection  = new NetworkConnection(this, clientService, eventHandler);

            // Try to connect
            transactionManager.SetEventLoop(true);
            client.NetworkConnection = networkConnection;
            await clientService.Connect(remote, options);

            // Save active connections
            _active.Add(new NetworkActiveService()
            {
                NetworkConnection  = networkConnection,
                TransactionManager = transactionManager
            });
        }
コード例 #10
0
ファイル: Program.cs プロジェクト: trvpad/azure-relay
        public async Task Run(string sendAddress, string sendToken)
        {
            try
            {
                var relayClient     = new RelayClient(sendAddress, TokenProvider.CreateSharedAccessSignatureTokenProvider(sendToken));
                var relayConnection = relayClient.Connect();

                TTransport        transport = new TStreamTransport(relayConnection, relayConnection);
                TProtocol         protocol  = new TBinaryProtocol(transport);
                Calculator.Client client    = new Calculator.Client(protocol);

                transport.Open();
                try
                {
                    client.ping();
                    Console.WriteLine("ping()");

                    int sum = client.add(1, 1);
                    Console.WriteLine("1+1={0}", sum);

                    Work work = new Work();

                    work.Op   = Operation.DIVIDE;
                    work.Num1 = 1;
                    work.Num2 = 0;
                    try
                    {
                        int quotient = client.calculate(1, work);
                        Console.WriteLine("Whoa we can divide by 0");
                    }
                    catch (InvalidOperation io)
                    {
                        Console.WriteLine("Invalid operation: " + io.Why);
                    }

                    work.Op   = Operation.SUBTRACT;
                    work.Num1 = 15;
                    work.Num2 = 10;
                    try
                    {
                        int diff = client.calculate(1, work);
                        Console.WriteLine("15-10={0}", diff);
                    }
                    catch (InvalidOperation io)
                    {
                        Console.WriteLine("Invalid operation: " + io.Why);
                    }

                    SharedStruct log = client.getStruct(1);
                    Console.WriteLine("Check log: {0}", log.Value);
                }
                finally
                {
                    transport.Close();
                }
            }
            catch (TApplicationException x)
            {
                Console.WriteLine(x.StackTrace);
            }
        }
コード例 #11
0
 public UserInfo GetUserInfo(int sessionID)
 {
     return(RelayClient.GetUserInfo(sessionID));
 }
コード例 #12
0
ファイル: TalkService.cs プロジェクト: ratiel/Vindictus
 private void WhisperFromAppAsync(RelayClient client, WhisperAsyncEventArg arg)
 {
     arg.Callback(this.WhisperToGameClient(arg.From, arg.ToCID, arg.Message), arg.AsyncResult);
 }
コード例 #13
0
ファイル: TalkService.cs プロジェクト: ratiel/Vindictus
 private void WebClosed(RelayClient client)
 {
 }