Exemplo n.º 1
0
    private void EneAtk(int j)
    {
        int i;

        do
        {
            i = Random.Range(0, 3);
        }while(monster[i].GetComponent <S6_Monster_Data>().died);
        Vector2 monpos = monster [i].GetComponent <S6_Monster_Data>().pos;
        Vector2 enepos = enemy [j].GetComponent <S6_Enemy_Data>().pos;

        enemy [j].transform.Translate((monpos - enepos) / 2);
        S6_Monster_Data o  = monster[i].GetComponent <S6_Monster_Data> ();
        S6_Enemy_Data   oo = enemy[j].GetComponent <S6_Enemy_Data> ();

        if (oo.atk - o.def > 0)
        {
            o.currenthp -= (oo.atk - o.def);
            if (o.currenthp <= 0)
            {
                monster [i].SetActive(false);
                monster [i].GetComponent <S6_Monster_Data> ().hpbar_white.SetActive(false);
                monster [i].GetComponent <S6_Monster_Data> ().died = true;
                mon_died++;
            }
            else
            {
                o.currenthp -= 10;
            }
        }
        o.hpbar.fillAmount = o.currenthp / o.hp;
    }
Exemplo n.º 2
0
    IEnumerator LoadMonAtk()
    {
        startmonatk = true;
        MonAtk();
        switch ((Monster.GetComponent <S6_Monster_Data>().thismonsternumber - 1) / 12)
        {
        case 0:
            hit.gameObject.transform.position = Enemy.GetComponent <S6_Enemy_Data>().pos;
            hit.Play("hit");
            yield return(new WaitForSeconds(1));

            hit.gameObject.transform.position = hitpos;
            break;

        case 1:
            bite.gameObject.transform.position = Enemy.GetComponent <S6_Enemy_Data>().pos;
            bite.Play("bite");
            yield return(new WaitForSeconds(1));

            bite.gameObject.transform.position = bitepos;
            break;

        case 2:
            craw.gameObject.transform.position = Enemy.GetComponent <S6_Enemy_Data>().pos;
            craw.Play("craw");
            yield return(new WaitForSeconds(1));

            craw.gameObject.transform.position = crawpos;
            break;
        }

        Monster.GetComponent <S6_Monster_Data> ().monattacked = true;

        Enehpedit();
        //yield return new WaitForSeconds(1);

        S6_Monster_Data i = Monster.GetComponent <S6_Monster_Data> ();

        i.thismonster.GetComponent <SpriteRenderer> ().sprite = Resources.Load <Sprite> ("Sprite/MyMonster/non_sparkle/monster" + i.thismonsternumber.ToString());
        Monster.transform.position = Monster.GetComponent <S6_Monster_Data>().pos;
        Monster = null;
        Enemy   = null;

        if (monattacktimes != 3)
        {
            onMonsterBoxCollider2D();
        }
        startmonatk = false;
        monattacktimes++;
    }
Exemplo n.º 3
0
    private void initialMonster()
    {
        int mon_num = 0;

        for (int i = 2; i < 5; i++)
        {
            S6_Monster_Data j = monster [mon_num].GetComponent <S6_Monster_Data> ();
            mon_num++;
            abilitystring       = PlayerPrefs.GetString("main" + (i % 3 + 1));
            ability             = abilitystring.Split(',');
            j.thismonsternumber = int.Parse(ability [0]);
            j.hp        = int.Parse(ability [2]);
            j.currenthp = j.hp;
            j.atk       = int.Parse(ability [3]);
            j.def       = int.Parse(ability [4]);
            j.ability_1 = int.Parse(ability [1]).ToString();
            j.ability_5 = int.Parse(ability [5]).ToString();
            j.thismonster.GetComponent <SpriteRenderer> ().sprite = Resources.Load <Sprite> ("Sprite/MyMonster/non_sparkle/monster" + j.thismonsternumber.ToString());
        }
    }
Exemplo n.º 4
0
    //edit ene hp & hpbar
    private void Enehpedit()
    {
        S6_Monster_Data oo = Monster.GetComponent <S6_Monster_Data> ();
        S6_Enemy_Data   o  = Enemy.GetComponent <S6_Enemy_Data> ();

        if (oo.atk - o.def > 0)
        {
            o.currenthp -= (oo.atk - o.def);
            if (o.currenthp <= 0)
            {
                Enemy.SetActive(false);
                Enemy.GetComponent <S6_Enemy_Data> ().hpbar_white.SetActive(false);
                ene_died++;
            }
        }
        else
        {
            o.currenthp -= 10;
        }
        o.hpbar.fillAmount = o.currenthp / o.hp;
    }