/// <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); }
/// <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(); }