Skip to content

Instantly share code, notes, and snippets.

@GT3000
Created April 9, 2021 06:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save GT3000/aaf13c931d7642d0431ac03e8afeb227 to your computer and use it in GitHub Desktop.
Save GT3000/aaf13c931d7642d0431ac03e8afeb227 to your computer and use it in GitHub Desktop.
Sample Player.cs without comments.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player : MonoBehaviour
{
[SerializeField] private Vector3 startPos;
private Vector3 playerPos;
private Vector3 screenPos;
[SerializeField] private float speed;
[SerializeField] private float upperLimit;
[SerializeField] private float widthLimit;
private float currentSpeed;
[SerializeField] private SpriteRenderer currentThruster;
[SerializeField] private Sprite[] thrusters;
[SerializeField] private Projectile currentProjectile;
[SerializeField] private Transform[] projectileLocations;
private float fireTimePassed;
void Start()
{
startPos = transform.position;
currentSpeed = speed;
}
void Update()
{
screenPos = Camera.main.WorldToScreenPoint(transform.position);
Movement();
Fire();
}
private void Movement()
{
playerPos = new Vector3(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"));
transform.Translate(playerPos * Time.deltaTime * currentSpeed);
if (transform.position.y > upperLimit)
{
transform.position = new Vector3(transform.position.x, upperLimit);
}
else if (transform.position.y < 0.5f)
{
transform.position = new Vector3(transform.position.x, 0.5f);
}
if (screenPos.x < 0f - (transform.position.x * widthLimit))
{
if (playerPos.x > 0)
{
currentSpeed = speed;
}
else
{
currentSpeed = 0f;
}
}
else if (screenPos.x > Screen.width - (transform.position.x * widthLimit))
{
if (playerPos.x < 0)
{
currentSpeed = speed;
}
else
{
currentSpeed = 0f;
}
}
if (currentThruster.sprite == thrusters[0])
{
currentThruster.sprite = thrusters[1];
}
else
{
currentThruster.sprite = thrusters[0];
}
}
private void Fire()
{
fireTimePassed += Time.deltaTime;
if (Input.GetMouseButton(0) && fireTimePassed >= currentProjectile.FireDelay)
{
foreach (var location in projectileLocations)
{
GameObject tempProjectile = Instantiate(currentProjectile.gameObject, location.position, Quaternion.identity);
}
fireTimePassed = 0f;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment