Exemple #1
0
    // Update is called once per frame
    void Update()
    {
        if (state == 1)
        {
            Vector3 pos = arrow.transform.localPosition;
            pos.x += speed * Time.deltaTime;
            arrow.transform.localPosition = pos;

            if ((side == WarSceneController.WhichSide.Left && pos.x > enemyGeneral.transform.localPosition.x) ||
                (side == WarSceneController.WhichSide.Right && pos.x < enemyGeneral.transform.localPosition.x))
            {
                state = 2;
                Invoke("WaitForMagicOver", 1);

                Rect region = new Rect();
                if (side == WarSceneController.WhichSide.Left)
                {
                    region.x = pos.x - 20;
                }
                else
                {
                    region.x = pos.x - 180;
                }
                region.y      = -15;
                region.width  = 200;
                region.height = 30;
                warCtrl.OnMagicHitChecking(side, MagicController.Instance.GetMagicAttack(), region, false);

                for (int i = 0; i < 5; i++)
                {
                    GameObject go = (GameObject)Instantiate(Resources.Load(explodeName));
                    go.transform.parent = transform;
                    pos.x += Random.Range(-20, 20);
                    pos.z += Random.Range(-20, 20);
                    go.transform.localPosition = pos;
                }
            }
            else
            {
                warCtrl.SetCameraPosition(new Vector3(pos.x, -30, 0));

                Rect region = new Rect();
                region.x      = pos.x;
                region.y      = -15;
                region.width  = 20;
                region.height = 30;
                warCtrl.OnMagicHitChecking(side, 0, region, false);
            }
        }
        else if (state == 2)
        {
            Vector3 pos = arrow.transform.localPosition;
            pos.x += speed * Time.deltaTime;
            arrow.transform.localPosition = pos;
        }
    }
Exemple #2
0
    public void OnFireDownOver(Vector3 pos)
    {
        GameObject go = listFireExplode[downIndex++];

        go.SetActive(true);
        go.transform.localPosition = pos;

        go = (GameObject)Instantiate(Resources.Load(explodeName));
        go.transform.parent        = transform;
        go.transform.localPosition = pos;

        Rect region = new Rect();

        region.x      = pos.x - 40;
        region.y      = pos.y - 40;
        region.width  = 80;
        region.height = 80;

        warCtrl.OnMagicHitChecking(side, MagicManager.Instance.GetMagicDataInfo(14).ATTACK, region, true);

        if (downIndex == 10)
        {
            Invoke("WaitForMagicOver", 0.5f);
        }
    }
Exemple #3
0
    IEnumerator ShowStones()
    {
        yield return(new WaitForSeconds(0.3f));

        gCtrl.OnDamage(MagicController.Instance.GetMagicAttack(), -1, false);

        for (int i = 0; i < listStones.Count; i++)
        {
            listStones[i].SetActive(true);

            GameObject go = (GameObject)Instantiate(Resources.Load(explodeName));
            go.transform.parent        = transform;
            go.transform.localPosition = listStones[i].transform.localPosition;

            Rect region = new Rect();
            region.x      = listStones[i].transform.localPosition.x - 60;
            region.y      = listStones[i].transform.localPosition.y - 60;
            region.width  = 120;
            region.height = 120;

            warCtrl.OnMagicHitChecking(side, 0, region, false);

            yield return(new WaitForSeconds(0.2f));
        }

        Invoke("WaitForMagicOver", 1);
    }
Exemple #4
0
    IEnumerator ShowTornado()
    {
        for (int i = 0; i < listTornado.Count; i++)
        {
            Vector3 pos = listTornado[i].transform.localPosition;
            pos.y -= 30;
            warCtrl.SetCameraMoveTo(pos);

            yield return(new WaitForSeconds(0.3f));

            listTornado[i].SetActive(true);

            Rect region = new Rect();
            region.x      = listTornado[i].transform.localPosition.x - 50;
            region.y      = listTornado[i].transform.localPosition.y - 50;
            region.width  = 100;
            region.height = 100;

            warCtrl.OnMagicHitChecking(side, MagicController.Instance.GetMagicAttack(), region, false);

            yield return(new WaitForSeconds(0.3f));
        }

        Invoke("WaitForMagicOver", 1.5f);

        if (listTornado.Count < 3)
        {
            SoundController.Instance.PlaySound("00007");
        }
        else
        {
            SoundController.Instance.PlaySound("00008");
        }
    }
    IEnumerator ShowDragon()
    {
        for (int i = 0; i < 10; i++)
        {
            Rect region = new Rect();
            if (side == WarSceneController.WhichSide.Left)
            {
                region.x = centerPoint.x - 100 + i * 20;
            }
            else
            {
                region.x = centerPoint.x + 100 - i * 20;
            }
            region.y      = -level * ySpace;
            region.width  = 20;
            region.height = 2 * level * ySpace;

            for (int j = 0; j < level; j++)
            {
                listBody[j * 10 + i].SetActive(true);

                warCtrl.OnMagicHitChecking(MagicController.Instance.GetMagicSide(),
                                           MagicController.Instance.GetMagicAttack(),
                                           region,
                                           true);
            }

            yield return(new WaitForSeconds(0.2f));
        }

        Invoke("WaitForMagicOver", 1);
    }
Exemple #6
0
    void WaitForCameraMoveToGeneral()
    {
        warCtrl.OnMagicHitChecking(MagicController.Instance.GetMagicSide(),
                                   MagicController.Instance.GetMagicAttack(),
                                   region,
                                   true);

        StartCoroutine(ShowMine());

        SoundController.Instance.PlaySound("00055");
    }
Exemple #7
0
    void WaitForCameraMoveToGeneral()
    {
        Rect region = new Rect();

        region.x      = posGeneral.x - radius * level;
        region.y      = posGeneral.y - radius * level;
        region.width  = radius * level * 2;
        region.height = radius * level * 2;

        warCtrl.OnMagicHitChecking(side, MagicController.Instance.GetMagicAttack(), region, true);

        StartCoroutine(ShowFire());

        SoundController.Instance.PlaySound("00019");
    }
Exemple #8
0
    public void OnSwordDownOver(Vector3 pos)
    {
        GameObject go = (GameObject)Instantiate(Resources.Load(swordParticalName));

        go.transform.parent        = transform;
        go.transform.localPosition = pos;

        Rect region = new Rect();

        region.x      = pos.x - 60;
        region.y      = pos.y - 60;
        region.width  = 120;
        region.height = 120;

        warCtrl.OnMagicHitChecking(side, MagicController.Instance.GetMagicAttack(), region, false);
    }
    // Update is called once per frame
    void Update()
    {
        timeTick += Time.deltaTime;
        if (timeTick < 3)
        {
            transform.localPosition = Vector3.Lerp(fromPosition, toPosition, timeTick / 3);

            Rect rect = new Rect();
            rect.x      = transform.localPosition.x - 30;
            rect.y      = transform.localPosition.y - 30;
            rect.width  = 60;
            rect.height = 60;
            warCtrl.OnMagicHitChecking(MagicController.Instance.GetMagicSide(), 0, rect, false);
        }
        else
        {
            Destroy(gameObject);
        }
    }
Exemple #10
0
    public void OnJuShiDown(Vector3 pos)
    {
        GameObject go = (GameObject)Instantiate(Resources.Load(juShiParticalName));

        go.transform.parent        = transform;
        go.transform.localPosition = pos;

        go = (GameObject)Instantiate(Resources.Load(explodeName));
        go.transform.parent        = transform;
        go.transform.localPosition = pos;

        Rect region = new Rect();

        region.x      = pos.x - 50;
        region.y      = pos.y - 50;
        region.width  = 100;
        region.height = 100;

        warCtrl.OnMagicHitChecking(side, MagicManager.Instance.GetMagicDataInfo(38).ATTACK, region, true);
    }
Exemple #11
0
    // Update is called once per frame
    void Update()
    {
        float deltaPos = speed * Time.deltaTime;

        if (state == 1)
        {
            cameraPos = new Vector3(cameraPos.x + deltaPos, cameraPos.y, 0);

            for (int i = 0; i < listMoon.Count; i++)
            {
                Vector3 pos = listMoon[i].transform.localPosition;
                pos.x += deltaPos;
                listMoon[i].transform.localPosition = pos;
            }

            if ((side == WarSceneController.WhichSide.Left && cameraPos.x > enemyGeneral.transform.localPosition.x) ||
                (side == WarSceneController.WhichSide.Right && cameraPos.x < enemyGeneral.transform.localPosition.x))
            {
                state = 2;
                Invoke("WaitForMagicOver", 1);

                enemyGeneral.OnDamage(MagicController.Instance.GetMagicAttack(), -1, false);
                listMoon[0].SetActive(false);

                for (int i = 1; i < listMoon.Count; i++)
                {
                    Rect region = new Rect();
                    if (side == WarSceneController.WhichSide.Left)
                    {
                        region.x = listMoon[i].transform.localPosition.x - 20;
                    }
                    else
                    {
                        region.x = listMoon[i].transform.localPosition.x - 180;
                    }
                    region.y      = listMoon[i].transform.localPosition.y - 15;
                    region.width  = 200;
                    region.height = 30;
                    warCtrl.OnMagicHitChecking(side, 0, region, false);
                }

                StartCoroutine(ShowArrowExplode());
            }
            else
            {
                warCtrl.SetCameraPosition(cameraPos);

                for (int i = 0; i < listMoon.Count; i++)
                {
                    Rect region = new Rect();
                    region.x      = listMoon[i].transform.localPosition.x;
                    region.y      = listMoon[i].transform.localPosition.y - 15;
                    region.width  = 20;
                    region.height = 30;
                    warCtrl.OnMagicHitChecking(side, 0, region, false);
                }
            }
        }
        else if (state == 2)
        {
            for (int i = 0; i < listMoon.Count; i++)
            {
                Vector3 pos = listMoon[i].transform.localPosition;
                pos.x += deltaPos;
                listMoon[i].transform.localPosition = pos;
            }
        }
    }
    // Update is called once per frame
    void Update()
    {
        float deltaPos = speed * Time.deltaTime;

        if (state == 1)
        {
            for (int i = 0; i < listMan.Count; i++)
            {
                if (!listMan[i].activeSelf)
                {
                    break;
                }

                Vector3 pos = listMan[i].transform.localPosition;
                pos.x += deltaPos;
                listMan[i].transform.localPosition = pos;
            }

            cameraPos = new Vector3(listMan[4].transform.localPosition.x, -30, 0);

            if ((side == WarSceneController.WhichSide.Left && cameraPos.x > enemyGeneral.transform.localPosition.x) ||
                (side == WarSceneController.WhichSide.Right && cameraPos.x < enemyGeneral.transform.localPosition.x))
            {
                state = 2;
                Invoke("WaitForMagicOver", 1);

                listMan[0].SetActive(false);
                enemyGeneral.OnDamage(MagicManager.Instance.GetMagicDataInfo(40).ATTACK, -1, false);

                Rect region = new Rect();
                if (side == WarSceneController.WhichSide.Left)
                {
                    region.x = listMan[0].transform.localPosition.x - 20;
                }
                else
                {
                    region.x = listMan[0].transform.localPosition.x - 180;
                }
                region.y      = listMan[0].transform.localPosition.y - 20;
                region.width  = 200;
                region.height = 40;
                warCtrl.OnMagicHitChecking(side, 0, region, false);

                StartCoroutine(ShowArrowExplode());
            }
            else
            {
                warCtrl.SetCameraPosition(cameraPos);

                Rect region = new Rect();
                region.x      = listMan[0].transform.localPosition.x;
                region.y      = listMan[0].transform.localPosition.y - 20;
                region.width  = 20;
                region.height = 40;
                warCtrl.OnMagicHitChecking(side, 0, region, false);
            }
        }
        else if (state == 2)
        {
            for (int i = 0; i < listMan.Count; i++)
            {
                Vector3 pos = listMan[i].transform.localPosition;
                pos.x += deltaPos;
                listMan[i].transform.localPosition = pos;
            }
        }
    }