예제 #1
0
    IEnumerator LerpPosition()
    {
        islerping = true;
        while ((playerInstance.transform.position - destination).sqrMagnitude > 0.0001f)
        {
            playerInstance.transform.position = Vector3.MoveTowards(playerInstance.transform.position, destination, moveSpeed * Time.deltaTime);
            yield return(null);
        }
        playerInstance.transform.position = destination;

        DungeonMapData _data = DungeonManager.GetMapData((int)destination.x, (int)destination.z);

        if ((_data.itemType != Item.ItemType.empty))
        {
            AddItem(_data.itemData);
            DungeonManager.ChangeItemType((int)destination.x, (int)destination.z, Item.ItemType.empty);
        }

        islerping = false;
        if (_data.cubeType == E_DUNGEON_CUBE_TYPE.HOME)
        {
            if (instance.food > 0)
            {
                IncreaseSatiation(instance.food);
                SetFood(0);
                UIManger.instance.ShowSystemText();
                UIManger.StartChangeMap();
            }
            CameraManager.instance.cmrAnimator.SetBool("inHome", true);
        }
        else
        {
            if (_data.cubeType == E_DUNGEON_CUBE_TYPE.WATER)
            {
                ParticleManager.ShowParticle((int)destination.x, (int)destination.z, E_PARTICLE_TYPE.WATER);
            }

            CameraManager.instance.cmrAnimator.SetBool("inHome", false);
            IncreaseSatiation(-1f);
        }
        //		Fuse (slimeMode, _data.itemType);
    }