#include "fiko/gsd/gsd_feature.hpp" #include "fiko/gsd/gsd_sistemi.hpp" #include "fiko/sahne/sahne.hpp" namespace fiko::gsd { OzellikSeti GsdFeature::ozellikler(Dunya& dunya) { (void)dunya; OzellikSeti oz; oz.push_back(Ozellik::metin( "Tür", [this] { return tip_; }, [](const std::string&) {})); return oz; } void GsdFeature::hesapla(Dunya& dunya, OlayGunlugu& gunluk) { (void)dunya; (void)gunluk; sistem_->yenidenInsa(*this); } // ---- Gorunum: gorunurluk sahne dugumu uzerinden okunur/yazilir ---- namespace { Dugum* sonucDugumu(GsdSistemi* s, Varlik kimlik) { auto* f = s->bul(kimlik); if (!f || !f->sonucDugum()) return nullptr; return s->sahne().bul(f->sonucDugum()); } } // namespace bool GsdGorunum::gorunur() const { const Dugum* d = sonucDugumu(sistem_, kimlik_); return d ? d->gorunur : true; } void GsdGorunum::gorunurAyarla(bool g) { if (Dugum* d = sonucDugumu(sistem_, kimlik_)) d->gorunur = g; } Durum GsdGorunum::agacDurum() const { GsdFeature* f = sistem_ ? sistem_->bul(kimlik_) : nullptr; return (f && !f->hata().empty()) ? Durum::Hata : Durum::Normal; } } // namespace fiko::gsd