示例#1
0
    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;
    }
示例#2
0
 // 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!");
     }
 }
示例#3
0
 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();
 }
示例#4
0
 /// <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);
     }
 }
示例#5
0
        // 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);
            }
        }
示例#6
0
    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);
    }
示例#7
0
    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();
        }
    }
示例#8
0
    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);
            }
        }
    }
示例#9
0
 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);
 }
示例#10
0
 /// <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);
 }