Files
hjha-server/ServerCore/Helper/DirectoryManager.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

106 lines
3.0 KiB
C#

using System;
using System.IO;
using GameData;
using MrWu.Debug;
namespace Server
{
/// <summary>
/// 文件夹管理
/// </summary>
public static class DirectoryManager
{
/// <summary>
/// 数据文件根节点
/// </summary>
public const string RootPath = "ServerData";
static DirectoryManager()
{
try
{
if (!Directory.Exists(RootPath))
{
Directory.CreateDirectory(RootPath);
}
}
catch (Exception e)
{
Debug.Error($"Create RootPath Error:{e.Message}");
}
}
public static string GetIconPath()
{
string iconPath = "res/icon.ico";
string fullPath = Path.Combine(RootPath, iconPath);
if (File.Exists(fullPath))
{
return fullPath;
}
Debug.Error($"ICON 不在新目录:{fullPath}");
return iconPath;
}
public static string GetNodeConfigPath()
{
string nodeConfigPath = "Node.config";
string fullPath = Path.Combine(RootPath, nodeConfigPath);
if (File.Exists(fullPath))
{
return fullPath;
}
Debug.Error($"Node.config 不在新目录:{fullPath}");
return nodeConfigPath;
}
public static string GetPath(string path)
{
string fullPath = Path.Combine(RootPath, path);
if (Path.HasExtension(fullPath))
{
// 获取文件的上级文件夹路径
string directoryPath = Path.GetDirectoryName(fullPath);
// 如果上级文件夹不存在,就创建它
if (!string.IsNullOrEmpty(directoryPath) && !Directory.Exists(directoryPath))
{
Directory.CreateDirectory(directoryPath);
}
}
else
{
// 如果该文件夹不存在,就直接创建它
if (!Directory.Exists(fullPath))
{
Directory.CreateDirectory(fullPath);
}
}
return fullPath;
}
/// <summary>
/// 获取统计库数据
/// </summary>
/// <returns></returns>
public static string GetStaticsDbPath(ModuleUtile module)
{
string fullPath = Path.Combine(RootPath, $"gamestatics.{module.id}");
return fullPath;
}
/// <summary>
/// 获取CDN 黑名单列表保存路径
/// </summary>
/// <param name="urlName"></param>
/// <returns></returns>
public static string GetCDNIPBlackListPath(string urlName)
{
return Path.Combine(RootPath,$"{urlName}_blacklist");
}
}
}