|
|
发表于 2025-11-4 08:38:23
|
显示全部楼层
class Config {
+ A6 q$ b* v8 `. q7 [8 Fpublic:) n5 }. s; o* _+ _1 |
static std::string GetSharePath() {
9 c' C0 |. W. j. J; Y y // 优先检查 share 目录
& ~$ t9 f) \7 v; L6 d7 L- g) I if (DirectoryExists("./share/")) {1 J+ s0 B3 R0 `
return "./share/";
8 o* B0 L8 w9 j# `1 P }
% e+ ~2 ]( C* V U- G* [. ] // 如果 share 目录不存在,使用当前目录
- f0 L5 R8 y& d. x/ Q return "./";
1 C! B* ]% M8 z& v }* G2 F E- Y' ?9 ]. c
$ F S, W, N0 B4 N, p7 j) N static std::string GetItemetcPath() {. D) }: n" H+ @" d" n7 W- m6 H
return GetSharePath() + "itemetc.csv";, I t/ D9 {8 h% v1 G0 M% ]
}
! E1 v/ W* d1 o & U: S$ m2 r4 A. C5 I* N8 P
static std::string GetItemarmorPath() {5 J& @- H) M1 J) R2 j9 F- e! ?, ^( K
return GetSharePath() + "itemarmor.csv";7 U- ^! n6 w# J3 s
}
) ^" i/ o1 `, }# e6 s
0 U6 Z& i, [5 \) B$ g7 Y; Y static std::string GetItemweaponPath() {
7 ?1 }- k# J! p return GetSharePath() + "itemweapon.csv";: W0 p$ L7 ~9 N4 X9 t0 X
}+ q4 [* S/ Q0 q* Y( ^
2 i0 l" e3 w2 v- A! B: G/ g( D static std::string GetSkillnamePath() {
3 s6 G. m) }1 S u) R. b/ p: ` return GetSharePath() + "skillname.csv";
( _: q6 T( D) W; ?9 d1 j }
' s0 p% Q+ _- [
0 S: M) {( |1 u! }: i/ m# Vprivate:& \9 J2 U0 p# d2 K8 O+ n. b
static bool DirectoryExists(const std::string& path) {" S# m8 f' E4 Y) ?8 R8 M
// 实现目录存在性检查
3 z5 R+ \" }* K! q( M struct stat info;2 ~; |: y. h" [1 C4 E6 f
return stat(path.c_str(), &info) == 0 && (info.st_mode & S_IFDIR);7 Z6 M& [: v9 {( r& e0 E+ }# q
}9 H, Z% z3 K% s
}; |
|