def __init__(self, name, zoneRadii, questStep):
        zoneRadii += [
            1000000]
        NodePath.__init__(self, name)
        FSM.__init__(self, '%sFSM' % name)
        ZoneLOD.__init__(self, self._QuestIndicatorNode__uniqueName, zoneRadii)
        self.questStep = questStep
        self.pendingOriginObj = None
        self.muted = False
        self.farEffect = None
        self.wantBottomEffect = True
        self.minimapObject = None
        self.minimap = None
        
        def originObjHere(originObj):
            self.pendingOriginObj = None
            self.setZoneRadii(zoneRadii)
            self.placeInWorld()

        self._selfRefreshTask = None
        self._refreshTargetInfo = None
        if self.questStep.getOriginDoId():
            self.pendingOriginObj = base.cr.relatedObjectMgr.requestObjects([
                self.questStep.getOriginDoId()], eachCallback = originObjHere)
        else:
            originObjHere(None)
 def delete(self):
     if self.minimapObject:
         self.minimapObject.removeFromMap()
         self.minimapObject = None
     
     self.stopTargetRefresh()
     if self.pendingOriginObj:
         base.cr.relatedObjectMgr.abortRequest(self.pendingOriginObj)
         self.pendingOriginObj = None
     
     self._QuestIndicatorNode__cleanup()
     ZoneLOD.delete(self)
     self.remove()
     self.minimapObject = None
     self.minimap = None
     self.questStep = None
     if self.farEffect:
         self.farEffect.stopLoop()
         self.farEffect.destroy()
     
     self.farEffect = None
 def __cleanup(self):
     ZoneLOD.cleanup(self)
     FSM.cleanup(self)