private void OnTriggerEnter2D(Collider2D collision) { Debug.Log(collision.name); TSDUPlayer player = collision.transform.parent.parent.gameObject.GetComponent <TSDUPlayer>(); if (player != null) { UniverseManager.instance.HitPlayer((int)player.number + 1, Mathf.RoundToInt(gameObject.transform.parent.localScale.x)); } }
public void RegisterPlayer(int number, TSDUPlayer player) { if (!allPlayers.ContainsKey(number)) { allPlayers.Add(number, player); player.sprite.material.SetColor("_TshirtColor", presets[currentMatchSetup.PlayerSkinsIndexes[number-1]].Shirt); player.sprite.material.SetColor("_PantsColor", presets[currentMatchSetup.PlayerSkinsIndexes[number - 1]].Pants); player.sprite.material.SetColor("_ShoesColor", presets[currentMatchSetup.PlayerSkinsIndexes[number - 1]].Acessories); player.sprite.material.SetColor("_SkinColor", presets[currentMatchSetup.PlayerSkinsIndexes[number - 1]].Skin); player.ballPosition.GetComponent<SpriteRenderer>().sprite = ballColors[currentMatchSetup.BallColorIndex]; if (targetGroup.FindMember(player.gameObject.transform) == -1) targetGroup.AddMember(player.gameObject.transform, 1, CameraFollowRadius); } else { Debug.LogErrorFormat("HECK! allPlayers already contains player with number: {0}", number); } }
void InitGameMultiplayer() { GameObject go = PhotonNetwork.Instantiate(playerPrefab.name, spawners[PhotonNetwork.LocalPlayer.ActorNumber-1].transform.position, Quaternion.identity, 0); controlledPlayer = go.GetComponent<TSDUPlayer>(); controlledPlayer.localInputDeviceNumber = 0; controlledPlayer.number = (uint)PhotonNetwork.LocalPlayer.ActorNumber - 1; targetGroup.AddMember(go.transform, 1, CameraFollowRadius); score = new int[currentMatchSetup.PlayerCount]; fouls = new int[currentMatchSetup.PlayerCount]; for (int j = 0; j < pointCounters.Length; j++) { int i = j; pointCounters[j].PointScored += () => { if (currentBall.GetComponent<PhotonView>().OwnerActorNr == PhotonNetwork.LocalPlayer.ActorNumber) { score[i]+=2; FireScoreChanged(); FirePointScoredPhotonEvent(i); currentBall.GetComponent<BallCollisionDetector>().PickedUp = true; StartCoroutine(DelayedActionCoroutine(1.5f, ResetPositons)); } }; } for (int i = 0; i < outOfFieldDtetectors.Length; i++) { outOfFieldDtetectors[i].BallOut += OnBallOutOfField; } ResetState(); if(!PhotonNetwork.IsMasterClient) matchTimer = timeToStartMatch; }
void InitGameSingleplayer() { for (int i = 0; i < currentMatchSetup.PlayerCount; i++) { GameObject go = Instantiate(playerPrefab, spawners[i].transform.position, Quaternion.identity); TSDUPlayer player = go.GetComponent<TSDUPlayer>(); player.ballPosition.GetComponent<SpriteRenderer>().sprite = ballColors[currentBallColor]; player.localInputDeviceNumber = (uint)i; targetGroup.AddMember(go.transform, 1, CameraFollowRadius); } score = new int[currentMatchSetup.PlayerCount]; fouls = new int[currentMatchSetup.PlayerCount]; for (int j = 0; j < pointCounters.Length; j++) { int i = j; pointCounters[j].PointScored += () => { score[i]+=2; FireScoreChanged(); currentBall.GetComponent<BallCollisionDetector>().PickedUp = true; StartCoroutine(DelayedActionCoroutine(1.5f, ResetPositons)); }; } for (int i = 0; i < outOfFieldDtetectors.Length; i++) { outOfFieldDtetectors[i].BallOut += OnBallOutOfField; } ResetState(); matchTimer = currentMatchSetup.CountDownTime; }