Пример #1
0
 public override void QCasting()
 {
     isSkillIng  = true;
     skillselect = SSelect.none;
     TheSplatManager.Cancel();
     Q();
     TheChampionData.UsedQ();
     SkillEnd(1f);
 }
Пример #2
0
 public override void QCasting()
 {
     isSkillIng  = true;
     skillselect = SSelect.none;
     TheSplatManager.Cancel();
     HitEffectRPC("Alistar", "Q");
     Q();
     TheChampionData.UsedQ();
     SkillEnd(1f);
     championAnimation.AnimationApply("Q", true);
     championAnimation.AnimationApply("Q", false, 0.7f);
 }
Пример #3
0
    /// <summary>
    /// ChampionData에 스킬을 사용했음을 알리는 함수
    /// </summary>
    /// <param name="skillKey">사용한 스킬 단축키("Q", "W", "E", "R")</param>
    private void CallChampDataUsedSkill(string skillKey)
    {
        switch (skillKey)
        {
        case "Q": TheChampionData.UsedQ(); break;

        case "W": TheChampionData.UsedW(); break;

        case "E": TheChampionData.UsedE(); break;

        case "R": TheChampionData.UsedR(); break;
        }
    }
Пример #4
0
 public override void QCasting()
 {
     if (qStackCount > 3)
     {
         isSkillIng  = true;
         qStackCount = 0;
         if (IAmAshe == true)
         {
             TheStackImage.TextDic["AsheQ"].text = "";
             TheStackImage.ImageDic["AsheQ"].gameObject.SetActive(false);
         }
         TheSplatManager.Cancel();
         TheChampionData.UsedQ();
         HitEffectRPC("Ashe", "Q");
         Q();
         SkillEnd(0f);
     }
 }
Пример #5
0
    private void Update()
    {
        if (Input.GetMouseButtonDown(1) || Input.GetKeyDown(KeyCode.Escape))
        {//스킬선택해제
            CancelSkill();
        }
        if (skillselect.Equals(SSelect.Q))
        {
            if (Input.GetMouseButtonDown(0))
            {
                skillselect = SSelect.none;
                Vector3      h    = Vector3.zero;
                Vector3      v    = Input.mousePosition;
                Ray          r    = Camera.main.ScreenPointToRay(v);
                RaycastHit[] hits = Physics.RaycastAll(r, 50f);

                TempVector1 = Vector3.zero;
                foreach (RaycastHit hit in hits)
                {
                    if (hit.collider.tag.Equals("Terrain"))
                    {
                        isSkillIng = true;
                        TheSplatManager.Cancel();
                        TheChampionData.UsedQ();
                        TempVector1   = hit.point;
                        TempVector1.y = 0.5f;

                        championAnimation.AnimationApply("Q", true);
                        championAnimation.AnimationApply("Q", false, 0.5f);

                        Invoke("Q", 0.2f);
                        break;
                    }
                }
            }
        }
        if (isW)
        {
            wTime -= Time.deltaTime;
            if (wTime < 0)
            {
                //if (Input.GetKeyDown(KeyCode.W))
                //{
                //    HitEffectRPC("Mundo", "W");
                //    WSkillObj.SetActive(false);
                //    SkillEnd(0f);
                //    isW = false;
                //    wTime = 1;
                //    SkillEnd(0f);
                //}
                //else
                //{
                wTime += 1;
                if (TheChampionData.totalstat.Hp - 2 < TheChampionData.mana_W)
                {
                    HitEffectRPC("Mundo", "W");
                    WSkillObj.SetActive(false);
                    isW   = false;
                    wTime = 1;
                    SkillEnd(0f);
                }
                else
                {
                    TheChampionData.totalstat.Hp -= TheChampionData.mana_W;
                }
            }
        }
        if (isE)
        {
            if (photonView.isMine)
            {
                eTime -= Time.deltaTime;
                float losedHpPercent = ((TheChampionData.totalstat.MaxHp - TheChampionData.totalstat.Hp) / TheChampionData.totalstat.MaxHp);
                float minimalSkillAD = skillData.eDamage[TheChampionData.skill_E - 1] / 2f;
                TheChampionData.skillPlusAtkDam = minimalSkillAD + (minimalSkillAD * losedHpPercent);
                if (TheChampionAtk.skillKey.Equals("MundoE") && TheChampionAtk.skillKeyNum > 0)
                {
                    int e = TheChampionData.skill_E - 1;
                    TheChampionData.skillPlusAtkDam += TheChampionData.totalstat.MaxHp * (0.03f + (float)e * 0.005f);
                }
                TheChampionData.skillPlusAtkDam = Mathf.Round(TheChampionData.skillPlusAtkDam);
                if (eTime <= 0)
                {
                    HitEffectRPC("Mundo", "E");
                    E();
                }
                TheChampionData.TotalStatDamDefUpdate();
                TheChampionData.UIStat.Refresh();
            }
        }
        if (isR)
        {
            if (photonView.isMine)
            {
                if (TheChampionBehaviour.isDead)
                {
                    RSkillObj.SetActive(false);
                    TheChampionData.totalstat.Hp = 0;
                    ChampionSound.instance.TempAudio.Stop();
                    ChampionSound.instance.TempAudio.loop = false;
                    ChampionSound.instance.TempAudio.clip = null;
                    if (photonView.isMine)
                    {
                        TheChampionData.skillPlusSpeed = 0;
                        TheChampionData.TotalStatSpeedUpdate();
                        TheChampionData.UIStat.Refresh();
                    }
                    return;
                }
                rTime -= Time.deltaTime;
                if (rTime <= 0)
                {
                    rTime = 1f;
                    TheChampionData.totalstat.Hp += rHealValue;
                    if (--rCount == 0)
                    {
                        HitEffectRPC("Mundo", "R");
                        R();
                    }
                }
            }
        }
    }