|
|
发表于 2025-11-4 08:38:23
|
显示全部楼层
class Config {7 z; x; T7 U& ]& j& R' l7 Z
public:
: z" q( b. P1 [+ ?$ E static std::string GetSharePath() {1 p. w2 u2 i- k
// 优先检查 share 目录
1 w0 F. J3 G/ a! \ if (DirectoryExists("./share/")) {* k' i' z5 ]# Y! G
return "./share/";4 u- }- W" i# X) ` z% }3 e8 i
}
( N& Y, z1 F! b0 j // 如果 share 目录不存在,使用当前目录
3 p( }/ E8 v8 b$ d0 H8 |6 j6 O4 u return "./";
- t: c- b E8 b }
0 D3 ^8 r9 [5 u* v2 A7 J: j
' c" w, _8 R( J5 ^2 ~ static std::string GetItemetcPath() {7 l# F$ d* q6 t0 Z
return GetSharePath() + "itemetc.csv";
9 L, I* z* w& _& C0 B }
3 d( E% j `4 z3 A / A u! m3 X( L5 W& W; `, R5 o
static std::string GetItemarmorPath() {# ~2 H5 l' b7 R% N
return GetSharePath() + "itemarmor.csv";# o$ f, i( @) P. c; Y% G: k
}: L) D, H/ @! L* y/ w0 T# s2 l/ s' M1 a
. c3 o5 l1 B, z) Z static std::string GetItemweaponPath() {
+ m6 V# e# D& }: e0 \ return GetSharePath() + "itemweapon.csv";, o& ]$ z: @( I: e
}
9 H$ F: w2 }$ w$ \ 7 g' H4 U# ?; s x$ d$ ]. F8 I* z( p# g
static std::string GetSkillnamePath() {3 N4 `) G6 X/ O5 ^" k) E
return GetSharePath() + "skillname.csv";
3 P/ T A; K! h+ _3 ]; L R }! k5 o# w# N6 |( m2 L& U% M
! D0 b/ {/ g3 l4 s" W$ o$ }private:. E( ]0 I- ^; l7 W/ ?
static bool DirectoryExists(const std::string& path) {2 f5 H4 D7 {/ U0 Y) R, L: J' R
// 实现目录存在性检查
4 M# ?# B5 s- `( s1 T1 Y struct stat info;
4 n% U' Y* f8 P( x return stat(path.c_str(), &info) == 0 && (info.st_mode & S_IFDIR);
3 T+ R N6 t6 h' @7 F( G- } }
: z5 v% S& K, D6 h% B2 N1 I}; |
|