06-08-2016, 03:07 AM
Возник такой вопрос ,как сделать чтобы player не был равен null.
Со state я разобрался , а вот с player нет.
Со state я разобрался , а вот с player нет.
PROTOCOL_BATTLE_READYBATTLE_REQ
[SRC=CSharp]
class PROTOCOL_BATTLE_READYBATTLE_REQ : ClientPacket
{
Player player;
public override void ReadImpl()
{
}
public override void RunImpl()
{
Client.SendPacket(new PROTOCOL_BATTLE_START_GAME_ACK());
Client.SendPacket(new PROTOCOL_ROOM_GET_SLOTINFO_ACK(SlotState.Ready, player));
}
}
}
[/SRC]
class PROTOCOL_BATTLE_READYBATTLE_REQ : ClientPacket
{
Player player;
public override void ReadImpl()
{
}
public override void RunImpl()
{
Client.SendPacket(new PROTOCOL_BATTLE_START_GAME_ACK());
Client.SendPacket(new PROTOCOL_ROOM_GET_SLOTINFO_ACK(SlotState.Ready, player));
}
}
}
[/SRC]
PROTOCOL_ROOM_GET_SLOTINFO_ACK
[SRC=CSharp]
class PROTOCOL_ROOM_GET_SLOTINFO_ACK : ServerPacket
{
SlotState _state;
Player _player;
public PROTOCOL_ROOM_GET_SLOTINFO_ACK(SlotState state, Player player)
{
_player = player;
_state = state;
}
public override void WriteImpl()
{
WriteH(0); //UNK
WriteC(8); //количество слотов
for (int i = 0; i < 9; i++)
{
WriteC((byte)_state); // Статус //для показа ников и старта боя нужно слать 15, но тогда не начинается бой
WriteC(_player.Rank); // Ранг
WriteD(0); // Клан Ид
WriteD(0); // Клан Роль
WriteC(0); // Клан Ранг
WriteC(255); // Клан лого 1
WriteC(255); // Клан лого 2
WriteC(255); // Клан лого 3
WriteC(255); // Клан лого 4
WriteC(0); // Премиум
WriteD(0); // Купоны
WriteB(new byte[5]); // Инк
WriteB(new byte[34]); // Имя клана
WriteC(0); // Инк
WriteC(225); // Инк
}
WriteC(0); //Главный слот игрока
}
}
}
[/SRC]
class PROTOCOL_ROOM_GET_SLOTINFO_ACK : ServerPacket
{
SlotState _state;
Player _player;
public PROTOCOL_ROOM_GET_SLOTINFO_ACK(SlotState state, Player player)
{
_player = player;
_state = state;
}
public override void WriteImpl()
{
WriteH(0); //UNK
WriteC(8); //количество слотов
for (int i = 0; i < 9; i++)
{
WriteC((byte)_state); // Статус //для показа ников и старта боя нужно слать 15, но тогда не начинается бой
WriteC(_player.Rank); // Ранг
WriteD(0); // Клан Ид
WriteD(0); // Клан Роль
WriteC(0); // Клан Ранг
WriteC(255); // Клан лого 1
WriteC(255); // Клан лого 2
WriteC(255); // Клан лого 3
WriteC(255); // Клан лого 4
WriteC(0); // Премиум
WriteD(0); // Купоны
WriteB(new byte[5]); // Инк
WriteB(new byte[34]); // Имя клана
WriteC(0); // Инк
WriteC(225); // Инк
}
WriteC(0); //Главный слот игрока
}
}
}
[/SRC]