private void OnFightStopReply(byte[] bytes) { FightStopReply input = FightStopReply.Parser.ParseFrom(bytes); if (input.ActorId != ActorId) { return; // 不是自己,略过 } if (!input.Ret) { GameRoomManager.Instance.Log($"ActorVisualizer OnFightStopReply Error - {input.ErrMsg}"); return; } if (input.FightAgain) { // 显示自己的血条 ShowSliderBlood(); // 显示对方的血条 var avTarget = GameRoomManager.Instance.GetActorVisualizer(input.TargetId); if (!avTarget) { return; } avTarget.ShowSliderBlood(); } // 如果弹药没了, 提示"弹药已经用完", 提示玩家下次无法攻击了 if (AmmoBase <= 0) { string msg = "弹药已经用完!"; PanelSprayMessage spray = GameRoomManager.Instance.FightManager.SprayMessage.Spawn(_inner, Vector3.zero); if (spray == null) { return; } spray.Play(this, msg, PanelSystemTips.MessageType.Error); } GameRoomManager.Instance.Log("ActorVisualizer OnFightStopReply OK ..."); }
private void OnTryCommandReply(byte[] bytes) { TryCommandReply input = TryCommandReply.Parser.ParseFrom(bytes); if (input.ActorId != ActorId) { return; // 不是自己,略过 } if (!input.Ret) { // 每次都创建新的 PanelSprayMessage spray = GameRoomManager.Instance.FightManager.SprayMessage.Spawn(_inner, Vector3.zero); if (spray == null) { return; } spray.Play(this, input.ErrMsg, PanelSystemTips.MessageType.Error); } // 该指令可以执行,虽然是马后炮 }
private void OnFightStartReply(byte[] bytes) { FightStartReply input = FightStartReply.Parser.ParseFrom(bytes); if (input.ActorId != ActorId) { return; // 不是自己,略过 } if (!input.Ret) { PanelSprayMessage spray = GameRoomManager.Instance.FightManager.SprayMessage.Spawn(_inner, Vector3.zero); if (spray == null) { return; } spray.Play(this, input.ErrMsg, PanelSystemTips.MessageType.Error); GameRoomManager.Instance.Log($"ActorVisualizer OnFightStartReply Error - {input.ErrMsg}"); return; } // 显示自己的血条 ShowSliderBlood(); GameRoomManager.Instance.Log("ActorVisualizer OnFightStartReply OK ..."); // 显示对方的血条 var avTarget = GameRoomManager.Instance.GetActorVisualizer(input.TargetId); if (!avTarget) { return; } if (avTarget.IsDead) { return; } avTarget.ShowSliderBlood(); }