205 lines
8.4 KiB
C#
205 lines
8.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
using ServerCore; using ServerBase;
|
|
using ServerCommon;
|
|
|
|
|
|
using static ClientToGameMessage.Types;
|
|
using static ServerMessage.Types;
|
|
|
|
|
|
using META_ID = System.UInt32;
|
|
using USER_GUID = System.String;
|
|
using USER_NICKNAME = System.String;
|
|
|
|
|
|
namespace GameServer
|
|
{
|
|
public static class LandAuctionNotifyHelper
|
|
{
|
|
public static bool send_GS2C_NTF_LAND_AUCTION_ALL_LOAD(Player player, List<LandAuctionSummary>? landAuctionSummaries)
|
|
{
|
|
if(null == landAuctionSummaries)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
var ntf_packet = new ClientToGame();
|
|
ntf_packet.Message = new();
|
|
|
|
var ntf_msg = new GS2C_NTF_LAND_AUCTION_ALL_LOAD();
|
|
ntf_packet.Message.NtfLandAuctionAllLoad = ntf_msg;
|
|
|
|
ntf_msg.LandAuctionsSummaries.AddRange(landAuctionSummaries.ToList());
|
|
|
|
if (false == GameServerApp.getServerLogic().onSendPacket(player, ntf_packet))
|
|
{
|
|
Log.getLogger().warn($"Failed to onSendPacket() !!! : {ntf_packet.toBasicString()} - {player.toBasicString()}");
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
public static bool broadcast_GS2C_NTF_LAND_AUCTION_SUMMARY(LandAuctionSummary landAuctionSummary)
|
|
{
|
|
var log_msg = $"call send_GS2C_NTF_LAND_AUCTION_SUMMARY() : {landAuctionSummary.LandAuctionInfo.toBasicString()}";
|
|
Log.getLogger().debug(log_msg);
|
|
|
|
var server_logic = GameServerApp.getServerLogic();
|
|
var users = server_logic.getPlayerManager().getUsers();
|
|
if (0 >= users.Count)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
var ntf_packet = new ClientToGame();
|
|
ntf_packet.Message = new();
|
|
|
|
var ntf_msg = new GS2C_NTF_LAND_AUCTION_SUMMARY();
|
|
ntf_packet.Message.NtfLandAuctionSummary = ntf_msg;
|
|
|
|
ntf_msg.LandAuctionSummary = landAuctionSummary;
|
|
|
|
var players = users.Values.ToArray();
|
|
if (false == GameServerApp.getServerLogic().onSendPacket(players, ntf_packet))
|
|
{
|
|
Log.getLogger().warn($"Failed to onSendPacket() !!! : {ntf_packet.toBasicString()}");
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
public static bool broadcast_GS2GS_NTF_LAND_AUCTION_HIGHEST_BIDDER_CHANGE( USER_GUID receiverUserGuid, BoolType hasReceivedRefundMail
|
|
, META_ID landMetaId
|
|
, CurrencyType currencyType, double highestBidPrice
|
|
, USER_GUID highestBidUserGuid, USER_NICKNAME highestBidUserNickname )
|
|
{
|
|
var server_logic = GameServerApp.getServerLogic();
|
|
|
|
var message = new ServerMessage();
|
|
var ntf_msg = new GS2GS_NTF_LAND_AUCTION_HIGHEST_BIDDER_CHANGE();
|
|
message.NtfLandAuctionHighestBidderChange = ntf_msg;
|
|
|
|
ntf_msg.ReceiverUserGuid = receiverUserGuid;
|
|
ntf_msg.HasReceivedRefundMail = hasReceivedRefundMail;
|
|
ntf_msg.LandMetaId = (Int32)landMetaId;
|
|
|
|
ntf_msg.CurrencyType = currencyType;
|
|
ntf_msg.HighestBidPrice = highestBidPrice;
|
|
ntf_msg.HighestBidUserGuid = highestBidUserGuid;
|
|
ntf_msg.HighestBidUserNickname = highestBidUserNickname;
|
|
|
|
var rabbit_mq = server_logic.getRabbitMqConnector() as RabbitMQ4Game;
|
|
NullReferenceCheckHelper.throwIfNull(rabbit_mq, () => $"rabbit_mq is null !!!");
|
|
|
|
rabbit_mq.sendMessageToExchangeAllGame(message);
|
|
|
|
return true;
|
|
}
|
|
|
|
public static bool send_GS2C_NTF_LAND_AUCTION_HIGHEST_BIDDER_CHANGE( Player player
|
|
, META_ID landMetaId
|
|
, CurrencyType bidCurrencyType, double highestBidPrice
|
|
, USER_GUID highestUserGuid, USER_NICKNAME highestUserNickname )
|
|
{
|
|
var log_msg = $"call send_GS2C_NTF_LAND_AUCTION_HIGHEST_BIDDER_CHANGE !!! : landMetaId:{landMetaId}, highestBidPrice:{highestBidPrice}, highestUserNickname:{highestUserNickname}";
|
|
Log.getLogger().debug(log_msg);
|
|
|
|
var ntf_packet = new ClientToGame();
|
|
ntf_packet.Message = new();
|
|
|
|
var ntf_msg = new GS2C_NTF_LAND_AUCTION_HIGHEST_BIDDER_CHANGE();
|
|
ntf_packet.Message.NtfLandAuctionHighestBidderChange = ntf_msg;
|
|
|
|
ntf_msg.LandMetaId = (Int32)landMetaId;
|
|
ntf_msg.CurrencyType = bidCurrencyType;
|
|
ntf_msg.HighestBidPrice = highestBidPrice;
|
|
ntf_msg.HighestBidUserGuid = highestUserGuid;
|
|
ntf_msg.HighestBidUserNickname = highestUserNickname;
|
|
|
|
if (false == GameServerApp.getServerLogic().onSendPacket(player, ntf_packet))
|
|
{
|
|
Log.getLogger().warn($"Failed to onSendPacket() !!! : {ntf_packet.toBasicString()} - {player.toBasicString()}");
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
public static bool broadcast_GS2C_NTF_LAND_AUCTION_WINNING_BID(USER_NICKNAME winningUserNickname, META_ID landMetaId)
|
|
{
|
|
var log_msg = $"call broadcast_GS2C_NTF_LAND_AUCTION_WINNING_BID !!! : winningUserNickname:{winningUserNickname}, landMetaId:{landMetaId}";
|
|
Log.getLogger().debug(log_msg);
|
|
|
|
var server_logic = GameServerApp.getServerLogic();
|
|
var users = server_logic.getPlayerManager().getUsers();
|
|
var players = users.Values.ToArray();
|
|
|
|
if (players.Length == 0)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
var ntf_packet = new ClientToGame();
|
|
ntf_packet.Message = new ClientToGameMessage();
|
|
|
|
var ntf_msg = new GS2C_NTF_LAND_AUCTION_WINNING_BID();
|
|
ntf_packet.Message.NtfLandAuctionWinningBid = ntf_msg;
|
|
ntf_msg.WinningUserNickname = winningUserNickname;
|
|
ntf_msg.LandMetaId = (int)landMetaId;
|
|
|
|
if (false == GameServerApp.getServerLogic().onSendPacket(players, ntf_packet))
|
|
{
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
public static void broadcast_GS2GS_NTF_LAND_AUCTION_WINNING_BID( USER_GUID winningUserGuid, USER_NICKNAME winningUserNickname
|
|
, META_ID landMetaId, List<META_ID> buildingMetaIds
|
|
, BoolType isNewRecvMail = BoolType.True)
|
|
{
|
|
var server_logic = GameServerApp.getServerLogic();
|
|
|
|
var message = new ServerMessage();
|
|
var ntf_msg = new GS2GS_NTF_LAND_AUCTION_WINNING_BID();
|
|
message.NtfLandAuctionWinningBid = ntf_msg;
|
|
|
|
ntf_msg.WinningUserGuid = winningUserGuid;
|
|
ntf_msg.WinningUserNickname = winningUserNickname;
|
|
ntf_msg.LandMetaId = (int)landMetaId;
|
|
ntf_msg.BuildingMetaIds.AddRange( Array.ConvertAll<META_ID, int>(buildingMetaIds.ToArray(), Convert.ToInt32).ToList());
|
|
ntf_msg.IsNewRecvMail = isNewRecvMail;
|
|
|
|
var rabbit_mq = server_logic.getRabbitMqConnector() as RabbitMQ4Game;
|
|
NullReferenceCheckHelper.throwIfNull(rabbit_mq, () => $"rabbit_mq is null !!!");
|
|
|
|
rabbit_mq.sendMessageToExchangeAllGame(message);
|
|
}
|
|
|
|
public static void broadcast_GS2GS_NTF_LAND_AUCTION_RESERVATION(List<META_ID> toAddActivitings)
|
|
{
|
|
var server_logic = GameServerApp.getServerLogic();
|
|
|
|
var message = new ServerMessage();
|
|
var ntf_msg = new GS2GS_NTF_LAND_AUCTION_RESERVATION();
|
|
message.NtfLandAuctionReservation = ntf_msg;
|
|
|
|
ntf_msg.ToAddActivitings.AddRange(Array.ConvertAll<META_ID, int>(toAddActivitings.ToArray(), Convert.ToInt32).ToList());
|
|
|
|
var rabbit_mq = server_logic.getRabbitMqConnector() as RabbitMQ4Game;
|
|
NullReferenceCheckHelper.throwIfNull(rabbit_mq, () => $"rabbit_mq is null !!!");
|
|
|
|
rabbit_mq.sendMessageToExchangeAllGame(message);
|
|
}
|
|
}
|
|
}
|