Пример #1
0
    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));
        }
    }
Пример #2
0
 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);
     }
 }
Пример #3
0
    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;
    }
Пример #4
0
    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;
    }