add project files
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user