private void Update() { bool jumpPressed = Input.GetButtonDown("Jump"); if (!gameManager.IsGameOver) { // Game is not yet over if (jumpPressed) { if (!playerReady) { OnPlayerReady?.Invoke(); playerReady = true; } OnJump?.Invoke(); } } else { // Game is over if (jumpPressed) { if (!isRestarting) { RestartGameClick(); } } } }
/// <summary> /// Handles the player ready packet /// </summary> /// <param name="inMsg">The message to decode</param> private void HandlePlayerReady(NetIncomingMessage inMsg) { byte playerId = inMsg.ReadByte(); bool isReady = inMsg.ReadBoolean(); inMsg.ReadPadBits(); myKnownPlayers[playerId].IsReady = isReady; OnPlayerReady?.Invoke(this, myKnownPlayers[playerId]); }
void Start() { Cursor.lockState = CursorLockMode.None; Cursor.visible = true; float minDistance = pointPrefab.GetComponent <CircleCollider2D>().radius * 2; DelaunayTriangulator delaunay = new DelaunayTriangulator(); var points = delaunay.GeneratePoints(numberOfPoints, spawnArea, minDistance); var triangulation = delaunay.BowyerWatson(points); //remove junctions that are subjectively too long float maxDistanceBetweenPoints = Player.Instance.maxTravelDistance / 3; SpawnPOIs(pointPrefab, points, maxDistanceBetweenPoints, parentCanvas); Vector2 southernPoint = FindStartingPosition(points); playerToken.transform.SetPositionAndRotation(southernPoint, Quaternion.identity); playerToken.GetComponent <PlayerToken>().OnReachedDestination += GetComponent <RandomEventController>().StartEvent; OnPlayerReady?.Invoke(playerToken.transform.position); }
protected virtual void Awake() { OnPlayerReady?.Invoke(this); }
private void PlayerStateChange(int NewState, string CurrentSong, Players ThePlayer) { try { switch (NewState) { case 0: // Undefined OnPlayerError.Invoke(new PlayerErrorEventArgs(ThePlayer, 0)); break; case 1: // Stopped if (!Crossfade && !InFade) { OnPlayerStop.Invoke(new PlayerStopEventArgs(CurrentSong, ThePlayer)); } break; case 2: // Paused OnPlayerPaused.Invoke(new PlayerPausedEventArgs(CurrentSong, ThePlayer)); break; case 3: // Playing OnPlayerStart.Invoke(new PlayerStartEventArgs(CurrentSong, ThePlayer)); break; case 4: // ScanForward break; case 5: // ScanReverse break; case 6: // Buffering switch (ThePlayer) { case Players.Player1: Player1State = PlayerStates.Loading; break; case Players.Player2: Player2State = PlayerStates.Loading; break; } break; case 7: // Waiting break; case 8: // MediaEnded OnPlayerMediaEnd.Invoke(new PlayerMediaEndedEventArgs(CurrentSong)); break; case 9: // Transitioning break; case 10: // Ready OnPlayerReady.Invoke(new PlayerReadyEventArgs(ThePlayer)); break; case 11: // Reconnecting break; case 12: // Last break; default: OnPlayerError.Invoke(new PlayerErrorEventArgs(ThePlayer, -1)); break; } } catch { } }