Ejemplo n.º 1
0
    // ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
    // 원소 확정 또는 취소
    private void SetOrCancelElements()
    {
        if (canSetElements)
        {
            if (Input.GetKeyDown(KeyCode.D) && currentElements.Count > 0)
            {
                // 원소 마법 사용 가능
                canElementMagic = true;

                // D키 사용 불가능
                canSetElements = false;

                canReceiveElements = false;

                // 배열에 각각의 원소가 몇 개씩있는지 검사
                CountElement();

                // 원소 확정 애니메이션
                anim.SetTrigger("ChargeSet");

                SetElementMagic();

                // 원소 확정 이펙트
                StartCoroutine(DelayEffect());


                ElementMagicControllerAble();
            }
        }


        if (Input.GetKeyDown(KeyCode.F) && currentElements.Count > 0)
        {
            // D키 사용 가능
            canSetElements = true;

            // 원소 마법 사용 불가능
            canElementMagic = false;

            canReceiveElements = true;


            currentElements.Clear();
            elementMagicNumber.Clear();



            FireElementNum    = 0;
            WaterElementNum   = 0;
            ThunderElementNum = 0;
            HealElementNum    = 0;

            canReceiveElements = true;
            GameObject.Find("GameUI").GetComponent <ShowElements>().delAll = true;
            CancelElementsPrefab.GetComponent <ParticleSystem>().Play();
            SetCurrentWeapon();
            currentAnim = MagicAnim.SHORT;
            SoundManager.instance.PlaySoundEffect("CancelMagic");
        }
    }
Ejemplo n.º 2
0
    private void SetElementMagic()
    {
        // 1개
        if (currentElements.Count == 1)
        {
            if (elementMagicNumber[0] == 1)
            {
                currentMagic          = ElementMagicList.FIRE1;
                currentMagicSoundName = "Fire1";
            }


            else if (elementMagicNumber[0] == 2)
            {
                currentMagic          = ElementMagicList.WATER1;
                currentMagicSoundName = "Water1";
            }

            else if (elementMagicNumber[0] == 3)
            {
                currentMagic          = ElementMagicList.THUNDER1;
                currentMagicSoundName = "Thunder1";
            }

            else if (elementMagicNumber[0] == 4)
            {
                currentMagic = ElementMagicList.HEAL1;
                elementMagicController.isHealMagic = true;
                currentMagicSoundName = "Heal1";
            }
        }

        // 2개
        else if (currentElements.Count == 2)
        {
            if (elementMagicNumber[0] == 1 && elementMagicNumber[1] == 1)
            {
                currentMagic          = ElementMagicList.FIRE2;
                currentMagicSoundName = "Fire2";
            }

            else if (elementMagicNumber[0] == 1 && elementMagicNumber[1] == 2)
            {
                currentMagic          = ElementMagicList.STEAM;
                currentMagicSoundName = "Steam";
            }

            else if (elementMagicNumber[0] == 1 && elementMagicNumber[1] == 3)
            {
                currentMagic          = ElementMagicList.LASER_FIRE;
                currentMagicSoundName = "Laser_Fire";
            }

            else if (elementMagicNumber[0] == 1 && elementMagicNumber[1] == 4)
            {
                currentMagic          = ElementMagicList.FIRE_HEAL;
                currentMagicSoundName = "Fire_Heal";
            }


            if (elementMagicNumber[0] == 2 && elementMagicNumber[1] == 1)
            {
                currentMagic = ElementMagicList.HOT_WATER;
            }

            else if (elementMagicNumber[0] == 2 && elementMagicNumber[1] == 2)
            {
                currentMagic = ElementMagicList.WATER2;
            }

            else if (elementMagicNumber[0] == 2 && elementMagicNumber[1] == 3)
            {
                currentMagic = ElementMagicList.LASER_WATER;
            }

            else if (elementMagicNumber[0] == 2 && elementMagicNumber[1] == 4)
            {
                currentMagic = ElementMagicList.WATER_HEAL;
            }


            if (elementMagicNumber[0] == 3 && elementMagicNumber[1] == 1)
            {
                currentMagic = ElementMagicList.EXPLOSION;
            }

            else if (elementMagicNumber[0] == 3 && elementMagicNumber[1] == 2)
            {
                currentMagic = ElementMagicList.THUNDER_WATER;
            }

            else if (elementMagicNumber[0] == 3 && elementMagicNumber[1] == 3)
            {
                currentMagic = ElementMagicList.THUNDER2;
            }

            else if (elementMagicNumber[0] == 3 && elementMagicNumber[1] == 4)
            {
                currentMagic = ElementMagicList.LASER_HEAL;
            }


            if (elementMagicNumber[0] == 4 && elementMagicNumber[1] == 1)
            {
                elementMagicController.isHealMagic = true;
                currentMagic = ElementMagicList.HEAL_FIRE;
            }

            else if (elementMagicNumber[0] == 4 && elementMagicNumber[1] == 2)
            {
                elementMagicController.isHealMagic = true;
                currentMagic = ElementMagicList.HEAL_WATER;
            }

            else if (elementMagicNumber[0] == 4 && elementMagicNumber[1] == 3)
            {
                elementMagicController.isHealMagic = true;
                currentMagic = ElementMagicList.HEAL_THUNDER;
            }

            else if (elementMagicNumber[0] == 4 && elementMagicNumber[1] == 4)
            {
                elementMagicController.isHealMagic = true;
                currentMagic = ElementMagicList.HEAL2;
            }
        }



        // 3개
        else if (currentElements.Count == 3)
        {
            if (elementMagicNumber[0] == 1 && elementMagicNumber[1] == 1 && elementMagicNumber[2] == 1)
            {
                currentMagic          = ElementMagicList.FIRE3;
                currentAnim           = MagicAnim.LONG;
                currentMagicSoundName = "Fire3";
            }



            else if (elementMagicNumber[0] == 2 && elementMagicNumber[1] == 2 && elementMagicNumber[2] == 2)
            {
                currentMagic = ElementMagicList.WATER3;
            }



            else if (elementMagicNumber[0] == 3 && elementMagicNumber[1] == 3 && elementMagicNumber[2] == 3)
            {
                currentMagic = ElementMagicList.THUNDER3;
                currentAnim  = MagicAnim.LONG;
            }


            else if (elementMagicNumber[0] == 4 && elementMagicNumber[1] == 4 && elementMagicNumber[2] == 4)
            {
                currentMagic = ElementMagicList.HEAL3;
            }


            else if (elementMagicNumber[0] == 2 && elementMagicNumber[1] == 1 && elementMagicNumber[2] == 3)
            {
                currentMagic = ElementMagicList.WATERSMASH;
                currentAnim  = MagicAnim.JUMPSMASH_GROUND;
            }

            else if (elementMagicNumber[0] == 3 && elementMagicNumber[1] == 2 && elementMagicNumber[2] == 3)
            {
                currentMagic = ElementMagicList.WATER_THUNDERWAVE;
                currentAnim  = MagicAnim.UPPERCUT;
            }

            // 증기 마법
            else if (elementMagicNumber[0] == 1 && elementMagicNumber[1] == 2)
            {
                if (elementMagicNumber[2] == 1)
                {
                    currentMagic = ElementMagicList.STEAM_FIRE1;
                    currentAnim  = MagicAnim.KEEPING;
                }

                else if (elementMagicNumber[2] == 2)
                {
                    currentMagic = ElementMagicList.STEAM_WATER1;
                    currentAnim  = MagicAnim.HAND_UP;
                }

                else if (elementMagicNumber[2] == 3)
                {
                    currentMagic = ElementMagicList.STEAM_THUNDER1;
                    currentAnim  = MagicAnim.GROUND;
                }

                else if (elementMagicNumber[2] == 4)
                {
                    currentMagic = ElementMagicList.STEAM_HEAL1;
                    currentAnim  = MagicAnim.GROUND;
                }
            }

            else
            {
                if (elementMagicNumber[0] == 1)
                {
                    currentMagic = ElementMagicList.FIREMIX1;
                }

                else if (elementMagicNumber[0] == 2)
                {
                    currentMagic = ElementMagicList.WATERMIX1;
                }

                else if (elementMagicNumber[0] == 3)
                {
                    currentMagic = ElementMagicList.THUNDERMIX1;
                }

                else if (elementMagicNumber[0] == 4)
                {
                    currentMagic = ElementMagicList.HEALMIX1;
                }
            }
        }



        // 4개
        else if (currentElements.Count == 4)
        {
            if (elementMagicNumber[0] == 1 && elementMagicNumber[1] == 1 && elementMagicNumber[2] == 1 && elementMagicNumber[3] == 1)
            {
                currentMagic = ElementMagicList.FIRE4;
                currentAnim  = MagicAnim.HAND_UP;
            }

            else if (elementMagicNumber[0] == 2 && elementMagicNumber[1] == 2 && elementMagicNumber[2] == 2 && elementMagicNumber[3] == 2)
            {
                currentMagic = ElementMagicList.WATER4;
                currentAnim  = MagicAnim.GROUND;
            }

            else if (elementMagicNumber[0] == 3 && elementMagicNumber[1] == 3 && elementMagicNumber[2] == 3 && elementMagicNumber[3] == 3)
            {
                currentMagic = ElementMagicList.THUNDER4;
                currentAnim  = MagicAnim.GROUND;
            }

            else if (elementMagicNumber[0] == 1 && elementMagicNumber[1] == 2 && elementMagicNumber[2] == 2 && elementMagicNumber[3] == 1)
            {
                currentMagic = ElementMagicList.WATER_FIREWALL;
                currentAnim  = MagicAnim.GROUND;
            }

            else if (elementMagicNumber[0] == 1 && elementMagicNumber[1] == 3 && elementMagicNumber[2] == 1 && elementMagicNumber[3] == 3)
            {
                currentMagic = ElementMagicList.FIRE2_THUNDER2;
                currentAnim  = MagicAnim.LONG;
            }

            else if (elementMagicNumber[0] == 2 && elementMagicNumber[1] == 2 && elementMagicNumber[2] == 1 && elementMagicNumber[3] == 1)
            {
                currentMagic = ElementMagicList.LAVA;
                currentAnim  = MagicAnim.GROUND;
            }

            // 증기 마법
            else if (elementMagicNumber[0] == 1 && elementMagicNumber[1] == 2)
            {
                if (elementMagicNumber[2] == 1 && elementMagicNumber[3] == 1)
                {
                    currentMagic = ElementMagicList.STEAM_FIRE2;
                    currentAnim  = MagicAnim.HAND_UP;
                }

                else if (elementMagicNumber[2] == 2 && elementMagicNumber[3] == 2)
                {
                    currentMagic = ElementMagicList.STEAM_WATER2;
                    currentAnim  = MagicAnim.HAND_UP;
                }

                else if (elementMagicNumber[2] == 3 && elementMagicNumber[3] == 3)
                {
                    currentMagic = ElementMagicList.STEAM_THUNDER2;
                    currentAnim  = MagicAnim.HAND_UP;
                }

                else if (elementMagicNumber[2] == 4 && elementMagicNumber[3] == 4)
                {
                    currentMagic = ElementMagicList.STEAM_HEAL2;
                    currentAnim  = MagicAnim.GROUND;
                }

                else if (elementMagicNumber[2] == 1 && elementMagicNumber[3] == 2)
                {
                    currentMagic = ElementMagicList.STEAM2;
                    currentAnim  = MagicAnim.GROUND;
                }

                else
                {
                    if (elementMagicNumber[0] == 1)
                    {
                        currentMagic = ElementMagicList.FIREMIX2;
                    }

                    else if (elementMagicNumber[0] == 2)
                    {
                        currentMagic = ElementMagicList.WATERMIX2;
                    }

                    else if (elementMagicNumber[0] == 3)
                    {
                        currentMagic = ElementMagicList.THUNDERMIX2;
                    }

                    else if (elementMagicNumber[0] == 4)
                    {
                        currentMagic = ElementMagicList.HEALMIX2;
                    }
                }
            }

            else
            {
                if (elementMagicNumber[0] == 1)
                {
                    currentMagic = ElementMagicList.FIREMIX2;
                }

                else if (elementMagicNumber[0] == 2)
                {
                    currentMagic = ElementMagicList.WATERMIX2;
                }

                else if (elementMagicNumber[0] == 3)
                {
                    currentMagic = ElementMagicList.THUNDERMIX2;
                }

                else if (elementMagicNumber[0] == 4)
                {
                    currentMagic = ElementMagicList.HEALMIX2;
                }
            }
        }

        Debug.Log(currentMagic);
    }