Crafting System – Plany

Witam w kolejnym wpisie poświęconemu rozszerzeniu do Unity dającemu możliwość tworzenia i edytowania ekwipunków i podobnych im kontenerów na przedmioty.

W tym tygodniu zdążyłem wymyślić już jak mój system będzie rozumował te plany już w UI, jeszcze w tym tygodniu postaram się to pokazać.

Stworzyłem dwie nowe klasy: InputSlot oraz OutputSlot. Z języka angielskiego Input – „Wejście”, Output – „Wyjście”. Czyli po prostu do InputSlotów będziemy wkładać, a z OutputSlota będziemy wyciągać. Układ InputSlotów stworzy mi siatkę 3×3, a więc 9 slotów. Układ z BluePrinta będzie mi przyporządkowywał dokładnie jeden przedmiotu BluePrintu z bazy. W przyszłości powstanie skompletowany komponent o nazwie CraftingManager, będzie to swego rodzaju „Nadzorca” całego procesu. Mógłbym napisać metodę Update która co klatke będzie mi to sprawdzać, lecz uznałem to za głupie.

Rozsądniejszym rozwiązaniem będzie „zawołanie” tego menedżera gdy dojdzie do dodania nowego przedmiotu, lub któregoś ubędzie.

InputSlot.cs

public class InputSlot : MonoBehaviour,IDropHandler
{
public ItemData data;
CraftingManager cm;

void Start()
{
cm = transform.parent.parent.GetComponent<CraftingManager>();
}

public void OnDrop(PointerEventData eventData)
{
if (data == null)
{
ItemData droppedItemData = eventData.pointerDrag.GetComponent<ItemData>();
droppedItemData.transform.SetParent(transform);
droppedItemData.GetComponent<RectTransform>().anchoredPosition3D = droppedItemData.startPosition;
droppedItemData.startParent = transform;
droppedItemData.inv.ItemList.Remove(droppedItemData);
data = droppedItemData;

cm.Call();
}
}
}

Mniej więcej taka jest struktura rzeczy. Jeszcze nie wiem dokładnie co powinien robić
Output oprócz możności wyjmowania przedmiotu, ale niedługo to doprowadze do porządku.
Do zobaczenia wkrótce 🙂

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