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

--------------------------------------------------------------------------------
-- 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