• R/O
  • SSH
  • HTTPS

project200805us: Commit


Commit MetaInfo

Revision3225 (tree)
Time2017-05-20 02:30:56
Authorhogepiyo

Log Message

extra

Change Summary

Incremental Difference

--- DXProject/HPLAirscapeLib/src/minerva/MinervaEnemyExtraSetting.cpp (revision 3224)
+++ DXProject/HPLAirscapeLib/src/minerva/MinervaEnemyExtraSetting.cpp (revision 3225)
@@ -33,6 +33,50 @@
3333 MAX_NUM
3434 };
3535 }
36+bool MinervaEnemyExtraSetting::getTalkSettingFromString(tstring& strText,
37+ HPLPortableLogger* lpPortableLogger, MinervaEnemyTalkSetting& talkSetting,
38+ bool& bIsOK)
39+{
40+ vector<string> vecItems = HPLString::split(strText, "/");
41+ const int MAX_ITEMS = (int)vecItems.size();
42+ //
43+ if (MAX_ITEMS == 1) {
44+ if (HPLString::equals(HPLString::trim(vecItems[0]), "NONE")) {
45+ // 止め
46+ return false;
47+ }
48+ else {
49+ // start event id
50+ //MinervaEnemyTalkSetting talkSetting;
51+ talkSetting.m_nEventID = atoi(vecItems[0].c_str());
52+ // 先が無いのでここで止める
53+ bIsOK = true;
54+ return false;
55+ }
56+ }
57+ else if (MAX_ITEMS >= 3) {
58+ //MinervaEnemyTalkSetting talkSetting;
59+ // quest id
60+ talkSetting.m_nQuestInnerID = atoi(vecItems[0].c_str());
61+ // mission index
62+ talkSetting.m_nMissionInnerID = atoi(vecItems[1].c_str());
63+ // event id to start
64+ talkSetting.m_nEventID = atoi(vecItems[2].c_str());
65+ // add
66+ bIsOK = true;
67+// lpExtraSetting->addTalkSetting(talkSetting);
68+ return true;
69+ }
70+ else {
71+ if (lpPortableLogger) {
72+ lpPortableLogger->writeErrorWithLine(
73+ HPLString::chrToStr("Talkの要素数不足[%s]", strText.c_str()),
74+ HPL::LogLevel::LOG_ERROR,
75+ -1,tstring(),NULL);
76+ }
77+ }
78+ return false;
79+}
3680
3781 bool MinervaEnemyExtraSetting::loadExtraSetting(vector<MinervaEnemyExtraSetting>& vecExtraSettings,
3882 const TCHAR* FILE_PATH, HPLPortableLogger* lpPortableLogger)
@@ -158,49 +202,18 @@
158202 // for talk items...
159203 for (int i = 0; i < MAX_TALKS; i++) {
160204 // split items
161- vector<string> vecItems = HPLString::split(vecTalks[i], "/");
162- const int MAX_ITEMS = (int)vecItems.size();
163- //
164- if (MAX_ITEMS == 1) {
165- if (HPLString::equals(HPLString::trim(vecItems[0]), "NONE")) {
166- // 止め
167- break;
168- }
169- else {
170- // start event id
171- MinervaEnemyTalkSetting talkSetting;
172- talkSetting.m_nEventID = atoi(vecItems[0].c_str());
173- lpExtraSetting->addTalkSetting(talkSetting);
174- // 先が無いのでここで止める
175- break;
176- }
177- if (i < MAX_TALKS - 1) {
178- if (lpPortableLogger) {
179- lpPortableLogger->writeErrorWithLine(
180- HPLString::chrToStr("[%s]の後の分岐条件は無視されました",
181- vecItems[0].c_str()), HPL::LogLevel::LOG_WARN, nLine, strLine, FILE_PATH);
182- }
183- }
205+ MinervaEnemyTalkSetting talkSetting;
206+
207+ bool bIsOK = false;
208+ bool bIsContinue = MinervaEnemyExtraSetting::getTalkSettingFromString(
209+ vecTalks[i], lpPortableLogger, talkSetting, bIsOK);
210+ if (bIsOK) {
211+ lpExtraSetting->m_vecTalkSettings.push_back(talkSetting);
184212 }
185- else if (MAX_ITEMS >= 3) {
186- MinervaEnemyTalkSetting talkSetting;
187- // quest id
188- talkSetting.m_nQuestInnerID = atoi(vecItems[0].c_str());
189- // mission index
190- talkSetting.m_nMissionInnerID = atoi(vecItems[1].c_str());
191- // event id to start
192- talkSetting.m_nEventID = atoi(vecItems[2].c_str());
193- // add
194- lpExtraSetting->addTalkSetting(talkSetting);
213+ if(!bIsContinue){
214+ // break;
215+ break;
195216 }
196- else {
197- if (lpPortableLogger) {
198- lpPortableLogger->writeErrorWithLine(
199- string("Talkの要素数不足"),
200- HPL::LogLevel::LOG_ERROR,
201- nLine, strLine, FILE_PATH);
202- }
203- }
204217 }
205218 // motion set type
206219 lpExtraSetting->m_nMotionSetType = atoi(vecValues[EnemyExtraLoadItemIndex::MOTION_SET_TYPE].c_str());
--- DXProject/HPLAirscapeLib/src/minerva/MinervaEnemyExtraSetting.h (revision 3224)
+++ DXProject/HPLAirscapeLib/src/minerva/MinervaEnemyExtraSetting.h (revision 3225)
@@ -99,4 +99,11 @@
9999
100100 static bool loadExtraSetting(vector<MinervaEnemyExtraSetting>& vecExtraSettings,
101101 const TCHAR* FILE_PATH, HPLPortableLogger* lpPortableLogger);
102+
103+ /**
104+ * retval false 停止
105+ */
106+ static bool getTalkSettingFromString(tstring& strText,
107+ HPLPortableLogger* lpPortableLogger, MinervaEnemyTalkSetting& talkSetting,
108+ bool& bIsOK);
102109 };
Show on old repository browser