Kilka ostatnich dni pozwoliło mi na wprowadzenie sporej ilości zmian w generatorze. Problematyczne stało się to, że rozgrzebałem jednocześnie kilka funkcjonalności i żadna nie działa tak jak powinna, a ja przeskakuję na kolejną i tu trochę kodu wrzucę, tam dodam trzy linijki... Przy takim trybie pisania ciężko kończy się jakikolwiek projekt. Postaram się poniżej opisać co dodałem i może takie podsumowanie pozwoli mi na spojrzenie z góry na projekt i dokończenie po kolei rozgrzebanych elementów.
Dwie profesje
Dodałem możliwość wybrania dwóch profesji do generowanej postaci oraz uwzględnieniu w nich poziomów zaawansowania. Spora zmiana na plus względem poprzedniego podejścia do tego tematu. Teraz wiem skąd wynikają wartości składające się na cechy oraz raczej nie ma w tym błędów (tak mi się przynajmniej wydaje) Stworzenie opisanej wcześniej meta-profesji z dwóch było dobrym kierunkiem.
| Postać dwu profesyjna z uwzględnionymi w cechach poziomami per profesja |
| Na zakładce statystyk widać skąd wynika suma. Tu Żywotność dla poziomów 1-3 została powiększona o większą wartość wynikającą z profesji Wojownika a poziomy 4-5 już z Kupca |
| I tu pierwsza (grubsza) niedoróbka, Na zakładce z odpornościami można dodać bonus wnikający z poziomów ale tylko do.... odporności psychicznej |
| Plus jest taki że przynajmniej dobrze się liczy. Musze dodać jakichś... checkbox czy coś wskazujący, w którą bazową pompujesz rzuty. |
Zakładka Broni
Dodałem dwie nowe zakładki do generatora, w których będzie można dopełnić definicje postaci. Pierwsza z nich to zakładka broni.
| Rzeczona zakładka |
Wybór będzie standardowy - dobieramy grupę broni, dobieramy broń i losujemy biegłość. Na razie pracuję nad tym, aby w ogóle działała poprawnie, a postać prawidłowo się aktualizowała.
| Wybór grup broni |
| Wybór broni noszonej przez postać |
| I efekt wyboru broni do postaci. Jak widać prace nad nim trwają. |
| Bez kłopotu można dobrać wiele broni. |
W tej zakładce kryje się multum logiki i do tej pory pokryłem niewielką jej część. Podstawowe problemy to oznaczenie, że broń jest preferowana w kontekście wybranej rasy i później zawodu (vide profesja Kowal i jego bonus do młotów) . Generator musi też wiedzieć jakie grupy broni wylosowano żeby per wybór np. różnych mieczy nie losował biegłości wielokrotnie, podobnie z poziomem biegłości, oburęcznością itp. itd. Znawcy zasad KC-tów wiedzą, że to ciężki kawałek charakterystyki postaci. Później trzeba do tego dodać cechy postaci, przeliczyć możliwe obrażenia (możliwe 6! rodzajów - ponieważ broń może być do walki wręcz i zasięgowa). W skrócie multum kodu. Na koniec trzeba to wyświetlić na podsumowaniu postaci w kc-towym szablonie.
Zakładka Zbroje
Tutaj na szczęście nie będzie jakichś cudów. Jest o wiele prostsza niż to co jest w zakładce broni. Wybór elementu i wrzucenie do cech w postać. Praca jest zaledwie rozgrzebana do poziomu wczytania listy pancerzy i tarcz na ekran.
| Wybór pancerza |
| I sam efekt rozwinięcia listy. Jak łatwo zauważyć sama lista rozwijalna ma pewne niedoróbki. |
| I tyle można zrobić, wybrane elementy nigdzie nie są uwzględniane. |
Podsumowując
Zostało jeszcze sporo od napisania. Z samego c# i godota zaczęły przychodzić mi z pomocą EventHandlery ponieważ zwykłe przenoszenie do głównego kontrolera informacji o zmianach na zakładce broni jest tak rozbudowane, że w przypadku próby zbudowania tego przez zwyczajne przenoszenie danych między klasami doprowadziłoby do powstania kilkudziesięciu metod mających tylko za zadanie przerzucania stanu.
Stąd też powstała klasa-singleton trzymająca definicje sygnałów (powoli skłaniam się do podzielenia jej per zakładka oraz per główne akcje na ekranie).
I zwykła obsługa emisji sygnałów przez Emit
i przechwytywania przez Connect i obsługa Callable
p.s.
Jak już tu dotarłeś.... Czyta ktoś czyta co tu piszę? Wrzuć komentarz będzie mi przyjemniej:)
Brak komentarzy:
Prześlij komentarz
Tu możesz wstawić swój komentarz