public NetworkConnection(NetworkConnectionManager manager, RelayClient clientService, NetworkEventHandler eventHandler) { _manager = manager; _clientService = clientService; _transactionManager = new NetworkTransactionManager(); eventHandler.Connected(this); }
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; }
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); }
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); }
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; }
/// <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); }
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."); }
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(); }
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 }); }
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); } }
public UserInfo GetUserInfo(int sessionID) { return(RelayClient.GetUserInfo(sessionID)); }
private void WhisperFromAppAsync(RelayClient client, WhisperAsyncEventArg arg) { arg.Callback(this.WhisperToGameClient(arg.From, arg.ToCID, arg.Message), arg.AsyncResult); }
private void WebClosed(RelayClient client) { }