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);
        }