Beispiel #1
0
 public IEnumerator Control(float time, CrowdControlEffect effect, FollowUpEffect followUpEffect = null)
 {
     for (float i = 0; i < time; i += 0.25f)
     {
         effect(controler);
         // Debug.Log("시간"+ i + "  "+ time);
         yield return(new WaitForSeconds(0.25f));
     }
     followUpEffect?.Invoke(controler);
     //Debug.Log("복구");
     spriteRenderer.sprite = null;
     crowd = null;
 }
Beispiel #2
0
 public void SideEffect(float time, AttackType type, CrowdControlEffect effect, FollowUpEffect followUpEffect = null)
 {
     if (!crowdControls.ContainsKey(type.ofensiveType))
     {
         GameObject crowd = Instantiate(crowdControl);
         SizeFitter.FittingContent(crowd, gameObject);
         crowdControls.Add(type.ofensiveType, crowd.GetComponent <CrowdControl>());
         crowdControls[type.ofensiveType].controler = this;
     }
     crowdControls[type.ofensiveType].SetCrowdControl(time, type.effect, effect, followUpEffect);
     //   subSprites[0].sprite = sprite;
     //   IEnumerator coroutine =CrowdControl(time, effect);
 }
Beispiel #3
0
    public void SetCrowdControl(float time, Sprite sprite, CrowdControlEffect effect, FollowUpEffect followUpEffect = null)//나중에 Effect라는 란을 따로 만들자
    {
        if (crowd != null)
        {
            StopCoroutine(crowd);
            crowd = null;
            //  Debug.Log("상태이상을 갱신합니다.");
        }


        this.spriteRenderer.sprite = sprite;
        crowd = Control(time, effect, followUpEffect);

        if (isActiveAndEnabled)
        {
            StartCoroutine(crowd);
        }
    }