Edytor Walut – Obsługa sakiewki w czasie gry

Witam w kolejnym wpisie poświęconym systemowi walut, będącemu częścią mojej wtyczki InventoryLight.

Niestety, ale troche tygodnia minęło abym mógł dodać wpis – mianowicie dlatego, że mam jakieś problemy z dyskiem na którym jest projekt, ale mniejsza z tym, więc przejdźmy do rzeczy.

W Edytorze stworzyłem 3 waluty ułożone odpowiednio według swojej wartości:

Copper, Silver oraz Gold. 10 „monet” każdej z walut jest równowarta jednej z waluty o większej wartości, a więc 10 Copper = 1 Silver, 10 Silver = 1Gold.

Bardzo istotnymi metodami są metody RemoveCurrency , AddCurency oraz AdjustCurrency.

Dwóch pierwszych metod nie trzeba opisywać, ich nazwy mówią same za siebie, natomiast bardzo ważna jest funkcja AdjustCurrency, wywoływana natychmiast po wywołaniu RemoveCurrency oraz AddCurrency. Ma ona za zadanie sprawdzić, czy gdzieś nie da się przekonwertować walut na taką o większej wartości, lub taką o mniejszej (gdy ta się skończy), ale wtedy i tylko wtedy gdy zmienna AutoConvertable skryptu CurrencyWallet będzie ustawiona na true.

Na czas prac nad systemem w skrypcie Inventory umieściłem chwilowo funkcje odpowiadające za przyrost/spadek najmniejszej waluty oraz funkcje która wydrukuje mi w konsoli aktualny stan portfela uwzględniając te 3 waluty.


if (Input.GetKeyDown(KeyCode.A))
{
wallet.AddCurency(ItemDatabase.CurrencyByName("Copper"), 10);
}
else if (Input.GetKeyDown(KeyCode.S))
{
wallet.RemoveCurrency(ItemDatabase.CurrencyByName("Copper"), 10);
}
else if (Input.GetKeyDown(KeyCode.O))
{
print(wallet.ByNameCurrencyData("Gold").Amount.ToString() + " gold " + wallet.ByNameCurrencyData("Silver").Amount.ToString() + " silver" + wallet.ByNameCurrencyData("Copper").Amount.ToString() + " copper");
}

Jak pokazuje poniższy Screen konsola raczej nie kłamie, jedyna rzecz do dopracowania to odejmowanie waluty. Jeszcze nie mam pomysłu jak to zrobić, ale postaram się na jutro przygotować kolejny z obowiązkowych 2 postów na tydzień.

Bez tytułu

Reklamy

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s