public void TellCameraBeginSpectatorMode() { //Stop typical cam behaviour m_isInSpectatorMode = true; //Init player array //instead of trying to find them in the scene, get them from GSC, then they are ordered m_gameController.RemovePlayerFromConnectedList(Network.player); List <Player> players = m_gameController.m_connectedPlayers; m_players = new GameObject[players.Count]; for (int i = 0; i < players.Count; i++) { m_players[i] = m_gameController.GetPlayerFromNetworkPlayer(m_gameController.GetNetworkPlayerFromID(i)); } //Alert gui we're in specmode m_gui.BeginSpecModeGameTimer(); m_shouldParallax = true; //Jump to CShip //TODO: Parametise this into finding either cship or cshipstartpos this.transform.position = new Vector3(-70, 50, -10); }
void TellWeaponParentToPlayerThroughNetworkPlayer(string player) { GameStateController gsc = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameStateController>(); GameObject playerGO = gsc.GetPlayerFromNetworkPlayer(gsc.GetNetworkPlayerFromID(gsc.GetIDFromName(player))); Debug.Log("Attaching weapon: " + this.name + " to gameObject: " + playerGO.name + ", through name: " + player); this.transform.parent = playerGO.transform; this.transform.localPosition = m_requiredOffset; }
void ParentToPlayerOverNetwork(string name) { GameStateController gsc = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameStateController>(); GameObject playerGO = gsc.GetPlayerFromNetworkPlayer(gsc.GetNetworkPlayerFromID(gsc.GetIDFromName(name))); Debug.Log("Attaching engine: " + this.name + " to gameObject: " + playerGO.name + ", through name: " + name); this.transform.parent = playerGO.transform; this.transform.localPosition = m_requiredOffset; playerGO.GetComponent <PlayerControlScript>().EquipEngineStats(m_engineMoveSpeed, m_engineTurnSpeed, m_engineStrafeModifier); }
// Used to ensure that the beam is properly parented across all clients [RPC] void ParentBeamToFirerOverNetwork(string playerName) { GameStateController gsc = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameStateController>(); GameObject playerGO = gsc.GetPlayerFromNetworkPlayer(gsc.GetNetworkPlayerFromID(gsc.GetIDFromName(playerName))); Debug.Log("Attaching beam: " + this.name + " to gameObject: " + playerGO.name + "."); this.transform.parent = playerGO.GetComponent <PlayerControlScript>().GetWeaponObject().transform; firer = playerGO; }
void ParentToPlayerOverNetwork(string name) { GameStateController gsc = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameStateController>(); GameObject playerGO = gsc.GetPlayerFromNetworkPlayer(gsc.GetNetworkPlayerFromID(gsc.GetIDFromName(name))); Debug.Log("Attaching plating: " + this.name + " to gameObject: " + playerGO.name + ", through name: " + name); this.transform.parent = playerGO.transform; this.transform.localPosition = m_requiredOffset; playerGO.GetComponent <HealthScript>().EquipNewPlating(m_platingHealth); }
void ParentToPlayerOverNetwork(string name) { GameStateController gsc = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameStateController>(); GameObject playerGO = gsc.GetPlayerFromNetworkPlayer(gsc.GetNetworkPlayerFromID(gsc.GetIDFromName(name))); Debug.Log("Attaching shield: " + this.name + " to gameObject: " + playerGO.name + ", through name: " + name); this.transform.parent = playerGO.transform; this.transform.localPosition = m_requiredOffset; //Now apply it's affects to the player playerGO.GetComponent <HealthScript>().EquipNewShield(m_shieldMaxCharge, m_shieldRechargeRate, m_shieldRechargeDelay); //playerGO.GetComponent<PlayerControlScript>(); }