示例#1
0
 public GpsPower(Actor self, GpsPowerInfo info)
     : base(self, info)
 {
     this.self = self;
     this.info = info;
     owner     = self.Owner.PlayerActor.Trait <GpsWatcher>();
     owner.GpsAdd(self);
 }
示例#2
0
 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);
     }
 }
示例#3
0
 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);
     }
 }
示例#4
0
 void INotifyOwnerChanged.OnOwnerChanged(Actor self, Player oldOwner, Player newOwner)
 {
     RemoveGps(self);
     owner = newOwner.PlayerActor.Trait <GpsWatcher>();
     owner.GpsAdd(self);
 }