|
|
发表于 2025-11-4 08:38:23
|
显示全部楼层
class Config {
+ c! M" B1 n* d% mpublic:
. `6 y$ r# b8 |+ l/ s static std::string GetSharePath() { Z( t4 U( l. N1 L
// 优先检查 share 目录: E# K) G. q" N% X5 }3 q4 N
if (DirectoryExists("./share/")) {$ P% E, l$ ^! [7 \* ~; p1 P: e5 i8 J
return "./share/";1 y/ z: ?) L' W9 C: k, ^5 _
}
" s% i5 j4 e; r // 如果 share 目录不存在,使用当前目录
& R! g u' p/ z3 W/ E- O return "./";
4 Q7 z2 |5 } T9 o, H! `' ?; f1 f }/ P; o9 u H) d: \
. a! L1 J" k( _3 g! H
static std::string GetItemetcPath() {
# o7 `; h4 `8 [/ N& | return GetSharePath() + "itemetc.csv";1 `% E& D1 y6 X
}
7 ^ P- l3 s+ [& E+ Z
R7 `7 Z C/ U5 H static std::string GetItemarmorPath() {
1 {$ p" j# S8 J6 y. w# ~6 f+ p return GetSharePath() + "itemarmor.csv";
+ r" H3 }$ U! [4 u }; G1 v5 N5 X1 G
. s. y$ s1 O8 A
static std::string GetItemweaponPath() {/ @' M* P U& j( Q1 C: t/ O7 V
return GetSharePath() + "itemweapon.csv";* e% i) O2 b0 ~0 ~+ X7 J+ s
}8 h# Q5 x) w! E) g! v7 I" z6 G% o
) {) O+ Y e! ~
static std::string GetSkillnamePath() {6 `& x3 _/ ~# ?- Q( X' }
return GetSharePath() + "skillname.csv";, {9 `" O. k; d4 e! \
}
& w% X2 e% W! A- v% \
! i3 r# P8 W/ {: G# p6 Oprivate:3 B+ C! b# x7 Z" U! [. _
static bool DirectoryExists(const std::string& path) {
2 `6 D) Q' ^" s1 e // 实现目录存在性检查( M: P+ V" N5 E2 H9 Z4 a
struct stat info;( q2 O4 L% @. ~- x4 b _ U
return stat(path.c_str(), &info) == 0 && (info.st_mode & S_IFDIR);. i$ ^5 v u2 @! e$ D p
}4 o1 o; Z. S' {6 T. }% o
}; |
|