void GetReferences() { m_PlayerHealth = GetComponent <PlayerHealth>(); m_PlayerSetup = GetComponent <PlayerSetup>(); m_PlayerShoot = GetComponent <PlayerShoot>(); m_RB = GetComponent <Rigidbody>(); }
void DeathRPC(bool life, PhotonMessageInfo pmi) { if (life) { PlayersManager.FindPlayer(pmi.sender).score = PlayersManager.FindPlayer(pmi.sender).score / 7; Instantiate(explosion, body.transform.position, body.transform.rotation); tankStore.stan.SetActive(false); body.material = deathMat; head.material = deathMat; PlayersManager.FindPlayer(pmi.sender).gameObject.GetComponent <TankEvolution>().HullGameObject.tag = TagsManager.GetTag(Tag.StaticGameObject); } else { tankStore.stan.SetActive(true); body.material = defaultMat; head.material = defaultMat; PlayerSetup ps = PlayersManager.FindPlayer(pmi.sender).gameObject.GetComponent <PlayerSetup>(); GameObject myColliderObject = GetComponent <TankEvolution>().HullGameObject; if (ps.photonView.isMine) { TagsManager.SetGameObjectTag(myColliderObject, Tag.LocalPlayerBody); LayerManager.SetGameObjectLayer(myColliderObject, Layer.LocalPlayer); } else { TagsManager.SetGameObjectTag(myColliderObject, Tag.RemotePlayerBody); LayerManager.SetGameObjectLayer(myColliderObject, Layer.RemotePlayer); } } }
public void Setup() { // Get references to the components. m_Movement = m_Instance.GetComponent<PlayerController> (); m_Weapons = m_Instance.GetComponent<PlayerWeapons> (); m_Health = m_Instance.GetComponent<PlayerHealth> (); m_Setup = m_Instance.GetComponent<PlayerSetup> (); // Get references to the child objects. m_Models = m_Health.m_Model; //Set a reference to that amanger in the health script, to disable control when dying m_Health.m_Manager = this; m_Movement.m_Manager = this; m_Weapons.m_Manager = this; m_Weapons._playerController = m_Movement; // Set the player numbers to be consistent across the scripts. m_Movement.m_PlayerNumber = m_PlayerNumber; m_Movement.m_LocalID = m_LocalPlayerID; //setup is use for diverse Network Related sync m_Setup.m_Color = m_PlayerColor; m_Setup.m_PlayerName = m_PlayerName; m_Setup.m_PlayerNumber = m_PlayerNumber; m_Setup.m_LocalID = m_LocalPlayerID; m_Setup.m_kills = m_Kills; DisableControl (); }
public void StartLocalGame() { int playerCount = GetPlayerCount(); if (playerCount < 2) { return; } terrain.Init(TerrainType.value, Random.Range(0f, 360f)); manager.PlayerTanks = new List <Tank>(); float offset = terrain.MapWidth / (playerCount + 1); int counter = 0; for (int i = 0; i < PlayerDataList.Count; i++) { PlayerSetup playerData = PlayerDataList[i]; if (playerData.Active.activeInHierarchy) { Vector3 position = new Vector3((counter + 1) * offset, 0f, 0f); Tank tank = Instantiate(TankPrefab, position, Quaternion.identity, TankParent).GetComponent <Tank>(); // todo - init with photon Tank.ControlType controlType = playerData.GetControlType(); tank.Init(playerData.GetName(), counter, playerData.GetColor(), controlType); manager.PlayerTanks.Add(tank); counter++; } } manager.Init(FromOnlineSetup); gameObject.SetActive(false); }
public void StartOnlineGame() { OnlineGameStarted = true; PhotonNetwork.CurrentRoom.IsOpen = false; float seed = (float)PhotonNetwork.CurrentRoom.CustomProperties["TerrainSeed"]; terrain.Init(TerrainType.value, seed); int playerCount = GetPlayerCount(); float offset = terrain.MapWidth / (playerCount + 1); int counter = 0; for (int i = 0; i < PlayerDataList.Count; i++) { PlayerSetup playerData = PlayerDataList[i]; if (playerData.Active.activeInHierarchy) { if (playerData.OnlineNumber == PhotonNetwork.LocalPlayer.ActorNumber) { Vector3 position = new Vector3((counter + 1) * offset, 0f, 0f); Tank tank = PhotonNetwork.Instantiate(TankPrefab.name, position, Quaternion.identity).GetComponent <Tank>(); tank.transform.parent = TankParent; tank.Init(playerData.GetName(), counter, playerData.GetColor(), Tank.ControlType.LocalPlayer); manager.PlayerTanks.Add(tank); } counter++; } } WaitingForOthersToStart = true; NumLoadedTanks++; }
public async Task <IActionResult> ConfigurePlayer()//[FromBody]PlayerSetup setup) { var setup = new PlayerSetup(); await TryUpdateModelAsync(setup); var player = _ctx.Players .Include(p => p.Game) .SingleOrDefault(p => p.PlayerId == setup.PlayerId); if (player == null) { return(NotFound()); } player.Name = setup.Name; var game = new BattleshipGame(player.Game); game.PlaceShip(player, setup.IsShipHorizontal, setup.ShipX, setup.ShipY); _ctx.SaveChanges(); return(RedirectToAction(nameof(Player), new { playerId = player.PlayerId })); }
public MainGameManager(GameSetup gameSetup) { MapAssetSet assetSet = gameSetup.MapDefinition.GetMapAssetSet(); Map map = new Map(assetSet.MapSetup); IEnumerable <PlayerSetup> playerSetups = PlayerSetup.CreateFromMapDefinition(assetSet.MapSetup); GameTurnTransition initialState = GetInitialState(playerSetups, map); _turns.Add(initialState); _provinceNeighbors = new ProvinceNeighborsTable(CurrentState); ObjectManager = new UnityObjectManager(map, assetSet, gameSetup.MapPrefab, gameSetup.FactionPrefab, gameSetup.OrderIndicatorPrefab, gameSetup.ScreenCanvas, initialState.AfterEverything, playerSetups); InteractionManager = new InteractionManager(this, map, gameSetup, ObjectManager, playerSetups); DisplayManager = new GameDisplayManager(this, gameSetup, playerSetups.Select(item => item.Faction), map, ObjectManager, InteractionManager.Factions, initialState.AfterEverything); }
// Start is called before the first frame update void Start() { animator = GetComponent <Animator>(); playerSetup = GetComponent <PlayerSetup>(); health = startHealth; HealthBar.fillAmount = health / startHealth; }
private void Start() { m_pSetup = GetComponent <PlayerSetup>(); m_pMovement = GetComponent <PlayerMovement>(); m_pCast = GetComponent <PlayerCast>(); m_pHealth = GetComponent <PlayerHealth>(); }
private void OnEnable() { _session = GameSession.CURRENT; _session.ServerConnection.OtherJoinedRoom += ServerConnection_OtherJoinedRoom; _session.ServerConnection.OtherLeftRoom += ServerConnection_OtherLeftRoom; _session.ServerConnection.OtherChangedSetup += ServerConnection_OtherChangedSetup; _header.text = _session.ServerConnection.ConnectedRoom.Name; // Load current setup foreach (RoomPlayerInfo info in _session.ServerConnection.ConnectedRoom.Players) { if (info.PlayerID == _session.ServerConnection.PlayerID) { _setup = info.Setup; _boatInput.value = _setup.BoatID; _colorInput.value = _setup.FlagColorID; _readyInput.isOn = _setup.Ready; break; } } if (_setup == null) { Debug.Log("Failed to load player setup."); gameObject.SetActive(false); } _updateList = true; }
public override void OnStartLocalPlayer() { base.OnStartLocalPlayer(); status = GetComponent<PlayerStatus>(); setup = GetComponent<PlayerSetup>(); pauseMenu = Singleton.Get<MenuManager>().GetMenu<PauseMenu>(); }
// Use this for initialization void Start() { m_health = GetComponent <PlayerHealth>(); m_shoot = GetComponent <PlayerAttack>(); m_motor = GetComponent <PlayerMotorOld>(); m_setup = GetComponent <PlayerSetup>(); }
public void syncCombatantsLists() { CombatData combat = this._app.Game.CombatData.GetCombat(this._app.GameDatabase, this._combatID, this._systemID, this._turn); PlayerCombatData player1 = combat.GetPlayer(this._app.LocalPlayer.ID); foreach (PlayerInfo playerInfo in this._app.GameDatabase.GetPlayerInfos()) { PlayerInfo player = playerInfo; if (combat.GetPlayer(player.ID) != null) { DiplomacyInfo diplomacyInfo = this._app.GameDatabase.GetDiplomacyInfo(player1.PlayerID, player.ID); string itemGlobalId; if (diplomacyInfo.State == DiplomacyState.WAR) { this._app.UI.AddItem("enemiesList", "", player.ID, ""); itemGlobalId = this._app.UI.GetItemGlobalID("enemiesList", "", player.ID, ""); this.EnemyPlayers.Add(player.ID); } else { this._app.UI.AddItem("alliesList", "", player.ID, ""); itemGlobalId = this._app.UI.GetItemGlobalID("alliesList", "", player.ID, ""); } PlayerSetup playerSetup = this._app.GameSetup.Players.FirstOrDefault <PlayerSetup>((Func <PlayerSetup, bool>)(x => x.databaseId == player.ID)); string propertyValue = playerSetup == null || !(playerSetup.Name != "") ? player.Name : playerSetup.Name; this._app.UI.SetPropertyString(this._app.UI.Path(itemGlobalId, "name"), "text", propertyValue); this._app.UI.SetPropertyString(this._app.UI.Path(itemGlobalId, "playeravatar"), "texture", player.AvatarAssetPath); this._app.UI.SetPropertyString(this._app.UI.Path(itemGlobalId, "badge"), "texture", player.BadgeAssetPath); this._app.UI.SetPropertyColorNormalized(this._app.UI.Path(itemGlobalId, "primaryColor"), "color", player.PrimaryColor); this._app.UI.SetPropertyColorNormalized(this._app.UI.Path(itemGlobalId, "secondaryColor"), "color", player.SecondaryColor); this._app.UI.SetPropertyString(this._app.UI.Path(itemGlobalId, "avatarButton"), "id", "avatarButton|" + (diplomacyInfo.State == DiplomacyState.WAR ? "E|" : "A|") + player.ID.ToString()); } } }
public static void ShowWindow() { PlayerSetup charSetup = (PlayerSetup)EditorWindow.GetWindow(typeof(PlayerSetup), true, ""); charSetup.minSize = new Vector2(325, 225); charSetup.maxSize = new Vector2(325, 225); }
public void HandlePlayerWon(Color winnerColor) { PlayerSetup.AllowInput = false; var playersAndColors = PlayerSetup.GetPlayerColors(); foreach (var player in playersAndColors) { foreach (var playerScore in PlayerScores) { if (playerScore.PlayerID == player.Item1) { playerScore.Setup(player.Item2, ScoreSystem.GetScoreFromPlayerID(player.Item1).ToString()); playerScore.gameObject.SetActive(true); } } } WinText.color = winnerColor; if (winnerColor == Color.white) { WinText.text = "Everyone won!"; } else { WinText.text = $"{GetColorNameFromColor(winnerColor)} wins this round!"; } Panel.SetActive(true); StartText.SetActive(true); showing = true; }
private void StartGame() { PlayerSetup.ResetPlayers(); for (int i = 0; i < joinedPlayers.Length; i++) { var player = joinedPlayers[i]; if (player == null) { continue; } if (player.InputType == InputType.Joystick) { PlayerSetup.SetUpJoystickPlayer(player.InputID, i, BaseJoyName + player.InputID + HorizontalName, BaseJoyName + player.InputID + JumpName, BaseJoyName + player.InputID + AttackName, player.SelectedColor); } else if (player.InputType == InputType.JoyCon) { PlayerSetup.SetUpJoystickPlayer(player.InputID, i, BaseJoyName + player.InputID + HorizontalName + "A", BaseJoyName + player.InputID + JumpName, BaseJoyName + player.InputID + AttackName, player.SelectedColor); } else { var jumpKey = GetJumpKeyCodeForKeyBoardInput(player.InputID); var attackKey = GetAttackKeyCodeForKeyBoardInput(player.InputID); PlayerSetup.SetUpKeyboardPlayer(player.InputID, i, "Key" + player.InputID + HorizontalName, jumpKey, attackKey, player.SelectedColor); } } ScoreSystem.ResetScore(); SceneManager.LoadScene(1); }
void Start() { playerSetup = GetComponentInParent <PlayerSetup>(); attackBoxManager = GetComponentInParent <AttackBoxManager>(); PlayerName = playerSetup.transform.name; Debug.Log("Attackbox: " + PlayerName); }
public async Task CreateGame(string mapName, Race opponentRace, Difficulty opponentDifficulty) { RequestCreateGame createGame = new RequestCreateGame { Realtime = false, LocalMap = new LocalMap { MapPath = mapName } }; var player1 = new PlayerSetup(); createGame.PlayerSetup.Add(player1); player1.Type = PlayerType.Participant; var player2 = new PlayerSetup(); createGame.PlayerSetup.Add(player2); player2.Race = opponentRace; player2.Type = PlayerType.Computer; player2.Difficulty = opponentDifficulty; Request request = new Request { CreateGame = createGame }; Response response = await proxy.SendRequest(request); }
public RoomPlayerInfo(int id, string name, int spawnPointID, PlayerSetup setup) { PlayerID = id; PlayerName = name; SpawnPointID = spawnPointID; Setup = setup; }
internal static void SyncPlayerSetupWidget(App game, string panelName, PlayerSetup player) { string str = null; if (!string.IsNullOrEmpty(player.Faction)) { str = Path.GetFileNameWithoutExtension(game.AssetDatabase.GetFaction(player.Faction).NoAvatar); } game.UI.SetPropertyString(game.UI.Path(panelName, "imgFaction"), "sprite", App.GetFactionIcon(player.Faction)); game.UI.SetPropertyString(game.UI.Path(panelName, "imgAvatar"), "sprite", string.IsNullOrEmpty(player.Avatar) ? str ?? string.Empty : player.Avatar); game.UI.SetPropertyString(game.UI.Path(panelName, "imgBadge"), "sprite", player.Badge ?? string.Empty); game.UI.SetPropertyString(game.UI.Path(panelName, "lblPlayerName"), "text", player.Name ?? string.Empty); game.UI.SetPropertyString(game.UI.Path(panelName, "lblEmpireName"), "text", string.IsNullOrEmpty(player.EmpireName) ? App.Localize("@GAMESETUP_RANDOM_EMPIRE_NAME") : player.EmpireName); game.UI.SetPropertyString(game.UI.Path(panelName, "lblFactionDescription"), "text", App.GetFactionDescription(player.Faction)); Vector4 vector4_1 = new Vector4(0.0f, 0.0f, 0.0f, 0.0f); Vector4 vector4_2 = new Vector4(0.0f, 0.0f, 0.0f, 0.0f); if (player.EmpireColor.HasValue) { vector4_1 = new Vector4(Player.DefaultPrimaryPlayerColors[player.EmpireColor.Value] * (float)byte.MaxValue, (float)byte.MaxValue); } vector4_2 = new Vector4(player.ShipColor * (float)byte.MaxValue, (float)byte.MaxValue); game.UI.SetPropertyColor(game.UI.Path(panelName, "imgEmpireColor"), "color", vector4_1); game.UI.SetPropertyColor(game.UI.Path(panelName, "sample"), "color", vector4_2); game.UI.SetPropertyColor(game.UI.Path(panelName, "LC"), "color", vector4_1); game.UI.SetPropertyColor(game.UI.Path(panelName, "RC"), "color", vector4_1); game.UI.SetPropertyColor(game.UI.Path(panelName, "BG"), "color", vector4_1); game.UI.SetPropertyColor(game.UI.Path(panelName, "RC"), "color", vector4_2); }
private async Task CreateGame(string mapName, Race opponentRace, Difficulty opponentDifficulty) { var createGame = new RequestCreateGame(); createGame.Realtime = false; var mapPath = Path.Combine(starcraftMaps, mapName); if (!File.Exists(mapPath)) { Logger.Info("Unable to locate map: " + mapPath); throw new Exception("Unable to locate map: " + mapPath); } createGame.LocalMap = new LocalMap(); createGame.LocalMap.MapPath = mapPath; var player1 = new PlayerSetup(); createGame.PlayerSetup.Add(player1); player1.Type = PlayerType.Participant; var player2 = new PlayerSetup(); createGame.PlayerSetup.Add(player2); player2.Race = opponentRace; player2.Type = PlayerType.Computer; player2.Difficulty = opponentDifficulty; var request = new Request(); request.CreateGame = createGame; var response = await proxy.SendRequest(request); }
public int BuildBlock(BlockType b, PlayerSetup pSetup) { Vector3 localPos = this.position; Vector3 chunkPos = this.owner.chunk.transform.position; Vector3 blockWorldPos = chunkPos + localPos; if (pSetup.CheckFences(blockWorldPos, pSetup.username)) { return(2); } if (b == BlockType.REDSTONE) { if (pSetup.isServer) { Debug.Log("Red stone build 1"); pSetup.RpcFenceSync(true, blockWorldPos, pSetup.username); } else { Debug.Log("Red stone build 2"); pSetup.RpcFenceSync(false, blockWorldPos, pSetup.username); //pSetup.CmdFenceSync2(true, blockWorldPos, pSetup.username); } } SetType(b); owner.Redraw(); return(1); }
//END TEST CODE protected override void Initialize() { // TODO: Add your initialization logic here //Create a list of players //logic = new GameLogicBattle(game.GetPlayers()); logic = new GameLogicClassic(); boardToShare = logic.GameLogicSetup(plays); start = new Start(BoardWidth, BoardHeight, 0, 0); setup = new Setup(BoardWidth, BoardHeight, 0, 0); playerSetup = new PlayerSetup(BoardWidth, BoardHeight, 0, 0); endScreen = new EndScreen(BoardWidth, BoardHeight, 0, 0); IsMouseVisible = true; mouseState = Mouse.GetState(); previousMouseState = mouseState; padState = GamePad.GetState(PlayerIndex.One); prevPadState = padState; //screenCenter = new Point(((BoardWidth / 2)), 0); gameState = GameState.StartMenu; screenNumber = 0; //scoreBoard.Initialize(this); base.Initialize(); }
private static void SetupGameSessionRequirements() { p1 = new AI_Guess(); p2 = new AI_Guess(); p1Setup = new PlayerSetup("P1"); p2Setup = new PlayerSetup("P2"); }
public async Task CreateGame(String mapName, Race opponentRace, Difficulty opponentDifficulty) { RequestCreateGame createGame = new RequestCreateGame(); createGame.Realtime = false; string mapPath = Path.Combine(starcraftDir, "maps", mapName); if (!File.Exists(mapPath)) { throw new Exception("Could not find map at " + mapPath); } createGame.LocalMap = new LocalMap(); createGame.LocalMap.MapPath = mapPath; PlayerSetup player1 = new PlayerSetup(); createGame.PlayerSetup.Add(player1); player1.Type = PlayerType.Participant; PlayerSetup player2 = new PlayerSetup(); createGame.PlayerSetup.Add(player2); player2.Race = opponentRace; player2.Type = PlayerType.Computer; player2.Difficulty = opponentDifficulty; Request request = new Request(); request.CreateGame = createGame; Response response = await proxy.SendRequest(request); }
void Start() { pMotor = GetComponent <PlayerMotor>(); pShoot = GetComponent <PlayerShoot>(); pHealth = GetComponent <PlayerHealth>(); pSetup = GetComponent <PlayerSetup>(); }
public void Setup() { // Get references to the components. m_Movement = m_Instance.GetComponent <PlayerMovement>(); m_Shooting = m_Instance.GetComponent <PlayerShooting>(); m_Health = m_Instance.GetComponent <PlayerHealth>(); m_Setup = m_Instance.GetComponent <PlayerSetup>(); // Get references to the child objects. m_PlayerGEO = m_Health.m_PlayerGEO; //Set a reference to that amanger in the health script, to disable control when dying m_Health.m_Manager = this; // Set the player numbers to be consistent across the scripts. m_Movement.m_PlayerNumber = m_PlayerNumber; m_Movement.m_LocalID = m_LocalPlayerID; m_Shooting.m_PlayerNumber = m_PlayerNumber; m_Shooting.m_localID = m_LocalPlayerID; //setup is use for diverse Network Related sync m_Setup.m_Color = m_PlayerColor; m_Setup.m_PlayerName = m_PlayerName; m_Setup.m_PlayerNumber = m_PlayerNumber; m_Setup.m_LocalID = m_LocalPlayerID; }
private void Start() { setup = GetComponent <PlayerSetup>(); view = GetComponent <PhotonView>(); stats = GetComponent <CharacterStats>(); stats.onPlayerDie += DropCoins; }
// Use this for initialization void Start() { gameManager = GameObject.Find("GameManager").GetComponent <GameManager>(); motor = GetComponent <PlayerMotor>(); playerSetup = GetComponent <PlayerSetup>(); player = GetComponent <Player>(); }
private void PlayerSetup_NameChanged(PlayerSetup arg1, string arg2) { // Set all the reflectors to have the same name! foreach (Collider collider in reflectorColliders) { collider.name = arg2; } }
public void AddPlayer(PlayerSetup pSetup) { if (m_playerCount < m_maxPlayers) { pSetup.m_playerColor = m_PlayerColors[m_playerCount]; pSetup.m_playerNum = m_playerCount + 1; } }
//public Image healthBar; // Start is called before the first frame update void Start() { PV = GetComponent <PhotonView>(); playerSetup = GetComponent <PlayerSetup>(); playerSpawner = GameObject.Find("PlayerSpawner").GetComponent <PlayerSpawner>(); laser.enabled = false; isRespawn = false; }
public FenceObject(Vector3 A, Vector3 B, PlayerSetup pSetup) { this.pointA = A; this.pointB = B; //prefab = pSetup.GetComponent<FenceObject>().prefab; this.gameObj = Instantiate(Resources.Load("FenceObject")) as GameObject; this.Draw(); }
public void PlayerAbilitiesSetUp(PlayerSetup playerSetup) { ProgressBar[] progressBars = GameObject.FindObjectsOfType<ProgressBar>(); player = playerSetup.playerNum; for (var i = 0; i < 4; i++) { if (progressBars[i].player == player) { progressBar = progressBars[i]; } } }
public void OnSetupColor() { // Arrange PlayerSetup playerSetupController = new PlayerSetup(); var playerSetup = GetPlayerSetupMock(); playerSetupController.SetNetworkSetup(playerSetup); GameObject[] goArray = new GameObject[3]; goArray[0] = new GameObject(); goArray[1] = new GameObject(); goArray[2] = new GameObject(); // Act playerSetupController.SetUpColor(Color.magenta, goArray); // passing in null // Assert playerSetup.Received(3).SetMaterialForGameObject(Arg.Any<GameObject>(), Arg.Any<Material>()); }
private void OnEnable() { playerSetup = new PlayerSetup(); playerSetup.SetNetworkSetup(this); // This is messy, but helps with testing.. playerSetup.magentaBody = magentaBody; playerSetup.redBody = redBody; playerSetup.cyanBody = cyanBody; playerSetup.blueBody = blueBody; playerSetup.greenBody = greenBody; playerSetup.yellowBody = yellowBody; playerSetup.magentaMirror = magentaMirror; playerSetup.redMirror = redMirror; playerSetup.cyanMirror = cyanMirror; playerSetup.blueMirror = blueMirror; playerSetup.greenMirror = greenMirror; playerSetup.yellowMirror = yellowMirror; }
public int NewPlayerSetUpNumber(PlayerSetup player) { for(var i = 0; i < 4; i++) { if(players[i] == null) { numOfPlayers++; players[i] = player; return i; } if(players[i] != null && players[i].playerNum == PlayerSetup.PlayerEnum.empty) { numOfPlayers++; players[i] = player; return i; } } return -1; }
// if not local player, disable components in array. set components in unity inspector void Start() { PS = this; player = GetComponent<Player>(); if (!isLocalPlayer) { DisableComponents(); AssignRemoteLayer(); // changes layer name } else { sceneCam = Camera.main; if(sceneCam != null) { sceneCam.gameObject.SetActive(false); } player.isPlayerReady = true; //set player name nameString = instanceName; Cmd_UpdateNameServer(playerID, nameString); } }
public void ChangeSetup(PlayerSetup newSetup) { if (!_logedIn) return; BeginSend(PackageFactory.Pack(PackageType.SetupChange, new PlayerSetupData(newSetup))); }
public void Setup() { //Get references to the components playerSetup = instance.GetComponent<PlayerSetup>(); playerControl = instance.GetComponent<PlayerControl>(); playerCamera = instance.GetComponent<PlayerCamera>(); playerSetup.colorIndex = playerColorIndex; playerSetup.playerName = playerName; playerSetup.playerNumber = playerNumber; playerSetup.randomTerrainSeed = randomTerrainSeed; }
public void FromBytes(byte[] data, ref int offset) { PlayerID = new PlayerIDData(data, ref offset).PlayerID; Setup = new PlayerSetupData(data, ref offset).Setup; }
public PlayerSetupData(PlayerSetup setup) { Setup = setup; }
public void FromBytes(byte[] data, ref int offset) { int boatID = (int)data[offset++]; int flagID = (int)data[offset++]; bool ready = data[offset++] == (byte)1; Setup = new PlayerSetup(boatID, flagID, ready); }