protected override void OnGamepadPluggedIn(SocketGamepad gamepad) { //Temporary until Acquire Caleb's menu system to select player if (PlayerSpawn.Count > 0) { //Debug.Log("Next Player: " + NextSpawn.ToString()); if (NextSpawn < PlayerSpawn.Count) { GameObject PlayerObj = PlayerSpawn[NextSpawn].Spawn(PlayerSpawn[NextSpawn].transform.position, PlayerSpawn[NextSpawn].transform.rotation); SurvivorPlayer Player = PlayerObj.AddComponent <SurvivorPlayer>(); Player.Gamepad = gamepad; Player.FyoApp = this; Player.PlayerId = LocalPlayers.Count; LocalPlayers.Add(Player); ActiveGamepads.Add(gamepad, Player); Framing.TrackedObjects.Add(Player.gameObject); } //Advance Spawn Point if (++NextSpawn >= PlayerSpawn.Count) { NextSpawn = 0; } } else { Debug.LogError("Negative Spawn Index"); } }
protected override void OnGamepadPluggedIn(SocketGamepad gamepad) { if (!ActiveGamepads.ContainsKey(gamepad)) { GameObject PlayerObj = Instantiate(PlayerPrefab, transform); Paddle Player = PlayerObj.GetComponent <Paddle>(); Player.FyoApp = this; Player.Gamepad = gamepad; Player.PlayerId = ActiveGamepads.Count; ActiveGamepads.Add(gamepad, Player); if (Player.PlayerId < PlayerStart.Count) { RectTransform t = PlayerStart[Player.PlayerId]; RectTransform pt = Player.GetComponent <RectTransform>(); //Set Player Color UnityEngine.UI.Image PlayerStartImg = PlayerStart[Player.PlayerId].GetComponent <UnityEngine.UI.Image>(); UnityEngine.UI.Image PlayerImg = pt.GetComponent <UnityEngine.UI.Image>(); PlayerImg.color = PlayerStartImg.color; pt.position = t.position; pt.rotation = t.rotation; pt.localScale = t.localScale; pt.SetParent(transform); SGUpdateMsg ControllerUpdate = new SGUpdateMsg(gamepad); ControllerUpdate.Data = new JSONObject(); ControllerUpdate.Data.AddField("MessageType", JSONObject.CreateStringObject("PlayerColor")); ControllerUpdate.Data.AddField("Color", JSONObject.CreateStringObject(PlayerImg.color.ToString())); PlayerStart[Player.PlayerId].gameObject.SetActive(false); } } }
protected override void OnGamepadPluggedIn(SocketGamepad gamepad) { if (!ActiveGamepads.ContainsKey(gamepad)) { GameObject PlayerObj = Instantiate(PlayerPrefab); InputTestPlayer Player = PlayerObj.GetComponent <InputTestPlayer>(); Player.FyoApp = this; Player.Gamepad = gamepad; Player.PlayerId = ActiveGamepads.Count; ActiveGamepads.Add(gamepad, Player); if (Player.PlayerId < PlayerStart.Count) { Transform t = PlayerStart[Player.PlayerId]; Player.transform.position = t.position; Player.transform.rotation = t.rotation; Player.transform.localScale = t.localScale; } } }
protected override void OnGamepadPluggedIn(SocketGamepad gamepad) { if (XPlayer.Gamepad == null) { XPlayer.Xs = true; XPlayer.FyoApp = this; XPlayer.Gamepad = gamepad; XPlayer.PlayerIcon.SetActive(true); ActiveGamepads.Add(gamepad, XPlayer); XPlayer.InputWait = DateTime.Now.Ticks + (InputWaitMs * TimeSpan.TicksPerMillisecond); Debug.Log("X Connected"); } else if (OPlayer.Gamepad == null) { OPlayer.Xs = false; OPlayer.FyoApp = this; OPlayer.Gamepad = gamepad; OPlayer.PlayerIcon.SetActive(true); Debug.Log("O Connected"); ActiveGamepads.Add(gamepad, OPlayer); OPlayer.InputWait = DateTime.Now.Ticks + (InputWaitMs * TimeSpan.TicksPerMillisecond); } else { //Reconnected? if (CurrentMode == CurrentModeType.Playing && (XPlayer.Gamepad == gamepad || OPlayer.Gamepad == gamepad)) { SendGameState(gamepad); } } if (XPlayer.Gamepad != null && OPlayer.Gamepad != null && CurrentMode == CurrentModeType.WaitForPlayers) { CurrentMode = CurrentModeType.WaitForReady; Debug.Log("Waiting for Players to Ready"); } }