コード例 #1
0
    public void BeginGame(string _peliID)
    {
        GameObject newTurnManager    = Instantiate(turnManagerpreF);
        GameObject PlayerSpawnSystem = Instantiate(PlayerSpawnSystempref);

        // Spawn Server
        NetworkServer.Spawn(newTurnManager);
        NetworkServer.Spawn(PlayerSpawnSystem);
        newTurnManager.GetComponent <NetworkMatchChecker>().matchId = _peliID.toGuid();
        TurnManager turnManager = newTurnManager.GetComponent <TurnManager>();

        for (int i = 0; i < matches.Count; i++)
        {
            if (matches[i].matchID == _peliID)
            {
                foreach (var player in matches[i].pelaajat)
                {
                    PlayerHostScript _pelaaja = player.GetComponent <PlayerHostScript>();
                    turnManager.AddPlayer(_pelaaja);
                    _pelaaja.StartGame();
                }
                break;
            }
        }
    }
コード例 #2
0
ファイル: UILobby.cs プロジェクト: Macezu/FutuRace
    //Pelaajan Spawnaaminen lobby taululle. Luodaan UiPlayer ja sille asetetaan pelaaja
    public GameObject SpawnPlayerUIPrefab(PlayerHostScript player)
    {
        GameObject newUIPlayer = Instantiate(UIPlayerPrefab, UIPlayerParent);

        newUIPlayer.GetComponent <UIplayer>().setPlayer(player);
        newUIPlayer.transform.SetSiblingIndex(player.playerIndex = -1);
        return(newUIPlayer);
    }
コード例 #3
0
 public override void OnStartClient()
 {
     if (isLocalPlayer)
     {
         localPlayer = this;
     }
     else
     {
         //spawnataan toisen pelaajan UI
         Debug.Log($"Spawning other player UI");
         playerLobbyUI = UILobby.instance.SpawnPlayerUIPrefab(this);
     }
 }
コード例 #4
0
    //Jos pelaaja disconnectaa pelistä
    public void playerDisconnected(PlayerHostScript player, string _matchId)
    {
        //etsitaan kaikki pelit
        for (int i = 0; i < matches.Count; i++)
        {
            if (matches[i].matchID == _matchId)
            {
                //otetaan pelaajan indexi talteen ja poistetaan pelaaja pelistä sen avulla
                int playerIndex = matches[i].pelaajat.IndexOf(player.gameObject);
                matches[i].pelaajat.RemoveAt(playerIndex);
                Debug.Log($"Pelaaja poistui pelista: {_matchId} | {matches[i].pelaajat.Count} pelaajia jaljella");

                if (matches[i].pelaajat.Count == 0)
                {
                    Debug.Log($"Ei pelaajia jaljella, poistutaan pelista");
                    matches.RemoveAt(i);
                    matchIDs.Remove(_matchId);
                }
                break;
            }
        }
    }
コード例 #5
0
ファイル: PlayersStartandLap.cs プロジェクト: Macezu/FutuRace
 private void FixedUpdate()
 {
     if (timer >= 1 && PlayerHostScript.isOnStartupLine)
     {
         Countdown.gameObject.SetActive(true);
         CountdownText();
     }
     else if (Countdown)
     {
         Countdown.text = "GO!";
     }
     else
     {
         return;
     }
     if (CountedDown)
     {
         //Palauttaa Ajoneuvolle liikkumisen ja freeze trasformation poistuu
         PlayerHostScript.canIbeReleased();
         Countdown.text = String.Empty;
     }
     //Anna minulle tietoa siitä monnella sijalla olet pelaaja TargetRpc?
 }
コード例 #6
0
 public void setPlayer(PlayerHostScript player)
 {
     //Haetaan PlayerhostScriptistä pelaajaref ja sille indexi
     this.player = player;
     text.text   = "Player " + player.playerIndex.ToString();
 }
コード例 #7
0
 public void AddPlayer(PlayerHostScript _localplayer)
 {
     pelajaat.Add(_localplayer);
     Debug.Log("Pelaaja on lisätty listalle " + _localplayer.spawnIndex);
 }