Пример #1
0
    private IEnumerator MinionDeath_C(float waitTime)
    {
        yield return(new WaitForSeconds(waitTime));

        if (!enemy)
        {
            MinionObject temp = this;
            for (int i = num; i < MinionField.instance.minionNum - 1; i++)
            {
                MinionField.instance.minions[i] = MinionField.instance.minions[i + 1];
            }
            MinionField.instance.minions[MinionField.instance.minionNum - 1] = this;
            MinionField.instance.minionNum--;
        }
        else
        {
            MinionObject temp = this;
            for (int i = num; i < EnemyMinionField.instance.minionNum - 1; i++)
            {
                EnemyMinionField.instance.minions[i] = EnemyMinionField.instance.minions[i + 1];
            }
            EnemyMinionField.instance.minions[EnemyMinionField.instance.minionNum - 1] = this;
            EnemyMinionField.instance.minionNum--;
        }
        MinionManager.instance.DeathMinionAbility(this);
        MinionRemoveProcess();
    }
Пример #2
0
    private IEnumerator GotoHand_EnemyMinion()
    {
        animator.SetTrigger("GoHand");
        DragCardObject.instance.GotoHandEffect(transform.position, minion_name, true);
        while (!animator.GetCurrentAnimatorStateInfo(0).IsName("하수인소환안됨"))
        {
            GameEventManager.instance.EventSet(1f);
            yield return(new WaitForSeconds(0.001f));
        }

        abilityList.Clear();
        buffList.Clear();
        taunt   = false;
        stealth = false;

        MinionObject temp = this;

        for (int i = num; i < EnemyMinionField.instance.minionNum - 1; i++)
        {
            EnemyMinionField.instance.minions[i] = EnemyMinionField.instance.minions[i + 1];
        }
        EnemyMinionField.instance.minions[EnemyMinionField.instance.minionNum - 1] = temp;
        EnemyMinionField.instance.minionNum--;

        if (EnemyCardHand.instance.nowHandNum < 10)
        {
            EnemyCardHand.instance.nowHandNum++;
            EnemyCardHand.instance.nowCard.Add(temp.minion_name);
            EnemyCardHand.instance.CardMove(EnemyCardHand.instance.nowHandNum - 1, transform.position, EnemyCardHand.instance.defaultSize, 180);
            CardViewManager.instance.UpdateCardView();
        }

        yield return(new WaitForSeconds(0.001f));
    }
Пример #3
0
    public void AddMinion(int n, string name, bool cardHandSpawn, int spawnAni = 0)
    {
        if (minionNum == 7)
        {
            return;
        }
        if (cardHandSpawn)
        {
            GameEventManager.instance.EventAdd(2f);
        }

        MinionObject temp = minions[6];

        for (int i = 5; i >= n; i--)
        {
            minions[i + 1] = minions[i];
        }
        minions[n]             = temp;
        minions[n].minion_name = name;
        minions[n].InitTrigger = true;

        minionNum++;

        //새로운 미니언 위치 지정
        float   minX = minionDistance * (minionNum - 1) / 2f;
        Vector3 v    = new Vector3(transform.position.x - minX + minionDistance * n, transform.position.y, minions[n].transform.position.z);

        minions[n].transform.position = v;

        if (cardHandSpawn && spawnAni != 2)
        {
            DragCardObject.instance.ShowDropEffectMinion(Camera.main.WorldToScreenPoint(v), 0);
        }
        else if (cardHandSpawn && spawnAni == 2)
        {
            EffectManager.instance.FireField();
        }
        StartCoroutine(MinionDrop(n, spawnAni, cardHandSpawn));
    }