public DrFindAndDeliverResources(Actor self, Actor deliverActor = null)
 {
     harv              = self.Trait <Freighter>();
     harvInfo          = self.Info.TraitInfo <FreighterInfo>();
     mobile            = self.Trait <Mobile>();
     claimLayer        = self.World.WorldActor.Trait <ResourceClaimLayer>();
     pathFinder        = self.World.WorldActor.Trait <IPathFinder>();
     domainIndex       = self.World.WorldActor.Trait <DomainIndex>();
     this.deliverActor = deliverActor;
 }
        public DrHarvestResource(Actor self, CPos targetCell)
        {
            harv       = self.Trait <Freighter>();
            harvInfo   = self.Info.TraitInfo <FreighterInfo>();
            facing     = self.Trait <IFacing>();
            body       = self.Trait <BodyOrientation>();
            move       = self.Trait <IMove>();
            claimLayer = self.World.WorldActor.Trait <ResourceClaimLayer>();

            this.targetCell        = targetCell;
            notifyHarvesterActions = self.TraitsImplementing <INotifyFreighterAction>().ToArray();
        }