ownerprimer.py (1170B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\parklife\ownerprimer.py 2 import uthread 3 from carbon.common.script.sys.service import Service 4 5 class OwnerPrimer(Service): 6 __guid__ = 'svc.ownerprimer' 7 __notifyevents__ = ['DoBallsAdded'] 8 9 def Run(self, *etc): 10 Service.Run(self, *etc) 11 sm.FavourMe(self.DoBallsAdded) 12 self.waitingowners = {} 13 14 def DoBallsAdded(self, *args, **kw): 15 import stackless 16 import blue 17 t = stackless.getcurrent() 18 timer = t.PushTimer(blue.pyos.taskletTimer.GetCurrent() + '::ownerprimer') 19 try: 20 return self.DoBallsAdded_(*args, **kw) 21 finally: 22 t.PopTimer(timer) 23 24 def DoBallsAdded_(self, entries): 25 if len(entries) < 2: 26 return 27 uthread.new(self.DoBallsAdded_thread, entries).context = 'ownerprimer::DoBallsAdded' 28 29 def DoBallsAdded_thread(self, entries): 30 tmp = {} 31 for ball, slimItem in entries: 32 if slimItem is not None and slimItem.ownerID is not None: 33 tmp[slimItem.ownerID] = None 34 35 cfg.eveowners.Prime(tmp.keys())