本文整理汇总了C#中BaseGame.SendPlayerMove方法的典型用法代码示例。如果您正苦于以下问题:C# BaseGame.SendPlayerMove方法的具体用法?C# BaseGame.SendPlayerMove怎么用?C# BaseGame.SendPlayerMove使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BaseGame
的用法示例。
在下文中一共展示了BaseGame.SendPlayerMove方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: HandleCommand
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
{
if (player.IsAttacking)
{
//GSPacketIn pkg = packet.Clone();
//pkg.ClientID = player.PlayerDetail.PlayerCharacter.ID;
//pkg.Parameter1 = player.Id;
//game.SendToAll(pkg, player.PlayerDetail);
byte type = packet.ReadByte();
int tx = packet.ReadInt();
int ty = packet.ReadInt();
byte dir = packet.ReadByte();
bool isLiving = packet.ReadBoolean();
//_loc_7.writeShort(param6); _player.map.currentTurn
short map_currentTurn = packet.ReadShort();
game.SendPlayerMove(player, type, tx, ty, dir, isLiving);
switch (type)
{
case 0:
case 1:
player.SetXY(tx, ty);
player.StartMoving();
if (player.Y - ty > 1 || player.IsLiving != isLiving)
{
//trminhpc type=3
game.SendPlayerMove(player, 3, player.X, player.Y, 0);//, player.IsLiving, null);
}
//else
//{
// game.SendPlayerMove(player, type, tx, ty, dir, isLiving, null);
//}
break;
}
}
}
示例2: ExecuteImp
protected override void ExecuteImp(BaseGame game, long tick)
{
if (!m_isSend)
{
m_isSend = true;
game.SendPlayerMove(m_player, 2, m_target.X, m_target.Y, (byte)(m_v.X > 0 ? 1 : -1), false);//, null);
}
if (m_target.Distance(m_player.X, m_player.Y) > 2)
{
m_player.SetXY(m_player.X + m_v.X, m_player.Y + m_v.Y);
}
else
{
m_player.SetXY(m_target.X, m_target.Y);
Finish(tick);
}
}
示例3: HandleCommand
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
{
if (player.IsAttacking)
{
GSPacketIn pkg = packet.Clone();
pkg.ClientID = player.PlayerDetail.PlayerCharacter.ID;
pkg.Parameter1 = player.Id;
game.SendToAll(pkg, player.PlayerDetail);
byte type = packet.ReadByte();
int tx = packet.ReadInt();
int ty = packet.ReadInt();
byte dir = packet.ReadByte();
bool isLiving = packet.ReadBoolean();
//Console.WriteLine("isLiving : {0}, tx : {1}, ty : {2}, type : {3}, playerId : {4}", isLiving, tx, ty, type, player.Id);
switch (type)
{
case 0:
case 1:
//p.X = tx;
//p.Y = ty;
// if (player.PlayerDetail.PlayerCharacter.NickName == "jacken123")
// Console.WriteLine(player.PlayerDetail.PlayerCharacter.NickName + "X坐标" + player.X.ToString() + "Y坐标" + player.Y.ToString());
player.SetXY(tx, ty);
player.StartMoving();
// if (player.PlayerDetail.PlayerCharacter.NickName == "jacken123")
// Console.WriteLine(string.Format("修正掉落: 动作类型 {0} 原始Y:{1} 最新Y:{2}", type, ty, player.Y));
if (player.Y - ty > 1 || player.IsLiving != isLiving)
{
//Console.WriteLine("player.IsLiving : {0}, playerId : {1}", player.IsLiving, player.Id);
//把服务器修正的掉落指令和客户掉落指令加以区分。
Console.WriteLine("玩家移动掉落:"+player.IsLiving.ToString());
game.SendPlayerMove(player, 3, player.X, player.Y, 0, player.IsLiving, null);
}
break;
case 2:
break;
}
}
}