feat: initial commit - HJHA game server full source

6 major server modules (PdkFriendServer/GlobalSever/ServerCore/GameModule/GameNetModule) +
game logic (GameFix/GameDAL/ServerData) +
network layer (NetWorkMessage) +
data layer (ObjectModel) +
utilities (MrWu/Core/Config/CloudAPI/dll) +
adapters (zyxAdapter/base)

.NET 8.0 C# solution, 16 projects, 958 source files
This commit is contained in:
2026-07-07 12:02:15 +08:00
commit e9616125ce
958 changed files with 158203 additions and 0 deletions

127
ObjectModel/User/DaoJu.cs Normal file
View File

@ -0,0 +1,127 @@
/* ==============================================================================
* 功能描述DaoJu
* 创 建 者:徐高庆
* 创建日期2023/4/20 15:24:28
* CLR Version :4.0.30319.42000
* ==============================================================================*/
using Newtonsoft.Json;
using System.Text;
namespace ObjectModel.User
{
/// <summary>
/// 玩家的道具 2023
/// </summary>
public class DaoJu
{
public DaoJu() { }
public DaoJu(int uid) {
this.userid=uid;
}
/// <summary>
/// 玩家Id
/// </summary>
public int userid = 0;
/// <summary>
/// 参赛卷
/// </summary>
public int cansaij = 0;
/// <summary>
/// 门票
/// </summary>
public int menpiao = 0;
/// <summary>
/// 复活卡
/// </summary>
public int fuhuoka = 0;
/// <summary>
/// 公会令
/// </summary>
public int clubtoken = 0;
/// <summary>
/// 总公会令
/// </summary>
public int clubsupertoken = 0;
/// <summary>
/// 数据版本,暂时没有用上
/// </summary>
public int ver = 0;
/// <summary>
/// 变化值
/// </summary>
[JsonIgnore]
public int cansaijChange = 0;
[JsonIgnore]
public int menpiaoChange = 0;
[JsonIgnore]
public int fuhuokaChange = 0;
[JsonIgnore]
public int clubtokenChange = 0;
[JsonIgnore]
public int clubsupertokenChange = 0;
/// <summary>
/// 是否有数据需要保存
/// </summary>
/// <returns></returns>
public bool IsHaveSaveData()
{
return this.cansaijChange != 0 || this.fuhuokaChange != 0
|| this.clubtokenChange != 0 || this.clubsupertokenChange != 0 || this.menpiaoChange != 0;
}
public override string ToString()
{
return $"userid:{userid} canSaiJuan:{cansaij} fuhuoka:{fuhuoka} clubtoken:{clubtoken} clubsupertoken:{clubsupertoken}";
}
/// <summary>
/// 获取更新SQL
/// </summary>
/// <returns></returns>
public string GetUpdateSql()
{
if (!IsHaveSaveData()) return null;
StringBuilder bf = new StringBuilder();
bf.Append("update tbDaoju2023 set ");
if (this.cansaijChange != 0)
{
bf.Append($" cansaij=cansaij+{this.cansaijChange},");
}
//todo 旧门票 下个版本弃用
if (this.menpiaoChange != 0)
{
bf.Append($" menpiao=menpiao+{this.menpiaoChange},");
}
if (this.fuhuokaChange != 0)
{
bf.Append($" fuhuoka=fuhuoka+{this.fuhuokaChange},");
}
if (this.clubtokenChange != 0)
{
bf.Append($" clubtoken=clubtoken+{this.clubtokenChange},");
}
if (this.clubsupertokenChange != 0)
{
bf.Append($" clubsupertoken=clubsupertoken+{this.clubsupertokenChange},");
}
bf.Remove(bf.Length - 1, 1);
bf.Append($" where userid={this.userid}");
return bf.ToString();
}
/// <summary>
/// 获取插入Sql
/// </summary>
/// <returns></returns>
public string GetSaveSql()
{
//return $"insert into tbDaoju2023(userid,cansaij,fuhuoka,clubtoken,clubsupertoken) values({userid},{cansaijChange},{fuhuokaChange},{clubtokenChange},{clubsupertokenChange})";
//todo 旧门票 下个版本弃用
return $"insert into tbDaoju2023(userid,cansaij,fuhuoka,menpiao,clubtoken,clubsupertoken) values({userid},{cansaijChange},{fuhuokaChange},{menpiaoChange},{clubtokenChange},{clubsupertokenChange})";
}
}
}

View File

@ -0,0 +1,18 @@
namespace ObjectModel.User
{
public enum UserGoldLogType
{
Game = 1, // 游戏内明细
// 不对玩家展示的明细
Private_Game = 11, // 游戏
Pirvate_GoldBox = 12, // 保险柜
Private_GamePlay = 21, // 游戏游玩
Private_GameTax = 22, // 游玩税收
// 比赛
Private_MatchPlay = 31, // 比赛游玩
Private_MatchTax = 32, // 比赛税收 (多收的税收)
}
}

View File

@ -0,0 +1,44 @@
using GameData;
using Server.Core;
namespace ObjectModel.User
{
public class ZiChanLogData : IReference
{
public int Id;
public long ChangeValue;
public long FinValue;
public string Tag;
public UserGoldLogType GoldLogType;
public void Dispose()
{
ReferencePool.Recycle(this);
}
public static ZiChanLogData CreateGold(long changeValue, long finValue, UserGoldLogType goldLogType, string tag)
{
ZiChanLogData data = ReferencePool.Fetch<ZiChanLogData>();
data.Id = ResName.Gold;
data.ChangeValue = changeValue;
data.FinValue = finValue;
data.GoldLogType = goldLogType;
data.Tag = tag;
return data;
}
public static ZiChanLogData Create(int id, long changeValue, long finValue, string tag)
{
ZiChanLogData data = ReferencePool.Fetch<ZiChanLogData>();
data.Id = id;
data.ChangeValue = changeValue;
data.FinValue = finValue;
data.Tag = tag;
return data;
}
public bool IsFromPool { get; set; }
public long ReferenceId { get; set; }
}
}

View File

@ -0,0 +1,114 @@
/* ==============================================================================
* 功能描述ZiChanMingXi
* 创 建 者:徐高庆
* 创建日期2023/6/8 15:42:55
* CLR Version :4.0.30319.42000
* ==============================================================================*/
using System;
using System.Data;
namespace ObjectModel.User
{
/// <summary>
/// 资产明细
/// </summary>
public class ZiChanMingXi
{
/// <summary>
/// 玩家Id
/// </summary>
public int userid;
/// <summary>
/// 物品Id 1钻石 2礼券 3参赛卷 4门票 5复活卡 6金币数量比较大放入redis集合7红包券
/// </summary>
public int wuId;
/// <summary>
/// 变更类型
/// 钻石 1充值添加+*、 2活动赠送+人工添加、3比赛奖励+、4兑换金币-*、5兑换复活卡-*、6兑换装饰-、7兑换房卡、8道具消耗
/// 礼券1活动赠送+人工添加、2比赛奖励+*、3兑换道具-*、4兑换礼品
/// 红包券1比赛奖励+、 2兑换红包-
/// 金币1兑换添加+*、2活动赠送+人工添加、3比赛奖励+*、4娱乐馆服务费-*、5娱乐馆输赢-*、6竞赛馆报名费-*、7保险柜操作
/// 参赛券1、活动赠送+人工添加、2比赛奖励+、3比赛报名-、4兑换赠送*
/// 门票1、活动赠送+人工添加、2比赛奖励+、3比赛报名-
/// 复活卡1、兑换添加+*、2活动赠送+人工添加、3比赛奖励+、4竞赛馆消费-
/// 房卡1、充值添加 2、充值赠送 3、转入公会
/// </summary>
public int chType;
/// <summary>
/// 变更时间
/// </summary>
public DateTime createTime;
/// <summary>
/// 变更数量
/// </summary>
public long num;
/// <summary>
/// 余额
/// </summary>
public long yuE;
public ZiChanMingXi() { }
/// <summary>
///
/// </summary>
/// <param name="_userid"></param>
/// <param name="_wuid">物品Id 1钻石 2礼券 3参赛卷 4门票 5复活卡 6金币数量比较大放入redis集合7红包券 8道具 9房卡</param>
/// <param name="ct">变更类型</param>
/// <param name="_num">变更数量</param>
/// <param name="yue">余额</param>
public ZiChanMingXi(int _userid, int _wuid, int ct, long _num, long yue)
{
this.userid = _userid;
this.wuId = _wuid;
this.chType = ct;
this.num = _num;
this.yuE = yue;
this.createTime = DateTime.Now;
}
public override string ToString()
{
return $"userid:{userid} t:{chType} num:{num} yue:{yuE} time:{createTime.ToString("yyyy-dd-MM HH:mm:sss")}";
}
/// <summary>
/// 获取插入Sql
/// </summary>
/// <returns></returns>
public string GetSaveSql()
{
return $"insert into zichanMX(userid,wuId,chType,num,yuE) values({userid},{wuId},{chType},{num},{yuE})";
}
public static string GetInsertSql(int userid, int wupid, int ct, long num, long yue)
{
return $"insert into zichanMX(userid,wuId,chType,num,yuE) values({userid},{wupid},{ct},{num},{yue})";
}
public static string GetInsertSql(int userid, int wupid, int ct, long num, long yue,DateTime time)
{
return $"insert into zichanMX(userid,wuId,chType,num,yuE, createTime) values({userid},{wupid},{ct},{num},{yue},'{time}')";
}
public static ZiChanMingXi GetInstance(DataRow row)
{
return new ZiChanMingXi()
{
userid = (int)row["userid"],
wuId = (int)row["wuId"],
chType = (int)row["chType"],
num = (long)row["num"],
yuE = (long)row["yuE"],
createTime = (DateTime)row["createTime"]
};
}
}
public class ZiChanMingXiDto : ZiChanMingXi
{
public int TotalCount { get; set; }
}
}