Механика заключается в том чтобы при нажатии кнопки вызывается функция для выпадения префабов, проблема заключается в том что лут спавнит только один сундук при нажатии на совсем другой. спавнит лут последняя копия сундука
Синтаксис:
Используется csharp
public GameObject[] DropItems;
//public Animation OpenChest;
private int ItemMasiveLenght;
public bool Opened;// сундук открыт?
public float DebugFloat = 1;
void Start ()
{
Debug.Log("Размер массива " + DropItems.Length);
ItemMasiveLenght = DropItems.Length;
Opened = false;//сундук закрыт !
}
public void OpenLootChest()
{
int ItemNumber = -1;//номер объекта для спавна из массива
float ItemSpawnPos = 0f;// поз для спавна предметов шобы не стакались
if (Opened == false)// если сундук закрыт
{
//OpenChest.CrossFade("OpenChest");
//Opened = true;// сундук был открыт
var p = transform.position;
for (int i = ItemMasiveLenght; i > 0; i--)
{
ItemNumber += 1;
ItemSpawnPos += 0.4f;
Debug.Log(ItemNumber);
Debug.Log("тупа лутаем чест");//должно стакнуться 3 раза
var go = Instantiate(DropItems[ItemNumber], new Vector3(p.x + ItemSpawnPos, p.y + DebugFloat, p.z + DebugFloat), Quaternion.identity);
go.GetComponent<DropedItem>().SpawnItem();//вызов функции где придаем ускорение
}
}
}
//public Animation OpenChest;
private int ItemMasiveLenght;
public bool Opened;// сундук открыт?
public float DebugFloat = 1;
void Start ()
{
Debug.Log("Размер массива " + DropItems.Length);
ItemMasiveLenght = DropItems.Length;
Opened = false;//сундук закрыт !
}
public void OpenLootChest()
{
int ItemNumber = -1;//номер объекта для спавна из массива
float ItemSpawnPos = 0f;// поз для спавна предметов шобы не стакались
if (Opened == false)// если сундук закрыт
{
//OpenChest.CrossFade("OpenChest");
//Opened = true;// сундук был открыт
var p = transform.position;
for (int i = ItemMasiveLenght; i > 0; i--)
{
ItemNumber += 1;
ItemSpawnPos += 0.4f;
Debug.Log(ItemNumber);
Debug.Log("тупа лутаем чест");//должно стакнуться 3 раза
var go = Instantiate(DropItems[ItemNumber], new Vector3(p.x + ItemSpawnPos, p.y + DebugFloat, p.z + DebugFloat), Quaternion.identity);
go.GetComponent<DropedItem>().SpawnItem();//вызов функции где придаем ускорение
}
}
}
скрины:
https://drive.google.com/file/d/1VvTpPz ... sp=sharing
https://drive.google.com/file/d/1WQvGgk ... sp=sharing
https://drive.google.com/file/d/198pqDp ... sp=sharing