Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.UI;
- public class Control : Unit {
- [SerializeField]
- private float speed = 3.0f;
- [SerializeField]
- private int lives = 5;
- [SerializeField]
- private float jumpForce = 15.0f;
- private bool isGrounded = false;
- new private Rigidbody2D rigidbody;
- private Animator animator;
- private SpriteRenderer sprite;
- private int score;
- public Text scoreText;
- private CharState State
- {
- get { return (CharState)animator.GetInteger("State"); }
- set { animator.SetInteger("State", (int)value); }
- }
- private void Awake()
- {
- rigidbody = GetComponent<Rigidbody2D>();
- animator = GetComponent<Animator>();
- sprite = GetComponentInChildren<SpriteRenderer>();
- score = 0;
- scoreText.text = "Score: " + score.ToString();
- }
- private void FixedUpdate()
- {
- CheckGround();
- }
- private void Update()
- {
- if (isGrounded) State = CharState.Idle;
- if (Input.GetButton("Horizontal")) Run();
- if (isGrounded && Input.GetButton("Jump")) Jump();
- }
- private void Run()
- {
- Vector3 direction = transform.right * Input.GetAxis("Horizontal");
- transform.position = Vector3.MoveTowards(transform.position, transform.position + direction, speed * Time.deltaTime);
- sprite.flipX = direction.x < 0.0F;
- if (isGrounded) State = CharState.Run;
- }
- private void Jump()
- {
- rigidbody.AddForce(transform.up * jumpForce, ForceMode2D.Impulse);
- }
- private void CheckGround()
- {
- Collider2D[] colliders = Physics2D.OverlapCircleAll(transform.position, 0.5F);
- isGrounded = colliders.Length > 1;
- if (!isGrounded) State = CharState.Jump;
- }
- void OnTriggerEnter2D(Collider2D other)
- {
- if (other.gameObject.CompareTag("Pick Up"))
- {
- Destroy(other.gameObject);
- score++;
- scoreText.text = "Score: " + score.ToString();
- }
- }
- }
- public enum CharState
- {
- Idle,
- Run,
- Jump,
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement