Exemple #1
0
        /// <summary>
        /// Instantiates all Mobs for the Spawner
        /// </summary>
        public void InstantiateMobs()
        {
            Team mobTeam = new Team(GameManager.MOBTEAMNO);

            for (int i = 0; i < _mobPool.Count; i++)
            {
                // Create a new mob.
                Mob m = ((GameObject)Instantiate(_mobPool[i].gameObject, new Vector3(transform.position.x, transform.position.y + 110, transform.position.z), Quaternion.identity)).GetComponent <Mob>();

                // Add the mob to the pool.
                _mobPool[i] = m;
                Debug.Log("[Section.cs]: Mob x-value: " + m.transform.position.x);

                // Add the inactive mob to the mob team.
                m.gameObject.SetActive(false);
                m.Type = Character.Types.AI;
                mobTeam.AddMember(m);
            }

            GameManager.GetInstance().AddTeam(mobTeam);
        }
Exemple #2
0
        /// <summary>
        /// Instantiates Heroes over Network
        /// </summary>
        private void NetworkHeroSpawning()
        {
            // Get hero components
            int  teamNo = _net.TeamNumber;
            Team myTeam = GameManager.GetInstance().GetTeam(teamNo);

            UnityEngine.Object prefab = Resources.Load("Heroes/" + _net.Character);

            // initialise
            Hero hero = ((GameObject)Network.Instantiate(prefab, Vector3.zero, Quaternion.identity, 0)).GetComponent <Hero>();

            // set/prepare defaults
            string oldName = hero.name;

            hero.PlayerNo = 1;
            hero.Type     = Character.Types.HUMAN;
            string objectName;

            if (_net.IsServer)
            {
                objectName = "HeroServer";
            }
            else
            {
                objectName = "HeroClient" + _net.ClientNumber;
            }

            string displayName = (!_net.Username.Equals(string.Empty)) ? _net.Username : hero.DisplayName;

            hero.DisplayName = displayName;
            hero.name        = objectName;

            // set team
            myTeam.AddMember(hero);
            hero.Team = myTeam;

            // synchronize
            networkView.RPC("AddHero", RPCMode.Others, oldName, hero.name, teamNo, displayName);
            hero.SpecialRespawn();
        }