Mam bibliotekę C++, która ma funkcjonalność wystawioną na działanie Lua, i szukam opinii na temat najlepszych sposobów na uporządkowanie mojego kodu lua.Jakiej strategii należy użyć przy eksponowaniu C++ do Lua
Biblioteka to silnik gry z opartym na komponentach systemem Game Object. Chcę móc napisać niektóre z tych komponentów jako klasy w Lua. Używam LuaBind, więc mogę to zrobić, ale muszę dokonać pewnych wyborów dotyczących implementacji i chciałbym wiedzieć, jak to zrobili inni.
Czy powinienem mieć tylko jeden globalny status lua_State, jeden na obiekt, jeden na scenę itp.? To brzmi jak dużo pamięci na górze, ale zachowa wszystko ładnie i osobno.
Czy powinienem mieć jedną tabelę GLOBALS lub jedną na obiekt, który można umieścić przed wywołaniem połączenia z członkiem? To wydaje się minimalizować szanse niektórych klas decydujących się na używanie globaliów, a inne przypadkowo je nadpisywać, przy mniejszym obciążeniu pamięci niż posiadanie wielu lua_States.
Czy powinienem po prostu zakuć wszystko w jeden globalny stół?
Kolejne pytanie dotyczy kodu lua. Występują dwie strategie ... Najpierw popychanie wszystkich definicji klas w jednym miejscu, ładowanie ich po uruchomieniu aplikacji, Po drugie umieszczenie jednej definicji klasy dla jednego pliku i po prostu upewnienie się, że plik jest ładowany, gdy trzeba go wystawić.
Doceniam czyjeś myśli na ten temat, dziękuję.
Dobra wskazówka (+1), choć wątek logiki gry nie jest czymś, co właśnie rozważam. – DaedalusFall