Пример #1
0
    private IEnumerator SheetingAnimation()
    {
        int   maxLength   = attackModel.sheetingSprite.Length;
        float frameTime   = attackModel.sheetingFrame / 1000;
        int   renderIndex = 0;
        float startTime   = Time.time;

        while (Time.time < startTime + attackModel.floatingTime)
        {
            while (renderIndex < maxLength)
            {
                rendererController.sprite = attackModel.sheetingSprite[renderIndex];
                renderIndex++;
                yield return(new WaitForSecondsRealtime(frameTime));
            }
            renderIndex = 0;
        }


        currentStat       = BURRICANEBURN_STATUS.SHEETITING_END;
        durationAnimation = false;
    }
Пример #2
0
    private IEnumerator ApprearenceAnimation(bool isStart)
    {
        Sprite[] targetSprite = isStart ? attackModel.sheetingSpriteStart : attackModel.sheetingSpriteEnd;

        int   maxLength   = targetSprite.Length;
        float frameTime   = attackModel.appreanceFrame / 1000;
        int   renderIndex = 0;

        float startYValue = isStart ? attackModel.stretchYMin : attackModel.stretchYMax;
        float endYValue   = isStart ? attackModel.stretchYMax : attackModel.stretchYMin;

        float eachYStep = (endYValue - startYValue) / maxLength;

        float currentYValue = startYValue;

        colliderController.size = new Vector2(colliderController.size.x, startYValue);
        while (renderIndex < maxLength)
        {
            colliderController.size   = new Vector2(colliderController.size.x, currentYValue);
            currentYValue            += eachYStep;
            rendererController.sprite = targetSprite[renderIndex];
            renderIndex++;
            yield return(new WaitForSecondsRealtime(frameTime));
        }
        colliderController.size = new Vector2(colliderController.size.x, endYValue);

        renderIndex = 0;
        if (isStart)
        {
            currentStat = BURRICANEBURN_STATUS.SHEETITING;
        }
        else
        {
            currentStat = BURRICANEBURN_STATUS.DESTROY;
        }
        durationAnimation = false;
    }
Пример #3
0
 public void SetParameter(MagitionAttackModel _argModel)
 {
     attackModel = _argModel;
     currentStat = BURRICANEBURN_STATUS.SHEETITING_START;
 }