public bool Reserve(Actor self, Garrisonable garrison) { if (garrison == ReservedGarrison) { return(true); } Unreserve(self); if (!garrison.ReserveSpace(self)) { return(false); } ReservedGarrison = garrison; return(true); }
public ChangeOwnerOnGarrisoner(Actor self, ChangeOwnerOnGarrisonerInfo info) { this.info = info; garrison = self.Trait <Garrisonable>(); originalOwner = self.Owner; }
bool CanEnter(Garrisonable garrison) { return(garrison != null && garrison.HasSpace(Info.Weight) && !garrison.IsTraitPaused && !garrison.IsTraitDisabled); }