|
|
发表于 2025-11-4 08:38:23
|
显示全部楼层
class Config {
- B5 q" R A3 B( l1 P9 ~( xpublic:
9 E6 y E+ S& d& z: V! [ static std::string GetSharePath() {
( M( \7 y% H2 v // 优先检查 share 目录6 B! A2 B: ]' Z6 |% U8 V
if (DirectoryExists("./share/")) {
1 r' n8 Q, m' } return "./share/";
0 o: }* ^2 l, t6 k }9 d. O7 Q1 r; u! |3 p
// 如果 share 目录不存在,使用当前目录
- v# `5 H4 k- O' ~ return "./";
) T U2 |2 ?( b" c }/ }8 {4 x9 d$ M% V* R! X5 i3 W
; h% a* ? L; d" O- S
static std::string GetItemetcPath() {
6 f' v$ ?8 @; V! r9 o9 q% U return GetSharePath() + "itemetc.csv";
$ y- q% q7 ]: _: f% }) d9 O! y }
8 h) ?, n+ C8 i ; I3 E: x8 B z9 k
static std::string GetItemarmorPath() {
; k; @, Z. y# s& H. T. }% o& V; n; D return GetSharePath() + "itemarmor.csv";6 C |8 e) Z P' {$ Q( p. [9 L: I
}* X8 s: `: D/ y' ~2 Q3 G; D
, S+ t' ]) `; \+ W
static std::string GetItemweaponPath() {3 Z1 V( x( K5 u
return GetSharePath() + "itemweapon.csv";. M ]' |: d; y7 y
}) ~, r+ W9 B9 Q5 |/ o4 E7 i
9 }: \) F3 r% j9 h) n static std::string GetSkillnamePath() {
# c) k' a& V! K. [. y$ R; Q9 T return GetSharePath() + "skillname.csv";
3 T( I! j# p$ Q: H5 N1 b- U/ w9 ` }( C+ o/ _9 X+ ?- p! J8 Q1 A ?, s, ]
; j0 l9 z! O( H W& E
private:. b8 s) V/ k! r0 j
static bool DirectoryExists(const std::string& path) {
T- J: a3 K3 H) ~6 Q // 实现目录存在性检查+ {! J4 G, |) u( x
struct stat info;% Q3 N0 L4 d- c- y; `: i
return stat(path.c_str(), &info) == 0 && (info.st_mode & S_IFDIR);' z8 h0 I5 x3 X5 j
}5 b2 s, v! B7 A) G; w/ H& x
}; |
|