Wstęp do Handlu w IL

Witam w kolejnym, jednym z ostatnich wpisów na tym blogu.
Postaram się pociągnąć Blog jeszcze trochę, pomimo to że wiele osób już zaprzestało. Chciałbym dokończyć tu handel w InventoryLight i dopiero wtedy ewentualnie zakończyć, ponieważ wtedy dopiero moim zdaniem praca nad tym rozszerzeniem będzie zakończona.

Przechodząc do sedna, zastanawiałem się nad tym jakby zaprojektować handel w IL w jak najprostszy sposób,a jednocześnie taki który by umożliwił projektowanie okien handlu bez programowania, samym projektowaniem UI i dodawaniem gotowych komponentów.

Niestety nie przyszło do mnie nic innego jak zaprojektowanie większej ilości skryptów robiących najważniejsze zadania (edycja dostępnych towarów ,ustanawianie cen oraz konfiguracja ewentualnych przycisków) i pozwolenie użytkownikowi użyć ich tak jak chce.

Póki co stworzyłem podstawową klasę WareData, która składuje ID towaru, cenę oraz walutę w której zapisana jest cena.

WareData.cs


[Serializable]
public class WareData
{
public int WareID { get; set; }
public int Price { get; set; }
public string CurrencyName { get; set; }

public WareData()
{
CurrencyName = string.Empty;
Price = 0;
WareID = 0;
}
}

Zauważcie, że jest ona opatrzona atrybutem System.Serializable, co jest konieczne jeśli chcemy, by Edytor Unity mógł ją przetwarzać dla nas.

To właśnie prowadzi do utworzenia głównego skryptu jakim jest UITrader, będzie on zarządzał całym oknem handlu, oraz jego pod-komponentami.

Póki jest w fazie projektowania nie ma sensu wklejać tu jego całego kodu, poza tymczasowymi polami jakimi będzie dysponował:

[SerializeField]
Transform UIPrefab ; //Okno Handlu

[SerializeField]
Vector3 StartPosition; //Pozycja startowa

public ItemDatabase database; //Baza danych
[SerializeField]
[HideInInspector]
public List<WareData> Wares = new List<WareData>(); //Lista towarów z cenami

Nowością będzie natomiast to, co miałem w zamiarze dodania na samym początku projektu, ale zdecydowałem się wtedy na Okna Edytora. Dla skryptu UITrader postanowiłem stworzyć CustomEditor. Pozwala mi on na zmianę wyglądu Inspektora dla skryptu bez naruszania jego działania w grze. Ważnym natomiast jest by każdy taki skrypt Edytora znajdował się w folderze o nazwie Editor.

W tym wpisie to już wszystko, w następnym postaram się trochę bardziej rozwinąć UI Trader, oraz wymyślić kolejne komponenty, które warto by było pod niego podpiąć.

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