Files
butchers-games-test/Assets/Scripts/Game/Level/RandomSpawnItems.cs
T
Boris Nikolaev 5f1e94b653 add project files
2026-08-14 01:58:31 +03:00

45 lines
1.1 KiB
C#

using System.Collections.Generic;
using UnityEngine;
public class RandomSpawnItems : MonoBehaviour
{
public PickUpItem prefabPositifItem;
public PickUpItem prefabNegatifItem;
public Vector2 minMaxItem;
public int positifItemPrct;
private List<Transform> _listSpawn;
private void Awake()
{
_listSpawn = new List<Transform>(GetComponentsInChildren<Transform>());
_listSpawn.Remove(base.transform);
int total = (int)UnityEngine.Random.Range(minMaxItem.x, minMaxItem.y);
int positif = (int)((float)total * (float)positifItemPrct / 100f);
CreateItems(positif, prefabPositifItem);
CreateItems(total - positif, prefabNegatifItem);
}
private void CreateItems(int nbr, PickUpItem prefab)
{
for (int i = 0; i < nbr; i++)
{
if (_listSpawn.Count < 1)
{
break;
}
int idx = UnityEngine.Random.Range(0, _listSpawn.Count);
PickUpItem item = UnityEngine.Object.Instantiate(prefab, _listSpawn[idx]);
if (item != null)
{
item.gameObject.name = prefab.name + i;
item.specialPickupEnd = true;
}
_listSpawn.RemoveAt(idx);
}
}
}