94 lines
2.6 KiB
Text
94 lines
2.6 KiB
Text
|
|
--' Ñêðèïòîâîå ïîëîæåíèå ó òåëà
|
|
--' ìû óæå íàõîäèìñÿ â íåîáõîäèìîì ñîñòîÿíèè?
|
|
class "eva_state_mgr_animstate" (property_evaluator)
|
|
function eva_state_mgr_animstate:__init(name, st) super (nil, name)
|
|
self.st = st
|
|
end
|
|
function eva_state_mgr_animstate:evaluate()
|
|
return state_lib.states[self.st.target_state].animstate == self.st.animstate.states.current_state
|
|
end
|
|
|
|
--' Çàíÿëè ëè ìû ñåé÷àñ êàêîå òî ñêðèïòîâîå ïîëîæåíèå òåëà
|
|
class "eva_state_mgr_animstate_play_now" (property_evaluator)
|
|
function eva_state_mgr_animstate_play_now:__init(name, st) super (nil, name)
|
|
self.st = st
|
|
end
|
|
function eva_state_mgr_animstate_play_now:evaluate()
|
|
return self.st.animstate.states.current_state ~= nil
|
|
end
|
|
|
|
--' Ìû íå íàõîäèìñÿ íè â êàêîì ñêðèïòîâîì ïîëîæåíèè òåëà
|
|
class "eva_state_mgr_animstate_idle_now" (property_evaluator)
|
|
function eva_state_mgr_animstate_idle_now:__init(name, st) super (nil, name)
|
|
self.st = st
|
|
end
|
|
function eva_state_mgr_animstate_idle_now:evaluate()
|
|
return self.st.animstate.states.current_state == nil
|
|
end
|
|
|
|
|
|
--' Ìû íà÷àëè îòûãðûâàòü àíèìàöèþ è æäåì êîëëáåêà îò íåå
|
|
class "eva_state_mgr_animstate_locked" (property_evaluator)
|
|
function eva_state_mgr_animstate_locked:__init(name, st) super (nil, name)
|
|
self.st = st
|
|
end
|
|
function eva_state_mgr_animstate_locked:evaluate()
|
|
-- if self.st.fast_set == true then
|
|
-- return false
|
|
-- end
|
|
|
|
return self.st.animstate.states.anim_marker ~= nil and self.st.animstate.states.anim_marker ~= 3 -- MARKER_IDLE
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--' Èãðàåì âõîäíóþ àíèìàöèþ
|
|
class "act_state_mgr_animstate_start" (action_base)
|
|
function act_state_mgr_animstate_start:__init(name, st) super (nil, name)
|
|
self.st = st
|
|
end
|
|
function act_state_mgr_animstate_start:initialize()
|
|
action_base.initialize(self)
|
|
|
|
self.st.animstate:set_state(state_lib.states[self.st.target_state].animstate)
|
|
self.st.animstate:set_control()
|
|
end
|
|
function act_state_mgr_animstate_start:execute()
|
|
action_base.execute(self)
|
|
end
|
|
function act_state_mgr_animstate_start:finalize()
|
|
action_base.finalize(self)
|
|
end
|
|
|
|
|
|
--' Èãðàåì âûõîäíóþ àíèìàöèþ
|
|
class "act_state_mgr_animstate_stop" (action_base)
|
|
function act_state_mgr_animstate_stop:__init(name, st) super (nil, name)
|
|
self.st = st
|
|
end
|
|
function act_state_mgr_animstate_stop:initialize()
|
|
action_base.initialize(self)
|
|
|
|
self.st.animstate:set_state(nil, self.st.fast_set or state_lib.states[self.st.target_state].fast_set)
|
|
self.st.animstate:set_control()
|
|
end
|
|
function act_state_mgr_animstate_stop:execute()
|
|
action_base.execute(self)
|
|
end
|
|
function act_state_mgr_animstate_stop:finalize()
|
|
action_base.finalize(self)
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|