74 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C#
		
	
	
	
// Curved World <http://u3d.as/1W8h>
 | 
						|
// Copyright (c) Amazing Assets <https://amazingassets.world>
 | 
						|
 
 | 
						|
using UnityEngine;
 | 
						|
 | 
						|
#if USE_INPUT_SYSTEM && ENABLE_INPUT_SYSTEM
 | 
						|
using UnityEngine.InputSystem;
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
namespace AmazingAssets.CurvedWorld.Examples
 | 
						|
{
 | 
						|
    public class RunnerPlayer : MonoBehaviour
 | 
						|
    {
 | 
						|
        public enum Side { Left, Right }
 | 
						|
 | 
						|
 | 
						|
        Vector3 initialPosition;
 | 
						|
        Vector3 newPos;
 | 
						|
        Side side;
 | 
						|
 | 
						|
 | 
						|
#if USE_INPUT_SYSTEM && ENABLE_INPUT_SYSTEM
 | 
						|
        Key moveLeftKey = Key.A;
 | 
						|
        Key moveRightKey = Key.D;
 | 
						|
#else
 | 
						|
        KeyCode moveLeftKey = KeyCode.A;
 | 
						|
        KeyCode moveRightKey = KeyCode.D;
 | 
						|
#endif
 | 
						|
 | 
						|
        Animation animationComp;
 | 
						|
        public AnimationClip moveLeftAnimation;
 | 
						|
        public AnimationClip moveRightAnimation;
 | 
						|
 | 
						|
        float translateOffset = 3.5f;
 | 
						|
 | 
						|
 | 
						|
        void Start()
 | 
						|
        {
 | 
						|
            initialPosition = transform.position;
 | 
						|
 | 
						|
            side = Side.Left;
 | 
						|
            newPos = transform.localPosition + new Vector3(0, 0, translateOffset);
 | 
						|
 | 
						|
            animationComp = GetComponent<Animation>();
 | 
						|
        }        
 | 
						|
        void Update()
 | 
						|
        {
 | 
						|
            if (ExampleInput.GetKeyDown(moveLeftKey))
 | 
						|
            {
 | 
						|
                if (side == Side.Right)
 | 
						|
                {
 | 
						|
                    newPos = initialPosition + new Vector3(0, 0, translateOffset);
 | 
						|
                    side = Side.Left;
 | 
						|
 | 
						|
                    animationComp.Play(moveLeftAnimation.name);
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else if (ExampleInput.GetKeyDown(moveRightKey))
 | 
						|
            {
 | 
						|
                if (side == Side.Left)
 | 
						|
                {
 | 
						|
                    newPos = initialPosition + new Vector3(0, 0, -translateOffset);
 | 
						|
                    side = Side.Right;
 | 
						|
 | 
						|
                    animationComp.Play(moveRightAnimation.name);
 | 
						|
                }
 | 
						|
            }
 | 
						|
 | 
						|
            transform.localPosition = Vector3.Lerp(transform.localPosition, newPos, Time.deltaTime * 10);
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |