protected virtual void PrepareProtoStaticWorldObject() { var tileRequirements = ConstructionTileRequirements.DefaultForStaticObjects.Clone(); this.PrepareTileRequirements(tileRequirements); this.tileRequirements = tileRequirements; }
protected sealed override void PrepareProtoItem() { base.PrepareProtoItem(); var allowedToPlaceAt = new List <IProtoObjectFarm>(); this.PrepareProtoItemSeed(out var plantProto, allowedToPlaceAt); this.ObjectPlantProto = plantProto; this.AllowedToPlaceAtFarmObjects = allowedToPlaceAt.Distinct().ToList(); this.tileRequirementsPlantPlacement = this.PrepareTileRequirements() ?? throw new Exception("No tile requirements provided"); }