public GpsPower(Actor self, GpsPowerInfo info) : base(self, info) { this.self = self; this.info = info; owner = self.Owner.PlayerActor.Trait <GpsWatcher>(); owner.GpsAdd(self); }
void ITick.Tick(Actor self) { if (!wasPaused && (IsTraitPaused || (info.RequiresActiveRadar && NoActiveRadar))) { wasPaused = true; RemoveGps(self); } else if (wasPaused && !IsTraitPaused && !(info.RequiresActiveRadar && NoActiveRadar)) { wasPaused = false; owner.GpsAdd(self); } }
void ITick.Tick(Actor self) { if (!wasDisabled && (self.IsDisabled() || (info.RequiresActiveRadar && NoActiveRadar))) { wasDisabled = true; RemoveGps(self); } else if (wasDisabled && !self.IsDisabled() && !(info.RequiresActiveRadar && NoActiveRadar)) { wasDisabled = false; owner.GpsAdd(self); } }
void INotifyOwnerChanged.OnOwnerChanged(Actor self, Player oldOwner, Player newOwner) { RemoveGps(self); owner = newOwner.PlayerActor.Trait <GpsWatcher>(); owner.GpsAdd(self); }