|
|
class Config {& W# s- b- M- j. C0 h3 j- h2 T
public:
" u# J+ T- U$ z5 R: t" V static std::string GetSharePath() {5 \7 Y) X, k d+ b- n& f
// 优先检查 share 目录: ~# k I! ]: J3 p: |7 o8 F
if (DirectoryExists("./share/")) {
0 e2 a+ p t/ J' W4 j return "./share/";
' b1 o3 b% Y5 g! U }* q$ i" a9 P9 l$ N7 o% G0 n
// 如果 share 目录不存在,使用当前目录' P' s, e# z9 e O
return "./";
$ z/ B' w/ ^6 i z' N/ e, A }
- U( y' D( h6 \' j6 _" K) u
6 L$ r: l2 [% L+ w, |8 l7 d static std::string GetItemetcPath() {
7 s& H- M( C \! k6 C; C1 a return GetSharePath() + "itemetc.csv";
: f: [0 K9 q9 l; R$ s }! i4 Y+ L R6 e+ O z& ]& r. D$ Z$ X
6 ^5 d( u% s$ z3 m
static std::string GetItemarmorPath() {5 W) Q3 |4 j- H1 d, v
return GetSharePath() + "itemarmor.csv";
( Y# I4 G3 m( [7 G+ Z3 o' k }2 ~) `( q3 k1 H0 |7 C7 N0 ^2 `* M: C
# G2 g8 H* j. D& w9 n y
static std::string GetItemweaponPath() {
9 j* @8 u8 ~; @8 ?2 r! p9 H# o8 R return GetSharePath() + "itemweapon.csv";
4 C' |" e& O7 w; s }
$ D4 C3 {8 R v* k; G1 T$ F' | 2 a9 \) M7 I$ F9 J
static std::string GetSkillnamePath() {# Z$ v5 Z! R0 p8 g$ _3 G" o
return GetSharePath() + "skillname.csv";
6 D1 w/ C! {) y% X1 t$ v& z9 F9 c3 a }
6 m7 w3 O3 w8 S _
$ H j" e N! w' yprivate:
4 P& K% u+ S* `5 {9 p* Y1 s static bool DirectoryExists(const std::string& path) {
- F0 a$ J% @; t s // 实现目录存在性检查/ n' J- H& O3 W
struct stat info;: ?" N6 a+ p7 S$ y; ^% x, P. J
return stat(path.c_str(), &info) == 0 && (info.st_mode & S_IFDIR);
: f0 r" N' S, v2 f3 `! c4 N }
/ k8 j; ^+ Y k. Q4 t, m9 K}; |
|