Beispiel #1
0
    IEnumerator UltiDuration()
    {
        float timeCount = 0;
        // const float triggerTime = 0.5f;
        float triggerTime = fireAreaFreq;

        while (timeCount < ultiDuration)
        {
            //yield return new WaitForSeconds(triggerTime);
            //timeCount += triggerTime;
            //if(ultiSpeedFactor> 0 &&canUltiSppedUp)
            //{
            //    ultiSpeedFactor -= 0.25f;
            //}
            yield return(new WaitForSeconds(triggerTime));

            timeCount += triggerTime;
            fireArea.spawnDuplicate(fireArea.transform);
        }

        ultimateManager.endUltimate();
        setUnRushUlti();
        ReportToClient("ULTIEND");
        setRun();
        //end prefrom ulti
    }
 public void createShockwave()
 {
     if (canShockwave)
     {
         shackwaveDB.spawnDuplicate(shackwaveDB.transform);
     }
 }
Beispiel #3
0
    void setWarp()
    {
        lac.SetAnimWarp();

        warpATK.spawnDuplicate(warpATK.transform);
        if (isFireAfterWarp)
        {
            fireArea.spawnDuplicate(fireArea.transform);
        }
        transform.Translate(mainBody.forward * 3.5f);

        for (int i = 0; i < warpLoop; i++)
        {
            warpATK.spawnDuplicate(warpATK.transform);
            transform.Translate(mainBody.forward * 3.5f);
        }
    }
 public void shootPinArow()
 {
     if (canDodgeShot)
     {
         damageHitbox dambox = pinArrow.spawnDuplicate(shootSpot);
         dambox.transform.eulerAngles += new Vector3(0, 180, 0);
     }
 }
Beispiel #5
0
    IEnumerator repeating()
    {
        while (true)
        {
            // Debug.Log("spawn");
            yield return(new WaitForSeconds(repeatTime));

            damHitbox.spawnDuplicate(spot);
        }
    }
    public void shootArrowAct()
    {
        damageHitbox dambox;
        unitHitbox   myHitbox = gameObject.GetComponent <unitHitbox>();

        if (!isUltimate)
        {
            switch (mode)
            {
            case MODE.SINGLE:
                //for (int i = 0; i < pinArrowNum; i++)
                //{
                //    dambox = pinArrow.spawnDuplicate(shootSpot);
                //    dambox.transform.localPosition = new Vector3(0.5f * (Mathf.Pow(-1, i)) * (Mathf.Floor(((float)i + 1) / 2)), 0, 0);
                //}
                spawnArrow(normalShoot);
                break;

            case MODE.SPREAD:
                for (int i = 0; i < spreadShotArrow; i++)
                {
                    dambox      = spawnArrow(spreadShoot);
                    spreadAngle = spreadShotArrow * 8;
                    dambox.transform.eulerAngles += new Vector3(0, -(spreadAngle / 2) + (i * 8), 0);

                    /*dambox = Instantiate(arrowModel);
                     * dambox.transform.position = shootSpot.position;
                     * dambox.transform.eulerAngles = spreadShoot.transform.eulerAngles;
                     * dambox.transform.eulerAngles += new Vector3(0,-(spreadAngle/2)+ (i* spreadAngle/4),0);
                     *
                     * dambox.setDamage(spreadShoot.damage);
                     * dambox.duplicateAfterDoneDamage(spreadShoot);
                     * dambox.GetComponent<Bullet>().setSpeed(spreadShoot.speed);
                     * dambox.setOwner(myHitbox);*/
                }
                break;

            case MODE.TRIPLE:
                StartCoroutine(TripleShoot());
                break;

            case MODE.BOMB:
                damageHitbox damHB = bombShoot.spawnDuplicate(shootSpot);
                ChainAttack  CATK  = damHB.gameObject.GetComponent <ChainAttack>();
                CATK.chainList[0].model = bomb;
                break;
            }
        }
        else if (isUltimate)
        {
            fireUltiArrow();
        }
        anim.SetBool("isTrail", false);
    }