열차 목업의 내부 확인용 프로젝트
smchoi
2024-07-31 9fe33c1ae076b0f6501619388e6b4cc872b76f80
Assets/Korail/Scripts/Action/ActionButton.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.Animations;
@@ -50,11 +51,9 @@
    void Start()
    {
            targetPos = TargetRot;
            initPos = transform.localPosition;
        targetPos = TargetRot;
        initPos = transform.localPosition;
        Initialize();
    }
@@ -72,35 +71,15 @@
    }
    void EndInit()
    {
        if (!isFixed)
        {
            transform.localRotation = targetRot;
        }
        else
        {
            transform.localPosition = targetPos;
        }
        transform.localPosition = targetPos;
        isEnd = true;
    }
    void Init()
    {
        if (!isFixed)
        {
            transform.localRotation = initRot;
        }
        else
        {
            transform.localPosition = initPos;
        }
        transform.localPosition = initPos;
        isEnd = false;
    }
@@ -128,29 +107,8 @@
        if (Run)
        {
            t += Speed * Time.deltaTime;
            if (!isFixed)
            {
                if (isEnd)
                {
                    // 초기 회전값까지 애니메이션
                    transform.localRotation = Quaternion.Slerp(transform.localRotation, initRot, t);
                    if (transform.localRotation == initRot)
                    {
                        InitValues(false);
                    }
                }
                else
                {
                    // 목표 회전값까지 애니메이션
                    transform.localRotation = Quaternion.Slerp(transform.localRotation, targetRot, t);
                    if (transform.localRotation == targetRot)
                    {
                        InitValues(true);
                    }
                }
            }
            else
            if(isFixed)
            {
                if (isEnd)
                {
@@ -170,7 +128,32 @@
                        InitValues(true);
                    }
                }
            } else
            {
                if (isEnd)
                {
                    // 초기 좌표까지 애니메이션
                    transform.localPosition = Vector3.Lerp(transform.localPosition, initPos, t);
                    if (transform.localPosition == initPos)
                    {
                        InitValues(false);
                    }
                }
                else
                {
                    // 목표 좌표까지 애니메이션
                    transform.localPosition = Vector3.Lerp(transform.localPosition, targetPos, t);
                    if (transform.localPosition == targetPos)
                    {
                        isEnd = true;
                        t = 0;
                    }
                }
            }
        }
    }
}