Как сделать инвентаризацию с 3 Storage. Например :
если я нажму кнопку хранилища 1, он покажет 20 слотов в инвентаре,
если я нажму кнопку хранилища 2, он покажет от 21 слота до 40 слотов в инвентаре, и
если я нажму кнопку хранилища 3, он покажет от 41 слота до 60 слотов в инвентаре.
так что у него всего 60 слотов.
Ниже мой код:
inventory.cs
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
public class inventory : MonoBehaviour {
public List<GameObject> slotsx = new List<GameObject> ();
public player Player;
public List<item> itemx = new List<item> ();
public GameObject slots;
item itemxs;
public int indexofdragitem;
public Sprite icon;
int sisa;
itemDatabase database;
int totalSlot = 60;
int currentStorage = 1;
int view = 20;
// Use this for initialization
void Start () {
Player = new player();
int slotAmount = 0;
database = GameObject.FindGameObjectWithTag ("itemDatabase").GetComponent<itemDatabase> ();
//Generate the Slot and Slot Name;
for(int i = 1; i <= 60; i++) {
GameObject Slot = (GameObject) Instantiate(slots);
Slot.GetComponent<slotScript>().slotNumber = slotAmount;
slotsx.Add(Slot);
Player.items.Add(new item());
addChilParent (this.gameObject,Slot);
//Slot.transform.parent = this.gameObject.transform;
Slot.name = "slot-" + i;
Slot.SetActive(false);
slotAmount++;
}
ShowStorage1();
}
//Add Slot Child To GridSlot Game Object
public void addChilParent(GameObject parentx, GameObject childx) {
childx.transform.SetParent (parentx.gameObject.transform);
}
}
Спасибо
Код обновления:
public void onClickStorage1() {
HideAllSlot ();
ShowStorage1 ();
}
public void onClickStorage2() {
HideAllSlot ();
ShowStorage2 ();
}
public void onClickStorage3() {
HideAllSlot ();
ShowStorage3 ();
}
public void HideAllSlot () {
GameObject hslot;
for(int i = 1; i <= 60; i++) {
hslot = GameObject.Find("slot-"+i);
hslot.SetActive(false);
}
}
public void ShowStorage1 () {
GameObject hslot;
for(int i = 1; i <= 20; i++) {
hslot = GameObject.Find("slot-"+i).SetActive(true);
hslot.SetActive(true);
}
}
public void ShowStorage2 () {
GameObject hslot;
for(int i = 21; i <= 40; i++) {
hslot = GameObject.Find("slot-"+i);
hslot.SetActive(true);
}
}
public void ShowStorage3 () {
GameObject hslot;
for(int i = 41; i <= 60; i++) {
hslot = GameObject.Find("slot-"+i);
hslot.SetActive(true);
}
}