|
|
发表于 2025-11-4 08:38:23
|
显示全部楼层
class Config { t2 T! C% x: P o) c! v, T
public:* D. R$ G$ N; f
static std::string GetSharePath() {$ ]8 P( m$ G; V5 X% c$ A, R! W) S9 s: ]
// 优先检查 share 目录+ Y# k& v! L j- K+ d0 P: S
if (DirectoryExists("./share/")) {, f! f# ^7 Z; g
return "./share/";
/ | I% R3 v1 q4 J }" O+ W; G) H Y0 L: j
// 如果 share 目录不存在,使用当前目录9 G2 S A' \, S
return "./";1 M4 b7 {- }% F$ G t- d( f W
}
. m9 j: L' ^4 x+ Y1 H2 F: b* {9 V - H2 x+ }* P; l" ^" }& U# w, @
static std::string GetItemetcPath() {- z% O3 @% R. w5 R" o
return GetSharePath() + "itemetc.csv";& u: w1 n' L0 E6 e
} U( ]) k! t# b) H3 u
1 { U1 ^9 v. z4 ~4 @
static std::string GetItemarmorPath() {% o( P6 i2 Q1 |
return GetSharePath() + "itemarmor.csv";* ]2 a5 s' |8 t
}
9 o1 l/ B% ~0 Y3 ?2 c% G: a: f 0 k' ]! f' C9 V$ F6 l% d8 \7 R) i
static std::string GetItemweaponPath() { q* N @4 V- z* g) J+ [
return GetSharePath() + "itemweapon.csv";& Q2 U( H9 K6 I0 A
}7 B; a( Q4 v( ~% l2 v( n/ ^
4 M, A: c% K3 L V* z
static std::string GetSkillnamePath() {
$ R; C, ^( ~7 r( E/ C return GetSharePath() + "skillname.csv";
7 E+ Z4 ~$ c' S: I2 u9 @ }
; ~4 u* x) M% K! \' \ 3 S$ Y# q6 e' b. C. h" H
private:
) Q4 L( E. J- z' { static bool DirectoryExists(const std::string& path) {
; t3 e' M8 A7 K5 F& C // 实现目录存在性检查4 V3 f4 z' ^' e
struct stat info;+ u( b! P5 n& b) Q
return stat(path.c_str(), &info) == 0 && (info.st_mode & S_IFDIR);$ U; {3 [0 x1 J {! N5 r ?
}1 x" r& D4 @2 r- v7 q
}; |
|