コード例 #1
0
    void Awake()
    {
        // NPCManager.Initialize();
        GameManager.dialogueManager = this;
        transform.anchoredPosition  = hidePosition;
        currentPosition             = DialogueManagerPosition.HiddenPosition;

        // SetNPC(NPCManager.npcs["Maya"]);
        if (fadeIn)
        {
            canvasGroup.alpha = 0;
        }

        canInteract      = true;
        animationRoutine = null;
    }
コード例 #2
0
    private bool MovePosition(DialogueManagerPosition position)
    {
        if (isMoving)
        {
            return(false);
        }
        if (!fadeIn && !moveIn)
        {
            return(false);
        }
        if (currentPosition == position)
        {
            return(false);
        }
        if (!moveIn)
        {
            transform.anchoredPosition = showPosition;
        }

        isMoving        = true;
        currentPosition = position;
        Vector2 endPosition   = position == DialogueManagerPosition.HiddenPosition ? hidePosition : showPosition;
        Vector2 startPosition = transform.anchoredPosition;
        float   fadeStart     = position == DialogueManagerPosition.HiddenPosition ? 1 : 0;

        if (fadeIn)
        {
            LeanTween.value(transform.gameObject, f => { canvasGroup.alpha = f; }, fadeStart, 1 - fadeStart, time)
            .setOnComplete(o => isMoving = false);
        }

        if (moveIn)
        {
            LeanTween.value(transform.gameObject,
                            f => {
                transform.anchoredPosition = new Vector2(Mathf.SmoothStep(startPosition.x, endPosition.x, f),
                                                         Mathf.SmoothStep(startPosition.y, endPosition.y, f));
            }, 0, 1, time).setOnComplete(o => isMoving = false);
        }

        return(true);
    }