private GameObject NetworkCreatePlayer(int connectionID, Vector3 position, Vector3 eulerAngles) { if (!ServerValidateInstantiate(Settings.m_PlayerObject)) { return(null); } CreateRegisteredObject(Settings.m_PlayerObject, position, eulerAngles, NetworkController.Instance.GetConnection(connectionID), out GameObject inst, out NetworkIdentity instIdentity); NetworkWriter writer = GetCreatePlayerWriter(connectionID, inst, instIdentity); NetworkController.Instance.SendToAll(NetworkController.ReliableSequencedChannel, CreatePlayerMsg, writer.ToArray()); if (PlayerObjects == null) { PlayerObjects = new List <NetworkPlayerObject>(); } if (m_PlayerObjectCache == null) { m_PlayerObjectCache = new Dictionary <int, NetworkPlayerObject>(); } NetworkPlayerObject netPlayer = new NetworkPlayerObject(connectionID, inst); PlayerObjects.Add(netPlayer); m_PlayerObjectCache[connectionID] = netPlayer; return(inst); }
/// <summary> /// Cleanup all data. /// </summary> public void Clear() { UnregisterEvents(); if (SpawnedObjects != null) { foreach (GameObject obj in SpawnedObjects) { Object.Destroy(obj); } SpawnedObjects.Clear(); } if (PlayerObjects != null) { foreach (NetworkPlayerObject obj in PlayerObjects) { Object.Destroy(obj.GameObject); } PlayerObjects.Clear(); } m_BufferedPlayersCreations?.Clear(); m_BufferedOwnerCreations?.Clear(); m_BufferedPlayerConnections?.Clear(); m_PlayerObjectCache?.Clear(); m_AuthroityObjects?.Clear(); DestroyedGameObject = null; CreatedGameObject = null; }
//Use this for initialization void Start() { //Finds the player (AAJ) playerBody = GameObject.FindGameObjectWithTag("Player").GetComponent <Rigidbody2D>(); //Finds the player portrait (AAJ) playerPortrait = GameObject.FindGameObjectWithTag("Player Portrait") as GameObject; //Gets the player's player object for managing health (AAJ) playerObjects = this.GetComponent <PlayerObjects>(); //Finds the bank (AAJ) bank = GameObject.FindGameObjectWithTag("Bank").GetComponent <Bank_Script>(); //If there is no player target, the default mouse will display (AAJ) if (playerTarget != null) { //Removes the mouse so the target can take its place (AAJ) Cursor.visible = false; //Locks the cursor to the game (AAJ) Cursor.lockState = CursorLockMode.Confined; }//if //Prevents the physics engine from rotating the playerbody (AAJ) playerBody.freezeRotation = true; }//start
void Start() { playerObjects = GameObject.Find("Player").GetComponent <PlayerObjects>(); playerEquipment = GameObject.Find("Player").GetComponent <PlayerEquipment>(); player = playerObjects.gameObject; moduleSFX = GetComponent <AudioSource>(); }
// Use this for initialization void Start() { //Gets the turret's player object for managing health (AAJ) playerObjects = this.GetComponent<PlayerObjects>(); //Finds the player (AAJ) playerController = GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerController>(); }
public void Enter(params object[] _args) { playerStateMachine = (PlayerStateMachine)_args[0]; playerAttributes = (PlayerAttributes)_args[1]; playerObjects = (PlayerObjects)_args[2]; gameObject = (GameObject)_args[3]; transform = gameObject.transform; Debug.Log("entering start state"); }
void Start() { NPCAnimator = GetComponent <Animator>(); SelenitState = NPCState.Work; selenit1 = new CurveMotion(this.gameObject, wayPoints); selenit1.MoveSetup(speed, forward: true, cycled: true); selenit1.RotateToPoint(workPoint); currentTime = Time.time; playerObjects = GameObject.Find("Player").GetComponent <PlayerObjects>(); playerEquipment = GameObject.Find("Player").GetComponent <PlayerEquipment>(); npcSFX = GetComponent <AudioSource>(); }
void OnTriggerEnter2D(Collider2D other) { if (other.tag == "Player") { PlayerScore playerScore = other.gameObject.GetComponent <PlayerScore>(); PlayerObjects playerObjects = other.gameObject.GetComponent <PlayerObjects>(); playerScore.AddScore(objectValue); string objectName = itemObject.name.Replace("(Clone)", ""); playerObjects.AddCount(objectName); Destroy(gameObject); } }
private void DebufferObjectSpawns(NetworkConnection conn) { foreach (GameObject obj in SpawnedObjects) { if (PlayerObjects.Any(x => x.GameObject == obj)) { continue; } NetworkIdentity netID = obj.GetComponent <NetworkIdentity>(); NetworkWriter writer = GetInstantiationWriter(netID.OwnerConnection?.ConnectionID ?? -1, obj.name.Replace("(Clone)", string.Empty), obj, netID); NetworkController.Instance.Send(conn.ConnectionID, NetworkController.ReliableSequencedChannel, InstantiateMsg, writer.ToArray()); } }
void Start() { playerStateMachine = new PlayerStateMachine(); playerAttributes = gameObject.GetComponent <PlayerAttributes>(); playerObjects = gameObject.GetComponent <PlayerObjects>(); playerStateMachine.ChangeState( playerStateMachine.states.start, playerStateMachine, playerAttributes, playerObjects, gameObject ); }
private void OnTriggerStay(Collider collider) { if (collider.gameObject.CompareTag("Interactable")) { PlayerObjects current = collider.gameObject.GetComponent <PlayerObjects>(); Vector3 sight = collider.gameObject.transform.position - gameObject.transform.position; // Boolean hit = Physics.Raycast(transform.position, Vector3.Normalize(sight)); Boolean canSee = !Physics.Raycast(transform.position, collider.gameObject.transform.position); if (current.isSuspicious() && canSee) { Debug.Log("I can see you" + collider.gameObject.name); pursuing = true; target = collider.gameObject; agent.SetDestination(collider.gameObject.transform.position); } } }
private void OnDestroyPlayer(NetworkConnection conn) { NetworkPlayerObject playerObject = PlayerObjects?.Find(x => x.ConnectionID == conn.ConnectionID); if (playerObject != null) { if (SpawnedObjects?.Contains(playerObject.GameObject) ?? false) { SpawnedObjects.Remove(playerObject.GameObject); } DestroyedGameObject?.Invoke(playerObject.NetworkIdentity); Object.Destroy(playerObject.GameObject); PlayerObjects.Remove(playerObject); m_PlayerObjectCache?.Remove(conn.ConnectionID); } if (m_BufferedPlayersCreations?.ContainsKey(conn.ConnectionID) ?? false) { m_BufferedPlayersCreations.Remove(conn.ConnectionID); } if (m_BufferedOwnerCreations?.ContainsKey(conn.ConnectionID) ?? false) { m_BufferedOwnerCreations.Remove(conn.ConnectionID); } if (m_AuthroityObjects?.ContainsKey(conn) ?? false) { foreach (NetworkIdentity identity in m_AuthroityObjects[conn]) { if (identity != null) { Destroy(identity.gameObject); } } m_AuthroityObjects.Remove(conn); } m_BufferedPlayerConnections?.Remove(conn); }
private void OnNetworkSpawnPlayer(NetworkWriter writer) { if (IsServer) { return; } ReadInstantiationMessage(writer, out int connectionID, out int netID, out Vector3 position, out Quaternion rotation, out GameObject prefab, out _, out _); NetworkConnection conn = NetworkController.Instance.GetConnection(connectionID); if (conn == null || !NetworkController.Instance.IsOnlineScene) { if (m_BufferedPlayersCreations == null) { m_BufferedPlayersCreations = new Dictionary <int, NetworkWriter>(); } m_BufferedPlayersCreations[connectionID] = new NetworkWriter(writer.ToArray()); return; } GameObject inst = ClientInstantiateServerObject(netID, position, rotation, prefab, conn, null); inst.name += " [Connection " + connectionID + "]"; if (PlayerObjects == null) { PlayerObjects = new List <NetworkPlayerObject>(); } if (m_PlayerObjectCache == null) { m_PlayerObjectCache = new Dictionary <int, NetworkPlayerObject>(); } NetworkPlayerObject netPlayer = new NetworkPlayerObject(connectionID, inst); PlayerObjects.Add(netPlayer); m_PlayerObjectCache[connectionID] = netPlayer; }
void Start() { rb = GetComponent <Rigidbody2D>(); playerObjects = GetComponent <PlayerObjects>(); anim = GetComponent <Animator>(); }
private void Start() { playerObjects = GetComponent <PlayerObjects>(); }
public override void SyncNewPlayer(Player newPlayer) { base.SyncNewPlayer(newPlayer); // Sync the objects that are not associated with any player. ObjectTable serverTable = base.ObjectTables.GetPlayerTable(base.NetworkControl.ThisPlayer); ICollection <GameObject> serverObjects = serverTable.GetAllObjects(); Debug.Log("Number of server objects: " + serverObjects.Count); foreach (GameObject obj in serverObjects) { ObjectSync objSync = obj.GetComponent <ObjectSync>(); switch (objSync.Type) { case ObjectSyncType.Mothership: ObjectRPC.CreateMothership(newPlayer.NetworkPlayerInfo, objSync.Owner, objSync.GlobalID, obj.layer); // Temporary mothership positions. if (obj.layer == (int)Layers.Team1Mothership) { ObjectRPC.ObjectPosition(objSync.Owner, objSync.GlobalID, new Vector3(1000, 0, 0), Vector3.zero); } else { ObjectRPC.ObjectPosition(objSync.Owner, objSync.GlobalID, new Vector3(-1000, 0, 0), Vector3.zero); } break; case ObjectSyncType.Drone: ObjectRPC.CreateDrone(newPlayer.NetworkPlayerInfo, objSync.Owner, objSync.GlobalID, obj.transform.position, obj.layer); break; case ObjectSyncType.Asteroid: ObjectRPC.CreateAsteroid(newPlayer.NetworkPlayerInfo, objSync.Owner, objSync.GlobalID, obj.transform.position, obj.transform.localScale, obj.name); break; } } // Sync the objects that belong to other players. foreach (Player p in base.Players.Values) { // Skip all objects for the server player (already synced) and the new player (empty). if (!(p.ID == base.NetworkControl.LocalViewID || p.ID == newPlayer.ID)) { // Sync player ships and player spawnpoints PlayerObjects playerObjects = base.ObjectTables.PlayerObjects[p]; GameObject spawnPoint = base.GetObject(p, playerObjects.PlayerSpawnPointID); ObjectRPC.CreatePlayerSpawnpoint( newPlayer.NetworkPlayerInfo , p , playerObjects.PlayerSpawnPointID , spawnPoint.transform.position); GameObject playerShip = base.GetObject(p, playerObjects.PlayerShipID); PlayerShipRPC.CreatePlayerShip(newPlayer.NetworkPlayerInfo, p, playerObjects.PlayerShipID); //ObjectRPC.SetObjectLayer(newPlayer.NetworkPlayerInfo, p, playerObjects.PlayerShipID, (Layers)playerShip.layer); } } // Create the objects for the new player. int spawnPointID = base.GUIDGenerator.GenerateID(); int playerShipID = base.GUIDGenerator.GenerateID(); GameObject mothership = base.GetMothership(newPlayer.Team); Vector3 spawnPointPos = mothership.transform.position + new Vector3(0, 500, 0); // The order in which the following RPCs are sent is critical! ObjectRPC.CreatePlayerSpawnpoint(newPlayer, spawnPointID, spawnPointPos); PlayerShipRPC.CreatePlayerShip(newPlayer, playerShipID); PlayerShipRPC.SpawnPlayerShip(newPlayer, spawnPointID, playerShipID); }
public static void Init() { AxeDisplayText = new Font(Drawing.Direct3DDevice, new FontDescription { FaceName = "Tahoma", Height = 38, OutputPrecision = FontPrecision.Default, Quality = FontQuality.ClearTypeNatural, }); PlayerObjects.Init(); MenuLocal = ModeConfig.MenuConfig.AddSubMenu("Drawings", "Drawings"); { MenuLocal.Add("Draw.Enable", new CheckBox("Enable/Disable Drawings:")); MenuLocal.Add("DrawKillableEnemy", new CheckBox("Killable Enemy Notification")); //MenuLocal.Add("DrawKillableEnemyMini", new CheckBox("Killable Enemy [Mini Map]")); MenuLocal.Add("DrawMinionLastHist", new CheckBox("Draw Minion Last Hit")); MenuLocal.AddGroupLabel("Mana Bar Combo Indicator"); { MenuLocal.Add("DrawManaBar.Q", new CheckBox("Q")); MenuLocal.Add("DrawManaBar.W", new CheckBox("W")); MenuLocal.Add("DrawManaBar.E", new CheckBox("E")); MenuLocal.Add("DrawManaBar.R", new CheckBox("R")); } MenuLocal.AddGroupLabel("Spell Ranges"); { MenuLocal.Add("Draw.Q", new ComboBox("Q:", 3, "Off", "On: Small", "On: Large", "On: Both")); MenuLocal.Add("Draw.E", new CheckBox("E:", false)); } /* * * MenuLocal.AddGroupLabel("Buff Times"); * { * MenuLocal.Add("DrawBuffs", new ComboBox("Show Red/Blue Time Circle", 3, "Off", "Blue Buff", "Red Buff", "Both")); * } * * MenuLocal.AddGroupLabel("Spell Times"); * { * MenuLocal.Add("Draw.W.BuffTime", new ComboBox("E: Show Time Circle", 1, "Off", "On")); * MenuLocal.Add("Draw.R.BuffTime", new ComboBox("R: Show Time Circle", 1, "Off", "On")); * } * * MenuLocal.AddGroupLabel("Axe Times"); * { * MenuLocal.Add("Draw.AxePosition", new ComboBox("OlafAxe Position", 3, "Off", "Circle", "Line", "Both")); * MenuLocal.Add("Draw.AxeTime", new CheckBox("OlafAxe Time Remaining")); * } * */ CommonManaBar.Init(MenuLocal); } Game.OnUpdate += GameOnOnUpdate; Drawing.OnDraw += Drawing_OnDraw; Drawing.OnEndScene += DrawingOnOnEndScene; }