本文整理汇总了C#中BaseGame.SendToAll方法的典型用法代码示例。如果您正苦于以下问题:C# BaseGame.SendToAll方法的具体用法?C# BaseGame.SendToAll怎么用?C# BaseGame.SendToAll使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BaseGame
的用法示例。
在下文中一共展示了BaseGame.SendToAll方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: HandleCommand
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
{
if(game is PVEGame)
{
PVEGame pve = game as PVEGame;
int tryAgain = packet.ReadInt();
bool isHost = packet.ReadBoolean();
if (isHost == true)
{
if (tryAgain == 1)
{
if (player.PlayerDetail.RemoveMoney(100) > 0)
{
//退回关卡结算
pve.WantTryAgain = 1;
game.SendToAll(packet);
player.PlayerDetail.LogAddMoney(AddMoneyType.Game, AddMoneyType.Game_TryAgain, player.PlayerDetail.PlayerCharacter.ID, 100, player.PlayerDetail.PlayerCharacter.Money);
}
else
{
player.PlayerDetail.SendInsufficientMoney((int)eBattleRemoveMoneyType.TryAgain);
}
}
else
{
//退回房间
pve.WantTryAgain = 0;
game.SendToAll(packet);
}
pve.CheckState(0);
}
}
}
示例2: HandleCommand
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
{
if (player.IsLiving && game.GameState == eGameState.Playing)
{
game.SendToAll(packet);
player.Die();
game.CheckState(0);
}
}
示例3: HandleCommand
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
{
if (game.GameState == eGameState.Loading)
{
player.LoadingProcess = packet.ReadInt();
if (player.LoadingProcess >= 100)
{
game.CheckState(0);
}
game.SendToAll(packet);
}
}
示例4: HandleCommand
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
{
if (player.IsAttacking)
{
game.SendToAll(packet);
bool tag = packet.ReadBoolean();
byte speedTime = packet.ReadByte();
player.PrepareShoot(speedTime);
}
}
示例5: HandleCommand
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
{
if (player.IsLiving || player.IsAttacking)
{
GSPacketIn pkg = packet.Clone();
pkg.ClientID = 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();
switch (type)
{
case 0:
case 1:
//p.X = tx;
//p.Y = ty;
player.SetXY(tx, ty);
player.StartMoving();
if (player.Y - ty > 1 || player.IsLiving != isLiving)
{
//GameServer.log.Error(string.Format("修正掉落: 动作类型 {0} 原始Y:{1} 最新Y:{2}", type, ty, p.Y));
//把服务器修正的掉落指令和客户掉落指令加以区分。
pkg = player.PlayerDetail.Out.SendPlayerMove(player,3, player.X, player.Y, 0, player.IsLiving);
game.SendToAll(pkg, player.PlayerDetail);
}
break;
case 2:
if (player.IsLiving == false)
{
player.TargetPoint = new Point(tx, ty);
}
break;
}
}
}
示例6: HandleCommand
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
{
if (player.IsAttacking)
{
packet.Parameter1 = player.Id;
game.SendToAll(packet);
//同客户端同步LifeTime
game.SendSyncLifeTime();
bool tag = packet.ReadBoolean();
//开炮所需时间
byte speedTime = packet.ReadByte();
player.PrepareShoot(speedTime);
}
}
示例7: HandleCommand
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
{
if (game.GameState == eGameState.SessionPrepared || game.GameState == eGameState.GameOver)
{
//if (player.Weapon == null)
//{
// player.PlayerDetail.SendMessage(LanguageMgr.GetTranslation("Game.Server.SceneGames.NoEquip"));
// return;
//}
bool isReady = packet.ReadBoolean();
if (player.Ready != isReady)
{
player.Ready = isReady;
game.SendToAll(packet);
}
}
}
示例8: HandleCommand
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
{
if (game.GameState == eGameState.Loading)
{
player.LoadingProcess = packet.ReadInt();
if (player.LoadingProcess >= 100)
{
game.CheckState(0);
}
var pkg = new GSPacketIn((short)ePackageType.GAME_CMD);
pkg.WriteByte((byte)eTankCmdType.LOAD);
//var pkg = packet.Clone();
// pkg.ClearContext();
pkg.WriteInt(player.LoadingProcess);
pkg.WriteInt(4);
pkg.WriteInt(player.PlayerDetail.PlayerCharacter.ID);
game.SendToAll(pkg);
}
}
示例9: 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;
}
}
}
示例10: HandleCommand
public void HandleCommand(BaseGame game,Player player, Game.Base.Packets.GSPacketIn packet)
{
player.WannaLeader = packet.ReadBoolean();
game.SendToAll(packet);
}
示例11: HandleCommand
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
{
game.SendToAll(packet);
}
示例12: ExecuteImp
protected override void ExecuteImp(BaseGame game, long tick)
{
GSPacketIn pkg = new GSPacketIn((byte)ePackageType.GAME_CMD, m_living.Id);
pkg.Parameter1 = m_living.Id;
pkg.WriteByte((byte)eTankCmdType.LIVING_RANGEATTACKING);
List<Living> playersAround = game.Map.FindPlayers(m_fx, m_tx, m_players);
int count = playersAround.Count;
foreach (Living p in playersAround)
{
if (m_living.IsFriendly(p) == true)
count--;
}
pkg.WriteInt(count);
m_living.SyncAtTime = false;
try
{
foreach (Living p in playersAround)
{
p.SyncAtTime = false;
if (m_living.IsFriendly(p) == true)
continue;
int dander = 0;
p.IsFrost = false;
game.SendGameUpdateFrozenState(p);
int damage = MakeDamage(p);
int critical = MakeCriticalDamage(p, damage);
int totalDemageAmount = 0;
if (p.TakeDamage(m_living, ref damage, ref critical, "范围攻击"))
{
totalDemageAmount = damage + critical;
if (p is Player)
{
Player player = p as Player;
dander = player.Dander;
}
}
pkg.WriteInt(p.Id);
pkg.WriteInt(totalDemageAmount);
pkg.WriteInt(p.Blood);
//同步怒气值
pkg.WriteInt(dander);
//attackEffect
pkg.WriteInt(new Random().Next(2));
}
game.SendToAll(pkg);
Finish(tick);
}
finally
{
m_living.SyncAtTime = true;
foreach (Living p in playersAround)
{
p.SyncAtTime = true;
}
}
}