Exemplo n.º 1
0
    public void StageEnd()
    {
        UpdateLifeIcon(ps.life);
        myplayerScript.godMode = true;
        if (!stageEndOnce)
        {
            return;
        }
        stageEndOnce = false;

        isPlaying = false;
        //ClearEnemys();

        clearAni.SetTrigger("Active");//클리어Ui

        //myplayer.transform.position = playerPos.position;//플래이어 위치 초기화

        stage++;//스테이지 증가

        if (stage > MaxStage)
        {
            FinalStageClear();
            challengeManager.ChallengeClear(0);
            challengeManager.ChallengeClear(1);
        }

        else
        {
            fadeAni.SetTrigger("In");    //어두워 지기

            StartCoroutine(CardDelay()); //카드고르기
        }
    }
Exemplo n.º 2
0
    public void ReinForce1()
    {
        int randomNum = Random.RandomRange(1, 101);

        gm.money              -= coinCost;
        costText.text          = "비용:" + coinCost.ToString();
        gm.goldAmountText.text = gm.money.ToString();
        if (100 - (gm.plainLv) >= randomNum)
        {
            gm.plainLv++;
            gm.reinPoint++;
            successText.color = Color.green;
            successText.text  = "강화성공!";

            //plusReinForce.SetActive(true);
        }
        else
        {
            successText.color = Color.red;
            successText.text  = "강화실패!";

            //plusReinForce.SetActive(false);
        }
        successText.enabled      = true;
        plainLvText.text         = "전투기Lv." + gm.plainLv.ToString();
        successPer.text          = "성공확률:" + (100 - (gm.plainLv)).ToString();
        reinPointAmountText.text = gm.reinPoint.ToString();
        goldAmountText.text      = gm.money.ToString();

        if (gm.plainLv == 100)
        {
            challengeManager.ChallengeClear(2);
        }

        CheckCanUpgrade();
        ReinForceRework();

        SoundManager.Play("Btn_2");
    }
Exemplo n.º 3
0
    public void AbilityChange()
    {
        GM.money -= needCoinForAbility;
        for (int i = 0; i < 3; i++)
        {
            int randomNum = Random.Range(0, 18);
            if (randomNum == 0)//MoveSpeed;
            {
                int randomValue = Random.Range(abilityPer.SpeedValue[0], abilityPer.SpeedValue[1] + 1);
                GM.abilityValue[i]  = randomValue;
                abilityText[i].text = "이동속도" + randomValue + "% 증가";
                int   a = abilityPer.SpeedValue[1] - abilityPer.SpeedValue[0];
                float b = Mathf.Round(a / 3);
                if (randomValue < abilityPer.SpeedValue[0] + b)
                {
                    abilityBack[i].sprite = abilityBackGrade[0];
                    abilityGrade[i]       = 3;
                }
                else if (randomValue < abilityPer.SpeedValue[0] + b * 2)
                {
                    abilityBack[i].sprite = abilityBackGrade[1];
                    abilityGrade[i]       = 2;
                }
                else
                {
                    abilityBack[i].sprite = abilityBackGrade[2];
                    abilityGrade[i]       = 1;
                }
            }
            else if (randomNum == 1)//AttackDamagePer;
            {
                int randomValue = Random.Range(abilityPer.DamagePerValue[0], abilityPer.DamagePerValue[1] + 1);
                GM.abilityValue[i]  = randomValue;
                abilityText[i].text = "데미지" + randomValue + "% 증가";
                int   a = abilityPer.DamagePerValue[1] - abilityPer.DamagePerValue[0];
                float b = Mathf.Round(a / 3);
                if (randomValue < abilityPer.DamagePerValue[0] + b)
                {
                    abilityBack[i].sprite = abilityBackGrade[0];
                    abilityGrade[i]       = 3;
                }
                else if (randomValue < abilityPer.DamagePerValue[0] + b * 2)
                {
                    abilityBack[i].sprite = abilityBackGrade[1];
                    abilityGrade[i]       = 2;
                }
                else
                {
                    abilityBack[i].sprite = abilityBackGrade[2];
                    abilityGrade[i]       = 1;
                }
            }
            else if (randomNum == 2)//MaxHp;
            {
                int randomValue = Random.Range(abilityPer.MaxHpValue[0], abilityPer.MaxHpValue[1] + 1);
                GM.abilityValue[i]  = randomValue;
                abilityText[i].text = "최대 체력" + randomValue + "증가";

                if (randomValue == 1)
                {
                    abilityBack[i].sprite = abilityBackGrade[0];
                    abilityGrade[i]       = 3;
                }
                else if (randomValue == 2)
                {
                    abilityBack[i].sprite = abilityBackGrade[1];
                    abilityGrade[i]       = 2;
                }
                else
                {
                    abilityBack[i].sprite = abilityBackGrade[2];
                    abilityGrade[i]       = 1;
                }
            }
            else if (randomNum == 3)//GodTime;
            {
                int randomValue = Random.Range(abilityPer.GodTime[0], abilityPer.GodTime[1] + 1);
                GM.abilityValue[i]  = randomValue;
                abilityText[i].text = "피격시 무적시간" + randomValue + "초 증가";
                int   a = abilityPer.GodTime[1] - abilityPer.GodTime[0];
                float b = Mathf.Round(a / 3);
                if (randomValue == 1)
                {
                    abilityBack[i].sprite = abilityBackGrade[0];
                    abilityGrade[i]       = 3;
                }
                else if (randomValue == 2)
                {
                    abilityBack[i].sprite = abilityBackGrade[1];
                    abilityGrade[i]       = 2;
                }
                else
                {
                    abilityBack[i].sprite = abilityBackGrade[2];
                    abilityGrade[i]       = 1;
                }
            }
            else if (randomNum == 4)//AttackSpeed;
            {
                int randomValue = Random.Range(abilityPer.AttackSpeed[0], abilityPer.AttackSpeed[1] + 1);
                GM.abilityValue[i]  = randomValue;
                abilityText[i].text = "공격속도" + randomValue + "% 증가";
                int   a = abilityPer.AttackSpeed[1] - abilityPer.AttackSpeed[0];
                float b = Mathf.Round(a / 3);
                if (randomValue < abilityPer.AttackSpeed[0] + b)
                {
                    abilityBack[i].sprite = abilityBackGrade[0];
                    abilityGrade[i]       = 3;
                }
                else if (randomValue < abilityPer.AttackSpeed[0] + b * 2)
                {
                    abilityBack[i].sprite = abilityBackGrade[1];
                    abilityGrade[i]       = 2;
                }
                else
                {
                    abilityBack[i].sprite = abilityBackGrade[2];
                    abilityGrade[i]       = 1;
                }
            }
            else if (randomNum == 5)//AttackDamage;
            {
                int randomValue = Random.Range(abilityPer.DamageValue[0], abilityPer.DamageValue[1] + 1);
                GM.abilityValue[i]  = randomValue;
                abilityText[i].text = "공격력" + randomValue + "증가";
                int   a = abilityPer.DamageValue[1] - abilityPer.DamageValue[0];
                float b = Mathf.Round(a / 3);
                if (randomValue == 1)
                {
                    abilityBack[i].sprite = abilityBackGrade[0];
                    abilityGrade[i]       = 3;
                }
                else if (randomValue == 2)
                {
                    abilityBack[i].sprite = abilityBackGrade[1];
                    abilityGrade[i]       = 2;
                }
                else
                {
                    abilityBack[i].sprite = abilityBackGrade[2];
                    abilityGrade[i]       = 1;
                }
            }
            else if (randomNum == 6)//FinalDamage;
            {
                int randomValue = Random.Range(abilityPer.FinalDamagePerValue[0], abilityPer.FinalDamagePerValue[1] + 1);
                GM.abilityValue[i]  = randomValue;
                abilityText[i].text = "최종데미지" + randomValue + "% 증가";
                int   a = abilityPer.FinalDamagePerValue[1] - abilityPer.FinalDamagePerValue[0];
                float b = Mathf.Round(a / 3);
                if (randomValue < abilityPer.FinalDamagePerValue[0] + b)
                {
                    abilityBack[i].sprite = abilityBackGrade[0];
                    abilityGrade[i]       = 3;
                }
                else if (randomValue < abilityPer.FinalDamagePerValue[0] + b * 2)
                {
                    abilityBack[i].sprite = abilityBackGrade[1];
                    abilityGrade[i]       = 2;
                }
                else
                {
                    abilityBack[i].sprite = abilityBackGrade[2];
                    abilityGrade[i]       = 1;
                }
            }
            else if (randomNum == 7)//NormalMonsterDamage;
            {
                int randomValue = Random.Range(abilityPer.NormalMonsterDamagePer[0], abilityPer.NormalMonsterDamagePer[1] + 1);
                GM.abilityValue[i]  = randomValue;
                abilityText[i].text = "일반몬스터 데미지" + randomValue + "% 증가";
                int   a = abilityPer.NormalMonsterDamagePer[1] - abilityPer.NormalMonsterDamagePer[0];
                float b = Mathf.Round(a / 3);
                if (randomValue < abilityPer.NormalMonsterDamagePer[0] + b)
                {
                    abilityBack[i].sprite = abilityBackGrade[0];
                    abilityGrade[i]       = 3;
                }
                else if (randomValue < abilityPer.NormalMonsterDamagePer[0] + b * 2)
                {
                    abilityBack[i].sprite = abilityBackGrade[1];
                    abilityGrade[i]       = 2;
                }
                else
                {
                    abilityBack[i].sprite = abilityBackGrade[2];
                    abilityGrade[i]       = 1;
                }
            }
            else if (randomNum == 8)//BossMonsterDamage;
            {
                int randomValue = Random.Range(abilityPer.bossMonsterDamagePer[0], abilityPer.bossMonsterDamagePer[1] + 1);
                GM.abilityValue[i]  = randomValue;
                abilityText[i].text = "보스몬스터 데미지" + randomValue + "% 증가";
                int   a = abilityPer.bossMonsterDamagePer[1] - abilityPer.bossMonsterDamagePer[0];
                float b = Mathf.Round(a / 3);
                if (randomValue < abilityPer.bossMonsterDamagePer[0] + b)
                {
                    abilityBack[i].sprite = abilityBackGrade[0];
                    abilityGrade[i]       = 3;
                }
                else if (randomValue < abilityPer.bossMonsterDamagePer[0] + b * 2)
                {
                    abilityBack[i].sprite = abilityBackGrade[1];
                    abilityGrade[i]       = 2;
                }
                else
                {
                    abilityBack[i].sprite = abilityBackGrade[2];
                    abilityGrade[i]       = 1;
                }
            }
            else if (randomNum == 9)//CriticalPerIncrease;
            {
                int randomValue = Random.Range(abilityPer.CriticalPer[0], abilityPer.CriticalPer[1] + 1);
                GM.abilityValue[i]  = randomValue;
                abilityText[i].text = "크리티컬 확률" + randomValue + "% 증가";
                int   a = abilityPer.CriticalPer[1] - abilityPer.CriticalPer[0];
                float b = Mathf.Round(a / 3);
                if (randomValue < abilityPer.CriticalPer[0] + b)
                {
                    abilityBack[i].sprite = abilityBackGrade[0];
                    abilityGrade[i]       = 3;
                }
                else if (randomValue < abilityPer.CriticalPer[0] + b * 2)
                {
                    abilityBack[i].sprite = abilityBackGrade[1];
                    abilityGrade[i]       = 2;
                }
                else
                {
                    abilityBack[i].sprite = abilityBackGrade[2];
                    abilityGrade[i]       = 1;
                }
            }
            else if (randomNum == 10)//CriticalDamagePer;
            {
                int randomValue = Random.Range(abilityPer.CriticalDmgPer[0], abilityPer.CriticalDmgPer[1] + 1);
                GM.abilityValue[i]  = randomValue;
                abilityText[i].text = "크리티컬 데미지" + randomValue + "% 증가";
                int   a = abilityPer.CriticalDmgPer[1] - abilityPer.CriticalDmgPer[0];
                float b = Mathf.Round(a / 3);
                if (randomValue < abilityPer.CriticalDmgPer[0] + b)
                {
                    abilityBack[i].sprite = abilityBackGrade[0];
                    abilityGrade[i]       = 3;
                }
                else if (randomValue < abilityPer.CriticalDmgPer[0] + b * 2)
                {
                    abilityBack[i].sprite = abilityBackGrade[1];
                    abilityGrade[i]       = 2;
                }
                else
                {
                    abilityBack[i].sprite = abilityBackGrade[2];
                    abilityGrade[i]       = 1;
                }
            }
            else if (randomNum == 11)//MissPer;
            {
                int randomValue = Random.Range(abilityPer.MissPer[0], abilityPer.MissPer[1] + 1);
                GM.abilityValue[i]  = randomValue;
                abilityText[i].text = "피격무시 확률" + randomValue + "% 증가";
                int   a = abilityPer.MissPer[1] - abilityPer.MissPer[0];
                float b = Mathf.Round(a / 3);
                if (randomValue < abilityPer.MissPer[0] + b)
                {
                    abilityBack[i].sprite = abilityBackGrade[0];
                    abilityGrade[i]       = 3;
                }
                else if (randomValue < abilityPer.MissPer[0] + b * 2)
                {
                    abilityBack[i].sprite = abilityBackGrade[1];
                    abilityGrade[i]       = 2;
                }
                else
                {
                    abilityBack[i].sprite = abilityBackGrade[2];
                    abilityGrade[i]       = 1;
                }
            }
            else if (randomNum == 12)//PetDamage;
            {
                int randomValue = Random.Range(abilityPer.PetDamagePer[0], abilityPer.PetDamagePer[1] + 1);
                GM.abilityValue[i]  = randomValue;
                abilityText[i].text = "펫 데미지" + randomValue + "% 증가";
                int   a = abilityPer.PetDamagePer[1] - abilityPer.PetDamagePer[0];
                float b = Mathf.Round(a / 3);
                if (randomValue < abilityPer.PetDamagePer[0] + b)
                {
                    abilityBack[i].sprite = abilityBackGrade[0];
                    abilityGrade[i]       = 3;
                }
                else if (randomValue < abilityPer.PetDamagePer[0] + b * 2)
                {
                    abilityBack[i].sprite = abilityBackGrade[1];
                    abilityGrade[i]       = 2;
                }
                else
                {
                    abilityBack[i].sprite = abilityBackGrade[2];
                    abilityGrade[i]       = 1;
                }
            }
            else if (randomNum == 13)//PetAttackSpeed;
            {
                int randomValue = Random.Range(abilityPer.PetAttackSpeed[0], abilityPer.PetAttackSpeed[1] + 1);
                GM.abilityValue[i]  = randomValue;
                abilityText[i].text = "펫 공격속도" + randomValue + "% 증가";
                int   a = abilityPer.PetAttackSpeed[1] - abilityPer.PetAttackSpeed[0];
                float b = Mathf.Round(a / 3);
                if (randomValue < abilityPer.PetAttackSpeed[0] + b)
                {
                    abilityBack[i].sprite = abilityBackGrade[0];
                    abilityGrade[i]       = 3;
                }
                else if (randomValue < abilityPer.PetAttackSpeed[0] + b * 2)
                {
                    abilityBack[i].sprite = abilityBackGrade[1];
                    abilityGrade[i]       = 2;
                }
                else
                {
                    abilityBack[i].sprite = abilityBackGrade[2];
                    abilityGrade[i]       = 1;
                }
            }
            else if (randomNum == 14)//Penetrate;
            {
                int randomValue = Random.Range(abilityPer.BulletPenetratePer[0], abilityPer.BulletPenetratePer[1] + 1);
                GM.abilityValue[i]  = randomValue;
                abilityText[i].text = "투사체 관통확률" + randomValue + "% 증가";
                int   a = abilityPer.BulletPenetratePer[1] - abilityPer.BulletPenetratePer[0];
                float b = Mathf.Round(a / 3);
                if (randomValue < abilityPer.BulletPenetratePer[0] + b)
                {
                    abilityBack[i].sprite = abilityBackGrade[0];
                    abilityGrade[i]       = 3;
                }
                else if (randomValue < abilityPer.BulletPenetratePer[0] + b * 2)
                {
                    abilityBack[i].sprite = abilityBackGrade[1];
                    abilityGrade[i]       = 2;
                }
                else
                {
                    abilityBack[i].sprite = abilityBackGrade[2];
                    abilityGrade[i]       = 1;
                }
            }
            else if (randomNum == 15)//Gold;
            {
                int randomValue = Random.Range(abilityPer.GoldAmountPer[0], abilityPer.GoldAmountPer[1] + 1);
                GM.abilityValue[i]  = randomValue;
                abilityText[i].text = "골드 획득량" + randomValue + "% 증가";
                int   a = abilityPer.GoldAmountPer[1] - abilityPer.GoldAmountPer[0];
                float b = Mathf.Round(a / 3);
                if (randomValue < abilityPer.GoldAmountPer[0] + b)
                {
                    abilityBack[i].sprite = abilityBackGrade[0];
                    abilityGrade[i]       = 3;
                }
                else if (randomValue < abilityPer.GoldAmountPer[0] + b * 2)
                {
                    abilityBack[i].sprite = abilityBackGrade[1];
                    abilityGrade[i]       = 2;
                }
                else
                {
                    abilityBack[i].sprite = abilityBackGrade[2];
                    abilityGrade[i]       = 1;
                }
            }
            else if (randomNum == 16)//Exp;
            {
                int randomValue = Random.Range(abilityPer.ExpAmountPer[0], abilityPer.ExpAmountPer[1] + 1);
                GM.abilityValue[i]  = randomValue;
                abilityText[i].text = "경험치 획득량" + randomValue + "% 증가";
                int   a = abilityPer.ExpAmountPer[1] - abilityPer.ExpAmountPer[0];
                float b = Mathf.Round(a / 3);
                if (randomValue < abilityPer.ExpAmountPer[0] + b)
                {
                    abilityBack[i].sprite = abilityBackGrade[0];
                    abilityGrade[i]       = 3;
                }
                else if (randomValue < abilityPer.ExpAmountPer[0] + b * 2)
                {
                    abilityBack[i].sprite = abilityBackGrade[1];
                    abilityGrade[i]       = 2;
                }
                else
                {
                    abilityBack[i].sprite = abilityBackGrade[2];
                    abilityGrade[i]       = 1;
                }
            }
            else if (randomNum == 17)//SkillCooldown;
            {
                int randomValue = Random.Range(abilityPer.SkillCooldown[0], abilityPer.SkillCooldown[1] + 1);
                GM.abilityValue[i]  = randomValue;
                abilityText[i].text = "스킬 쿨다운" + randomValue + "% 증가";
                int   a = abilityPer.SkillCooldown[1] - abilityPer.SkillCooldown[0];
                float b = Mathf.Round(a / 3);
                if (randomValue < abilityPer.SkillCooldown[0] + b)
                {
                    abilityBack[i].sprite = abilityBackGrade[0];
                    abilityGrade[i]       = 3;
                }
                else if (randomValue < abilityPer.SkillCooldown[0] + b * 2)
                {
                    abilityBack[i].sprite = abilityBackGrade[1];
                    abilityGrade[i]       = 2;
                }
                else
                {
                    abilityBack[i].sprite = abilityBackGrade[2];
                    abilityGrade[i]       = 1;
                }
            }
            GM.abilityCode[i] = randomNum;
        }
        CanResetAbilityCheck();

        if (abilityGrade[0] == 1 && abilityGrade[1] == 1 && abilityGrade[2] == 1)
        {
            ChallengeManager.ChallengeClear(3);
        }

        SoundManager.Play("Btn_1");
    }