def updateState(self): self.b_setPosHpr(self.targetRadius * math.cos(self.angle) + self.centerPoint[0], self.targetRadius * math.sin(self.angle) + self.centerPoint[1], self.centerPoint[2], 0, 0, 0) self.angle = random.randrange(359) self.targetRadius = random.uniform(FishingTargetGlobals.getTargetRadius(self.air.doId2do[self.pondId].getArea()), 0) self.time = random.uniform(10.0, 5.0) self.sendUpdate('setState', [0, self.angle, self.targetRadius, self.time, globalClockDelta.getRealNetworkTime()]) taskMgr.doMethodLater(self.time + random.uniform(5, 2.5), DistributedFishingTargetAI.updateState, 'updateFishingTarget%d' % self.doId, [self])
def updateState(self): self.b_setPosHpr( self.targetRadius * math.cos(self.angle) + self.centerPoint[0], self.targetRadius * math.sin(self.angle) + self.centerPoint[1], self.centerPoint[2], 0, 0, 0) self.angle = random.randrange(359) self.targetRadius = random.uniform( FishingTargetGlobals.getTargetRadius( self.air.doId2do[self.pondId].getArea()), 0) self.time = random.uniform(10.0, 5.0) self.sendUpdate('setState', [ 0, self.angle, self.targetRadius, self.time, globalClockDelta.getRealNetworkTime() ]) taskMgr.doMethodLater(self.time + random.uniform(5, 2.5), DistributedFishingTargetAI.updateState, 'updateFishingTarget%d' % self.doId, [self])
def __updateState(self, task=None): self.b_setPosHpr( self.radius * math.cos(self.angle) + self.centerPoint[0], self.radius * math.sin(self.angle) + self.centerPoint[1], self.centerPoint[2], 0, 0, 0) angle = random.randrange(359) pond = self.air.doId2do.get(self.pondDoId) if not pond: return area = pond.getArea() radius = random.uniform(FishingTargetGlobals.getTargetRadius(area), 0) time = random.uniform(10.0, 5.0) self.b_setState(0, angle, radius, time, globalClockDelta.getRealNetworkTime()) taskMgr.doMethodLater(time + random.uniform(5, 2.5), self.__updateState, 'update-fishing-target-%d' % self.doId) if task: return task.done
def setPond(self, pond): self.pond = pond self.pond.addTarget(self) self.centerPoint = FishingTargetGlobals.getTargetCenter(self.pond.getArea()) self.maxRadius = FishingTargetGlobals.getTargetRadius(self.pond.getArea())