void MeSpawn(Data_PlayerFile player) { GameObject camera = GameObject.FindGameObjectWithTag("MainCamera"); GameObject Me = (GameObject)Instantiate(Player, player.position, player.rotate); Me.name = player.nick; SphereCollider sphere = Me.AddComponent <SphereCollider>(); sphere.isTrigger = true; sphere.radius = 1.5f; Data_MyData.roomID = player.sceneID; Player_AnimateControl controll = Me.GetComponent <Player_AnimateControl>(); controll.index = player.charID; controll.canvas.SetNick(player.nick); controll.canvas.SetTitle(player.title); controll.canvas.SetRang(player.rang); camera.GetComponent <Camera>().enabled = true; camera.GetComponent <AudioListener>().enabled = true; Player_PlayerLocate locate = camera.GetComponent <Player_PlayerLocate>(); locate.enabled = true; locate.GameStart(Me.transform); Data_ListPlayerOnScene.WriteGameObject(Me, player.charID); Data_MyData.charID = player.charID; Data_MyData.Me = player; }
// This method would be generated public override void Deserialize(NetworkReader reader) { try { number = reader.ReadInt32(); for (int a = 0; a < number; a++) { yes = reader.ReadBoolean(); if (yes) { Data_PlayerFile player = ScriptableObject.CreateInstance <Data_PlayerFile>(); player.sceneID = reader.ReadInt32(); player.charID = reader.ReadInt32(); player.rang = reader.ReadInt32(); player.nick = reader.ReadString(); player.title = reader.ReadString(); player.position = reader.ReadVector3(); player.rotate = reader.ReadQuaternion(); player.death = reader.ReadBoolean(); Data_ListPlayerOnScene.AddPlayer(player); Debug.Log("Add player index " + player.charID); } else { Data_ListPlayerOnScene.AddPlayer(null); Debug.Log("Add null player"); } } } catch { Debug.Log("Load list fail!"); } }
public override void Deserialize(NetworkReader reader) { player = ScriptableObject.CreateInstance <Data_PlayerFile>(); player.charID = reader.ReadInt32(); player.rang = reader.ReadInt32(); player.nick = reader.ReadString(); player.title = reader.ReadString(); player.sceneID = reader.ReadInt32(); player.position = reader.ReadVector3(); }
/// <summary> /// Before writing player check null player in list /// </summary> /// <param name="player"></param> public static void WritePlayer(Data_PlayerFile player) { if (NULLPlayer.Count > 0) { playerList [NULLPlayer [0]] = player; NULLPlayer.RemoveAt(0); } else { playerList.Add(player); PlayersOnScene.Add(null); playerControll.Add(null); } }
// This method would be generated public override void Deserialize(NetworkReader reader) { Scene2_PlayerSelect.temp.Clear(); index = reader.ReadInt32(); int chars = reader.ReadInt32(); for (int p = 0; p < chars; p++) { Data_PlayerFile player = ScriptableObject.CreateInstance <Data_PlayerFile>(); player.nick = reader.ReadString(); player.charID = reader.ReadInt32(); player.sceneID = reader.ReadInt32(); player.HPMax = reader.ReadInt32(); Scene2_PlayerSelect.temp.Add(player); } }
public static Data_PlayerFile GetPlayerData(int index) { Data_PlayerFile d = null; foreach (Data_PlayerFile data in playerList) { if (data) { if (data.charID == index) { d = data; break; } } } return(d); }
void Spawn(Data_PlayerFile player) { GameObject Enemy = (GameObject)Instantiate(Player, player.position, player.rotate); Data_ListPlayerOnScene.WriteGameObject(Enemy, player.charID); Enemy.name = player.nick; Player_AnimateControl en = Enemy.GetComponent <Player_AnimateControl>(); en.index = player.charID; en.canvas.SetNick(player.nick); en.canvas.SetTitle(player.title); en.canvas.SetRang(player.rang); en.enabled = true; if (player.death) { en.Death(); } }
void ZombieSpawn(Data_PlayerFile zombie) { GameObject model = null; switch (zombie.nick) { case "zombie": model = (GameObject)Resources.Load("Zombie/Zombie"); break; case "policezombie": model = (GameObject)Resources.Load("Zombie/PoliceZombie"); break; case "sickzombie": model = (GameObject)Resources.Load("Zombie/SickZombie"); break; case "mutantzombie": model = (GameObject)Resources.Load("Zombie/MutantZombie"); break; case "strongzombie": model = (GameObject)Resources.Load("Zombie/StrongZombie"); break; } if (model != null) { GameObject Zombie = (GameObject)Instantiate(model, zombie.position, zombie.rotate); Data_ListPlayerOnScene.WriteGameObject(Zombie, zombie.charID); Zombie.name = zombie.nick; Player_AnimateControl zm = Zombie.GetComponent <Player_AnimateControl>(); zm.index = zombie.charID; zm.zombie = true; if (zombie.death) { Zombie.SetActive(false); } } }
void SpawnScene() { for (int i = 0; i < Data_ListPlayerOnScene.PlayerListCount; i++) { Data_PlayerFile player = Data_ListPlayerOnScene.playerList[i]; if (player) { string name = player.nick; if (name == "zombie" || name == "policezombie" || name == "sickzombie" || name == "mutantzombie" || name == "strongzombie") { ZombieSpawn(player); } else if (player.nick != Data_MyData.PlayerSelect) { Spawn(player); } else { MeSpawn(player); } } } for (int s = 0; s < Data_ListPlayerOnScene.ItemListCount; s++) { Data_ItemFile data = Data_ListPlayerOnScene.GetItemData(s); if (data) { switch (data.ItemType) { case ItemType.weapon: SpawnWeapon(data); break; } } } Message.OnPlayerReady ready = new Message.OnPlayerReady(); Networking_client.net.Send(Networking_msgType.MeReady, ready); }
/// <summary> /// Add new player and ignored null item list /// </summary> /// <param name="player"></param> public static void AddPlayer(Data_PlayerFile player) { playerList.Add(player); PlayersOnScene.Add(null); playerControll.Add(null); }