Example #1
0
    private IEnumerator Spawning_Co()
    {
        while (BattleManagerScript.Instance.CurrentBattleState != BattleState.Battle)
        {
            yield return(new WaitForEndOfFrame());
        }

        while (!CoStopper)
        {
            float timer = 0;

            float spawningTime = Random.Range(SpawningTimeRange.x, SpawningTimeRange.y);

            while (timer <= spawningTime)
            {
                while (spawningCoPaused)
                {
                    yield return(null);
                }
                yield return(BattleManagerScript.Instance.PauseUntil());

                timer += Time.fixedDeltaTime;
            }

            ScriptableObjectItemPowerUps nextItemPowerUp = SOItemsPowerUps[Random.Range(0, SOItemsPowerUps.Count)];
            ItemsPowerUPsInfoScript      item            = SpawnedItems.Where(r => !r.gameObject.activeInHierarchy).FirstOrDefault();
            if (item == null)
            {
                item = Instantiate(ItemGO, transform).GetComponent <ItemsPowerUPsInfoScript>();
                SpawnedItems.Add(item);
            }
            item.gameObject.SetActive(true);
            item.SetItemPowerUp(nextItemPowerUp, GridManagerScript.Instance.GetFreeBattleTile(WalkingSideType.LeftSide).transform.position);
        }
    }
Example #2
0
    public void SpawnPowerUpAtGridPos(ScriptableObjectItemPowerUps powerUp, Vector2Int pos)
    {
        ItemsPowerUPsInfoScript item = SpawnedItems.Where(r => !r.gameObject.activeInHierarchy).FirstOrDefault();

        if (item == null)
        {
            item = Instantiate(ItemGO, transform).GetComponent <ItemsPowerUPsInfoScript>();
            SpawnedItems.Add(item);
        }
        item.gameObject.SetActive(true);
        item.SetItemPowerUp(powerUp, GridManagerScript.Instance.GetBattleTile(pos).transform.position);
    }
Example #3
0
    public void SetItemPowerUp(ScriptableObjectItemPowerUps itemPowerUpInfo, Vector3 pos)
    {
        ItemPowerUpInfo    = itemPowerUpInfo;
        Icon.sprite        = itemPowerUpInfo.Icon;
        transform.position = pos;
        if (DurationOnBattleFieldCo != null)
        {
            StopCoroutine(DurationOnBattleFieldCo);
        }

        DurationOnBattleFieldCo = DurationOnBattleField_Co();
        StartCoroutine(DurationOnBattleFieldCo);
        Anim.SetBool("FadeInOut", true);
    }
Example #4
0
 public void SpawnPowerUpAtRandomPointOnSide(ScriptableObjectItemPowerUps powerUp, WalkingSideType side)
 {
     SpawnPowerUpAtGridPos(powerUp, GridManagerScript.Instance.GetFreeBattleTile(side).Pos);
 }