Files
hjha-server/GameModule/GlobalManager/GameDataTab.cs
xiaoou e9616125ce 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
2026-07-07 12:02:15 +08:00

84 lines
2.4 KiB
C#

/*
* 由SharpDevelop创建。
* 用户: Administrator
* 日期: 2018-11-13
* 时间: 17:01
*
* 要改变这种模板请点击 工具|选项|代码编写|编辑标准头文件
*/
using System;
using Server.Data;
using MrWu.Debug;
using System.Collections.Generic;
using Server.DB.Redis;
using System.Collections;
using Server.Data.Module;
using System.Threading;
using Game.Player;
using GameData;
namespace Server.Module {
/// <summary>
/// 游戏数据 掌管玩家数据
/// </summary>
public class GameDataTab {
/// <summary>
/// 游戏信息表
/// </summary>
public readonly GameInfoTab infoTab;
/// <summary>
/// 游戏信息
/// </summary>
private readonly GameInfo gameinfo;
/// <summary>
///
/// </summary>
/// <param name="util"></param>
/// <param name="info"></param>
public GameDataTab(ModuleUtile util, GameInfo info) {
//onlinePlayerIds = new OnLinePlayers();
gameinfo = info;
infoTab = new GameInfoTab(util, info);
}
/// <summary>
/// 获取游戏信息
/// </summary>
/// <returns></returns>
public GameInfo GetGameInfo() {
return gameinfo.Clone();
}
/// <summary>
/// 关闭
/// </summary>
public void Close() {
//所有的玩家
IEnumerator itor = PlayerCollection.Instance.GetEnumerator();
while(itor.MoveNext()) {
int userid = (int)itor.Current;
PlayerDataAsyc pl = PlayerCollection.Instance.FindPlayerByUserId(userid);
if(pl == null) {
Debug.Error("不应该存在的错误:取到空玩家!");
continue;
}
if(pl.friendRoomNum <= 0) { //没有朋友房,移除玩家
if(PlayerCollection.Instance.RemovePlayer(pl) == 1) {
PlayerFun.UnLockPlayer(userid, GlobalManager.instance.myUtil);
Debug.Info("解锁玩家:" + userid);
}
} else {
pl.outline = 1; //离线处理
}
Thread.Sleep(1);
}
}
}
}