add game&rawdata
This commit is contained in:
parent
0133cd976c
commit
49b34b5546
45731 changed files with 709831 additions and 0 deletions
73
gamedata/scripts/actor_proxy.script
Normal file
73
gamedata/scripts/actor_proxy.script
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
--[[------------------------------------------------------------------------------------------------------------------
|
||||
Êëàññ "actor_proxy". Îáåñïå÷èâàåò ïîääåðæêó àêò¸ðà, äàæå åñëè îí â îôëàéíå.
|
||||
×óãàé Àëåêñàäð
|
||||
--------------------------------------------------------------------------------------------------------------------]]
|
||||
class "actor_proxy"
|
||||
|
||||
-- êîíñòðóêòîð
|
||||
function actor_proxy:__init()
|
||||
self.initialized = false
|
||||
end
|
||||
|
||||
-- èíèöèàëèçàöèÿ.
|
||||
-- ïðîèñõîäèò òîëüêî â ìîìåíò ïåðâîãî ïîñëå ñòàðòà ñèìóëÿòîðà îáðàùåíèÿ.
|
||||
function actor_proxy:init()
|
||||
if not self.initialized then
|
||||
-- printf( "actor_proxy: init" )
|
||||
self.online = false
|
||||
self.alife = alife()
|
||||
if self.alife then
|
||||
self.actor_id = self.alife:actor().id
|
||||
end
|
||||
self.actor = nil
|
||||
self.initialized = true
|
||||
end
|
||||
end
|
||||
|
||||
-- äåèíèöèàëèçàöèÿ.
|
||||
-- ïðîèñõîäèò â ìîìåíò äåðåãèñòðàöèè ñåðâåðíûõ îáúåêòîâ.
|
||||
-- âûçûâàåòñÿ èç se_smart_terrain:on_unregister() TODO remove this hack
|
||||
function actor_proxy:deinit()
|
||||
if self.initialized then
|
||||
-- printf( "actor_proxy: deinit" )
|
||||
self.alife = nil
|
||||
self.actor = nil
|
||||
self.initialized = false
|
||||
end
|
||||
end
|
||||
|
||||
-- Ïîëó÷åíèå ID èãðîêà
|
||||
function actor_proxy:id()
|
||||
self:init()
|
||||
return self.actor_id
|
||||
end
|
||||
|
||||
function actor_proxy:has_info( name )
|
||||
self:init()
|
||||
has_alife_info(name)
|
||||
end
|
||||
|
||||
function actor_proxy:dont_has_info( name )
|
||||
self:init()
|
||||
if self.online then
|
||||
-- printf( "actor_proxy: dont_has_info online: info=%s", name )
|
||||
return not has_alife_info( name )
|
||||
else
|
||||
-- printf( "actor_proxy: dont_has_info offline: info=%s", name )
|
||||
return not has_alife_info( self.actor_id, name )
|
||||
end
|
||||
end
|
||||
|
||||
-- ðîæäåíèå àêò¸ðà â îíëàéí
|
||||
function actor_proxy:net_spawn( obj )
|
||||
self:init()
|
||||
self.online = true
|
||||
self.actor = obj
|
||||
end
|
||||
|
||||
-- óõîä àêò¸ðà èç îíëàéíà
|
||||
function actor_proxy:net_destroy()
|
||||
self:init()
|
||||
self.online = false
|
||||
self.actor = nil
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue