|
|
发表于 2025-11-4 08:38:23
|
显示全部楼层
class Config {* M4 N. }! M9 w$ Z6 j
public:: p8 F z1 b3 ^2 S
static std::string GetSharePath() {
" [+ Z |* G6 p& A // 优先检查 share 目录! K/ A& S9 N4 R; Z! O
if (DirectoryExists("./share/")) {
: l; |0 ^9 r( H j5 F8 K) p return "./share/";! m) `% A( ]; c" P% `, p0 U
}* V! M4 W6 m! b3 a3 Y. J
// 如果 share 目录不存在,使用当前目录 f% p( j* z0 h
return "./";9 k# r+ v3 v0 Q
}& J, t" W8 T1 S# Y6 e4 E
' ]% Z) W, H+ {0 _* |) `4 C
static std::string GetItemetcPath() {3 _0 G9 ]$ Y* `! q
return GetSharePath() + "itemetc.csv";
0 D3 ?0 X( l' b6 U! M N }
0 Q6 m$ a$ O+ {. x1 _
3 ?8 d2 [, S0 w& B( A* e/ M static std::string GetItemarmorPath() {0 z5 T" ]: H# J4 _; D' g
return GetSharePath() + "itemarmor.csv";" N) d/ M$ b8 I4 Z( F4 L/ Q$ |& ]
}" R% l k0 |! H" y& i
$ P' z$ I' E. U% ~1 _( e% L static std::string GetItemweaponPath() {$ t1 x2 ^- E7 h# G, b, W. L3 a
return GetSharePath() + "itemweapon.csv";, S* z) l5 H& ^* U- P5 c" [. v
}
3 p/ b: u. Y0 M! \. `) R 4 `2 t; K4 S$ q5 K
static std::string GetSkillnamePath() {
! f. M% @9 I/ p( r2 x return GetSharePath() + "skillname.csv";8 _3 d% e: j( O# A* H: u2 z+ d4 K1 {
}2 g; m7 J8 @1 o. g; _3 L
) n% F% w: y% [( T: X5 M
private:+ o0 U3 F$ W- p. J- K
static bool DirectoryExists(const std::string& path) {
0 z X# O1 M5 Q ?6 B // 实现目录存在性检查' | c2 s8 d' L, @
struct stat info;
- E4 o* F. z4 o3 v2 Z1 V$ z return stat(path.c_str(), &info) == 0 && (info.st_mode & S_IFDIR);
4 M( m0 u6 G/ c I! A }( V# V, x4 R; q2 O
}; |
|