private void FireDelegate_CmdReceived(IConnectedSystemEndpoint Endpoint, FireControlCmd Cmd) { if (Cmd.WeaponType == FireControlType.Primary) { lock (_loadLockObj) { var now = HighResolutionDateTime.UtcNow; var diff = now - _lastLoadTime; var isValidFire = diff >= Constants.Gameplay.ReloadDuration; int fireType = 0; var isLoaded = Convert.ToInt32(_isLoaded); var isMisfire = Convert.ToInt32(_isLoaded & !isValidFire); fireType += isLoaded + isMisfire; var fireState = (PrimaryWeaponFireState)fireType; PrimaryWeaponFired?.Invoke(Endpoint, fireState); _isLoaded = false; } } else if (Cmd.WeaponType == FireControlType.Secondary) { SecondaryWeaponFired?.Invoke(Endpoint); } }
private static void ArdManager_CommandReceived(IArdNetSystem Sender, IConnectedSystemEndpoint ConnectedSystem, TcpRequest Message) { Debug.WriteLine($"CMD: {Message.Request}"); if (Message.Request == "VIBE") { _vibe.Blink(500); } }
public void ChangeAmmo(IConnectedSystemEndpoint c) { if (c is null) { throw new System.ArgumentNullException(nameof(c)); } UnityMainThreadDispatcher.Instance().Enqueue(ChangeSize); }
public void TankMovement(IConnectedSystemEndpoint c, MovementDirection moveDir) { if (c is null) { throw new System.ArgumentNullException(nameof(c)); } //print($"dir: {moveDir}"); _currentMovement = moveDir; }
public void TurretRotation(IConnectedSystemEndpoint c, MovementDirection moveDir) { if (c is null) { throw new System.ArgumentNullException(nameof(c)); } _currentDirection = moveDir; _gunTarget.ChangeAimDistance(moveDir); }
public void PrimaryFire(IConnectedSystemEndpoint c, PrimaryWeaponFireState state) { if (c is null) { throw new System.ArgumentNullException(nameof(c)); } _weaponsState = state; UnityMainThreadDispatcher.Instance().Enqueue(FireWeapon); }
private void LoaderDelegate_CmdReceived(IConnectedSystemEndpoint Endpoint, GunLoaderCmd Cmd) { if (Cmd.LoaderType == GunLoaderType.Load) { lock (_loadLockObj) { _isLoaded = true; _lastLoadTime = HighResolutionDateTime.UtcNow; PrimaryGunLoaded?.Invoke(Endpoint); } } else if (Cmd.LoaderType == GunLoaderType.CycleAmmoType) { PrimaryAmmoCycled?.Invoke(Endpoint); } }
private void Server_TcpClientConnected(IArdNetSystem Sender, IConnectedSystemEndpoint e) { _ = Interlocked.Increment(ref _tcpConnectionCount); Console.WriteLine("New TCP Connection"); Console.WriteLine(" IP Address: " + e.Endpoint); e.UserState = new { Name = "Hello", Time = DateTime.Now }; if (!ArdServer.NetConfig.TCP.HeartbeatConfig.ExpectHeartbeatResponse) { ArdServer.SendTcpCommand(e.Endpoint, "set.htbt", new string[] { "respond", "false" }); } }
private void MovDelegate_MovementChanged(IConnectedSystemEndpoint Endpoint, MovementDirection Dir) { //dont show ui input if not connected if (_ardClient.IsServerConnected) { _dir = Dir; } else { _dir = MovementDirection.Stop; } InvokePropertyChanged(nameof(DirNW)); InvokePropertyChanged(nameof(DirN)); InvokePropertyChanged(nameof(DirNE)); InvokePropertyChanged(nameof(DirW)); InvokePropertyChanged(nameof(DirE)); InvokePropertyChanged(nameof(DirSW)); InvokePropertyChanged(nameof(DirS)); InvokePropertyChanged(nameof(DirSE)); }
private static void ArdManager_TcpEndpointConnected(IArdNetSystem Sender, IConnectedSystemEndpoint e) { _ = _serverMsgHandle.Set(); Debug.WriteLine("ArdNet Connected"); _led.On(); }
public void LoadGun(IConnectedSystemEndpoint c) { }
public void SecondaryFire(IConnectedSystemEndpoint c) { UnityMainThreadDispatcher.Instance().Enqueue(FireBullet); }