|
|
发表于 2025-11-4 08:38:23
|
显示全部楼层
class Config {+ V3 z/ G+ H1 c' Z: o$ J9 x% r8 Q
public:
* {& E& u8 x* K! V static std::string GetSharePath() {, v8 j- E8 O3 ^6 M4 s2 \
// 优先检查 share 目录( i6 E# M% E9 r0 v) F# d
if (DirectoryExists("./share/")) {+ M5 y3 J2 `% C# I, o( [
return "./share/";$ E8 J5 ` k5 F4 g3 W6 Y8 X- o
}( H( h8 t2 j: l7 N/ ^ Y6 B
// 如果 share 目录不存在,使用当前目录+ f8 M; \8 ]# K& A
return "./";# ^# r3 l' z0 k9 S
}* v! @- W2 K2 a8 X
" \0 I1 s9 x( u% v
static std::string GetItemetcPath() { D2 F$ t9 |9 Q2 g2 h3 C% c( J# L
return GetSharePath() + "itemetc.csv";
; K# Z; R# O# u- D( ] }
) k4 T$ N9 n" ?; O$ \* i0 I9 v 5 j6 ]2 O2 s- j- ?% J2 o
static std::string GetItemarmorPath() {
0 K+ C+ s1 F9 ]" s; V9 d& x return GetSharePath() + "itemarmor.csv";8 h$ H; [% H0 ]
}
5 w& T5 d+ y) b, Z 7 q3 J. f; k# e5 ?' n7 y( _! u
static std::string GetItemweaponPath() {
1 q% D. s' x. P9 {: ?7 O$ N) G return GetSharePath() + "itemweapon.csv";
7 M# _- ?9 e8 N* `* G+ o6 F }
% O3 M: l" D' `+ K. N! i' p8 u
6 T$ S* j4 ?) m% r( ]; N: J static std::string GetSkillnamePath() {1 I' h5 q2 `' u0 @ X9 p z
return GetSharePath() + "skillname.csv";
6 i N7 |; l8 c7 z3 F, m) A, s }
8 x$ o$ }& L' _3 A- D , z5 B9 l! y) Y1 s& P
private:/ s$ `2 I1 S; e
static bool DirectoryExists(const std::string& path) {! Z7 b' E. x# Y/ v6 W' W6 z
// 实现目录存在性检查
# _: _: P0 T4 F) W8 |3 d struct stat info;
8 X7 [ b) p% F' y4 `4 m* D+ v. h return stat(path.c_str(), &info) == 0 && (info.st_mode & S_IFDIR);
7 s) v. p$ @1 j( G& F R }
- W$ @0 Q4 {5 z3 p) ]}; |
|