private void OnAmmoSupply(SocketAsyncEventArgs args, byte[] bytes) { AmmoSupply input = AmmoSupply.Parser.ParseFrom(bytes); if (input.ActorId != ActorId) { return; // 不是自己,略过 } AmmoBase = input.AmmoBase; if (AmmoBase > AmmoBaseMax) { ServerRoomManager.Instance.Log($"ActorBehaviour OnAmmoSupply Error - Ammobase is invalid! AmmoBase:{AmmoBase}/{AmmoBaseMax}"); // 弹药基数出现异常 AmmoBase = AmmoBaseMax; } AmmoSupplyReply output = new AmmoSupplyReply() { RoomId = input.RoomId, OwnerId = input.OwnerId, ActorId = input.ActorId, AmmoBase = input.AmmoBase, Ret = true, }; _roomLogic.BroadcastMsg(ROOM_REPLY.AmmoSupplyReply, output.ToByteArray()); }
private void OnAmmoSupplyReply(byte[] bytes) { AmmoSupplyReply input = AmmoSupplyReply.Parser.ParseFrom(bytes); if (input.ActorId != ActorId) { return; // 不是自己,略过 } AmmoBase = input.AmmoBase; }
private void OnAmmoSupplyReply(byte[] bytes) { AmmoSupplyReply input = AmmoSupplyReply.Parser.ParseFrom(bytes); if (input.ActorId != ActorId) { return; // 不是自己,略过 } AmmoBase = input.AmmoBase; string msg = $"恢复弹药:{AmmoBase}/{AmmoBaseMax}"; // 每次都创建新的 var spray = GameRoomManager.Instance.FightManager.SprayMessage.Spawn(_inner, Vector3.zero); if (spray == null) { return; } spray.Play(this, msg, PanelSystemTips.MessageType.Success); }