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;
        }
Exemplo n.º 3
0
    //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>();
 }
Exemplo n.º 5
0
    // 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");
    }
Exemplo n.º 7
0
 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>();
 }
Exemplo n.º 8
0
 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());
            }
        }
Exemplo n.º 10
0
    void Start()
    {
        playerStateMachine = new PlayerStateMachine();
        playerAttributes   = gameObject.GetComponent <PlayerAttributes>();
        playerObjects      = gameObject.GetComponent <PlayerObjects>();

        playerStateMachine.ChangeState(
            playerStateMachine.states.start,
            playerStateMachine,
            playerAttributes,
            playerObjects,
            gameObject
            );
    }
Exemplo n.º 11
0
    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;
        }
Exemplo n.º 14
0
 void Start()
 {
     rb            = GetComponent <Rigidbody2D>();
     playerObjects = GetComponent <PlayerObjects>();
     anim          = GetComponent <Animator>();
 }
 private void Start()
 {
     playerObjects = GetComponent <PlayerObjects>();
 }
Exemplo n.º 16
0
    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);
    }
Exemplo n.º 17
0
        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;
        }