|
|
发表于 2025-11-4 08:38:23
|
显示全部楼层
class Config {
q: ?9 C# p9 A# B1 |, s$ P' F9 |public:; Z. E9 K0 k8 w$ w5 X
static std::string GetSharePath() {+ v% v3 H$ t$ l2 L u7 R
// 优先检查 share 目录# G* `9 F1 g, }9 x8 k# @7 ]/ n/ s' |
if (DirectoryExists("./share/")) {8 M$ F; T" N' S |5 k
return "./share/";+ H! y+ c& B- W% v7 J; L) q6 b
}
/ G& R4 a# |5 e/ | // 如果 share 目录不存在,使用当前目录
* w7 U! N3 ]: A7 ^* y- V7 s5 f* | return "./";
, a. w6 O! W) v4 u5 g e& u }
2 o2 T- @3 A0 A3 a( Q
+ I) f2 ?; {% q9 n2 A8 b static std::string GetItemetcPath() {
E4 ~. e, Z( K* v9 m: P: B return GetSharePath() + "itemetc.csv";
, W8 q# y8 |' [- P) n W x }+ j+ G$ g `# }& Y0 s
9 g/ ]6 X5 Y) E. X
static std::string GetItemarmorPath() {& t7 S- B. T! }
return GetSharePath() + "itemarmor.csv";
1 S' {- B+ g! ?/ F2 w }" D1 z; |; ?. `; q7 r2 _& c: ^% @
6 B2 l0 K- C# n static std::string GetItemweaponPath() {8 R/ w+ Q2 d! [8 Q* ^% {2 r0 B
return GetSharePath() + "itemweapon.csv";
& D) o6 o q7 A/ `5 e }
- D( f7 Y6 \! l9 | `2 R" |. d, _# A6 u
static std::string GetSkillnamePath() {
: L" h- i1 `# k" `2 R* u* A" N return GetSharePath() + "skillname.csv";) c7 o! ?. [1 M/ L
}
3 j+ x. W k! D, Q) @
* \' Z- ^4 s# ~: k! zprivate:
3 I2 m+ M( \0 g; g! _8 J6 v static bool DirectoryExists(const std::string& path) {
) c0 ~8 \5 K' Q9 J3 F. X // 实现目录存在性检查
* ~1 B; M6 v/ q6 ~ struct stat info;
9 ?- a s. j b+ J return stat(path.c_str(), &info) == 0 && (info.st_mode & S_IFDIR);8 u1 J+ r& T/ B
}
# E, v5 ^2 E# g( o) b}; |
|