예제 #1
0
    protected void PrepareSend(NetDataWriter writer)
    {
        ReaderGameHelper.AddWorldUpdate(writer, TypeWorldUpdate.Player);
        ReaderGameHelper.AddClientState(writer, State);
        writer.Put(ID);
        writer.Put(PlayerName);
        writer.Put((byte)TypeUnit);
        int index = m_DataSend.Last + 1;

        writer.Put(index);
        m_DataSend.Add(index);
    }
    bool GetHitsData()
    {
        if (!NetworkHitsController.Can)
        {
            return(false);
        }
        m_Writer.Reset();
        ReaderGameHelper.AddCommand(m_Writer, ServerCommands.UpdateWorld);
        ReaderGameHelper.AddWorldUpdate(m_Writer, TypeWorldUpdate.Hits);
        bool res = NetworkHitsController.I.GetData(m_Writer);

        return(res);
    }
    void SendSyncPlayers()
    {
        //Log("SendSyncPlayers");
        m_Writer.Reset();
        ReaderGameHelper.AddCommand(m_Writer, ServerCommands.UpdateWorld);
        ReaderGameHelper.AddWorldUpdate(m_Writer, TypeWorldUpdate.SyncPlayersInfo);
        int count = m_Players.Count;

        m_Writer.Put(count);
        for (int i = 0; i < count; i++)
        {
            //Log("Sync " + m_Players[i]);
            m_Writer.Put(m_Players[i].ID);
        }
        SendToAllWithState(m_Writer, DeliveryMethod.Unreliable, MiscHelper.MASK_REGISTRY_OR_CONNECTED);
    }