You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
166 lines
3.0 KiB
166 lines
3.0 KiB
--------------------------------------------------------------------------------
|
|
-- Seiren Castle Sub Functions --
|
|
--------------------------------------------------------------------------------
|
|
|
|
function DummyFunc( Var )
|
|
cExecCheck "DummyFunc"
|
|
end
|
|
|
|
|
|
function GoToNextStep( Var )
|
|
cExecCheck "GoToNextStep"
|
|
|
|
if Var == nil
|
|
then
|
|
ErrorLog( "GoToNextStep::Var == nil" )
|
|
return false
|
|
end
|
|
|
|
|
|
-- StepIndex 가 nil 이면 인던 초기화 설정
|
|
if Var["StepIndex"] == nil and Var["StepFunc"] == nil
|
|
then
|
|
Var["StepIndex"] = "InitDungeon"
|
|
Var["StepFunc"] = ID_StepsList["InitDungeon"]["Function"]
|
|
return true
|
|
end
|
|
|
|
|
|
-- StepIndex 로 설정된 단계 정보 확인
|
|
local StepIndex = Var["StepIndex"]
|
|
if ID_StepsList[ StepIndex ] == nil
|
|
then
|
|
ErrorLog( "GoToNextStep : StepInfo nil : "..StepIndex )
|
|
|
|
Var["StepFunc"] = DummyFunc
|
|
return true
|
|
end
|
|
|
|
|
|
-- 다음 단계가 없으면 다른 조건 확인
|
|
local NextStepIndex = ID_StepsList[ StepIndex ]["NextStep"]
|
|
|
|
if NextStepIndex == nil
|
|
then
|
|
|
|
-- 문 열렸을 때, 단계 진행처리
|
|
local DoorOpenCheckList = Step_DoorOpenCheckList[ StepIndex ]
|
|
|
|
if DoorOpenCheckList ~= nil
|
|
then
|
|
for i = 1, #DoorOpenCheckList
|
|
do
|
|
local DoorName = DoorOpenCheckList[ i ]["DoorName"]
|
|
local nDoorHandle = Var["Door"][ DoorName ]
|
|
|
|
if nDoorHandle ~= nil
|
|
then
|
|
if Var["Door"][ nDoorHandle ]["IsOpen"] == true
|
|
then
|
|
NextStepIndex = DoorOpenCheckList[ i ]["NextStep"]
|
|
break
|
|
end
|
|
end
|
|
end
|
|
|
|
-- 열린 문이 없을 경우, 문이 열릴때 까지 현재 단계을 유지 시켜줘야한다.
|
|
if NextStepIndex == nil
|
|
then
|
|
return false
|
|
end
|
|
end
|
|
end
|
|
|
|
|
|
-- 다음 단계 설정
|
|
if NextStepIndex == nil
|
|
then
|
|
Var["StepIndex"] = nil
|
|
Var["StepFunc"] = DummyFunc
|
|
return true
|
|
else
|
|
Var["StepIndex"] = NextStepIndex
|
|
StepIndex = NextStepIndex
|
|
end
|
|
|
|
|
|
-- 다음 단계 정보 확인
|
|
if ID_StepsList[ StepIndex ] == nil
|
|
then
|
|
ErrorLog( "GoToNextStep : StepInfo nil : "..StepIndex )
|
|
|
|
Var["StepFunc"] = DummyFunc
|
|
return true
|
|
end
|
|
|
|
|
|
-- 단계 함수 설정
|
|
if ID_StepsList[ StepIndex ]["Function"] == nil
|
|
then
|
|
Var["StepFunc"] = DummyFunc
|
|
else
|
|
Var["StepFunc"] = ID_StepsList[ StepIndex ]["Function"]
|
|
end
|
|
|
|
return true
|
|
end
|
|
|
|
|
|
function EnemyBufferClear( Var, Handle )
|
|
cExecCheck "EnemyBufferClear"
|
|
|
|
if Var == nil
|
|
then
|
|
ErrorLog( "EnemyBufferClear::Var == nil" )
|
|
return
|
|
end
|
|
|
|
if Var["Enemy"] == nil
|
|
then
|
|
ErrorLog( "EnemyBufferClear::Var[\"Enemy\"] == nil" )
|
|
return
|
|
end
|
|
|
|
if Var["Enemy"][ Handle ] == nil
|
|
then
|
|
ErrorLog( "EnemyBufferClear::Var[\"Enemy\"][Handle] == nil" )
|
|
return
|
|
end
|
|
|
|
|
|
local EnemyIndex = Var["Enemy"][ Handle ]["Index"]
|
|
|
|
if EnemyIndex ~= nil
|
|
then
|
|
Var["Enemy"][ EnemyIndex ] = nil
|
|
end
|
|
|
|
Var["Enemy"][ Handle ] = nil
|
|
end
|
|
|
|
|
|
function DebugLog( String )
|
|
|
|
if String == nil
|
|
then
|
|
cAssertLog( "DebugLog::String == nil" )
|
|
return
|
|
end
|
|
|
|
-- cAssertLog( "Debug - "..String )
|
|
|
|
end
|
|
|
|
|
|
function ErrorLog( String )
|
|
|
|
if String == nil
|
|
then
|
|
cAssertLog( "ErrorLog::String == nil" )
|
|
return
|
|
end
|
|
|
|
cAssertLog( "Error - "..String )
|
|
|
|
end
|
|
|
|
|