/** * Spawn armor potions in the area */ private void SpawnArmorPotions() { FunctionPeriodic.Create( () => { if (IngestibleManager.IngestibleCount <ArmorPotion>() < _ARMOR_POTION_MAX_SPAWNS) { Vector3 armorPotionWorldPosition = new Vector3( Random.Range(-_MAX_RADIUS, _MAX_RADIUS), AssetManager.Get_Prefab_ArmorPotion().transform.localScale.y / 2 + AssetManager.GetTerrain().localScale.y, Random.Range(-_MAX_RADIUS, _MAX_RADIUS) ); ArmorPotion armorPotion = Instantiate( AssetManager.Get_Prefab_ArmorPotion(), armorPotionWorldPosition, Quaternion.identity ); IngestibleManager.AddIngestible(armorPotion); } }, "SpawnArmorPotions", 0f, 0f, () => { if (IngestibleManager.IngestibleCount <ArmorPotion>() >= _ARMOR_POTION_MAX_SPAWNS) { Destroy(GameObject.Find("SpawnArmorPotions")); } } ); }
private void Awake() { _instance = this; _instance._ingestibles = new List <Ingestible>(); }