EndlessRocket/Assets/Scripts/PlayerController.cs

78 lines
1.9 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class PlayerController : MonoBehaviour
{
void Awake(){
instance = this;
}
public static PlayerController instance;
public static Transform t => instance.transform;
public static Vector3 position=> instance.transform.position;
public float movingSpeed = 1;
public float speedIncremental = 0.01f;
public float verticalSpeed = 0.5f;
public float rotationRange = 15;
public bool invert= true;
public Text txtScore;
void Start()
{
}
// float t2=0;
// Update is called once per frame
void FixedUpdate()
{
// if(t2 < 1){
// t2+=Time.deltaTime;
// return;
// }
transform.Translate(new Vector3(movingSpeed,0), Space.World);
input = Mathf.Lerp(input, dif / inputRange, inputSmoothness);
transform.Translate(new Vector3(0,input * verticalSpeed), Space.World);
transform.localEulerAngles = new Vector3(0,0,input * rotationRange);
txtScore.text = (transform.position.x < 0) ? "" : transform.position.x.ToString("n0");
movingSpeed += speedIncremental * Time.deltaTime;
}
public float input = 0;
public float inputSmoothness =0.1f;
public float inputRange = 200;
public float dif = 0;
float startedPos=0;
public void OnPointerDown(BaseEventData e){
PointerEventData ped = (PointerEventData) e as PointerEventData;
startedPos = ped.position.y;
}
public void OnPointerDrag(BaseEventData e){
PointerEventData ped = (PointerEventData) e as PointerEventData;
dif = (invert) ? ped.position.y-startedPos: startedPos - ped.position.y;
}
public void OnPointerUp(BaseEventData e){
dif = 0;
startedPos = 0;
}
public void GameOver(){
Application.LoadLevel(0);
}
}