Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Player
- private const float _initialSpeed = 5f;
- [SerializeField]
- private float _playerSpeed = _initialSpeed;
- [SerializeField]
- private GameObject _laserPrefab;
- [SerializeField]
- private GameObject _tripleShotPrefab;
- [SerializeField]
- private GameObject _laserContainer;
- [SerializeField]
- private GameObject _playerShields;
- private GameObject _letEngine;
- private GameObject _rightEngine;
- [SerializeField]
- private float _fireRate = 0.5f;
- private float _canFire = -1;
- [SerializeField]
- private int _lives = 3;
- [SerializeField]
- private int _score = 10;
- [SerializeField]
- private bool _isTripleShotEnabled = false;
- private bool _isSpeedEnabled = false;
- private bool _isShieldEnabled = false;
- [SerializeField]
- private bool _isPlayerOne = false;
- [SerializeField]
- private bool _isPlayerTwo = false;
- private SpawnMnager _spawnMnager;
- private UIManager _uiManager;
- private Animator _animator;
- [SerializeField]
- private AudioClip _laserAudioClip;
- private AudioSource _audioSource;
- private GameObject _seconPlayer;
- void Start() {
- if (SceneManager.GetActiveScene().buildIndex == 1) {
- transform.position = new Vector3(0, 0, 0);
- _isPlayerOne = true;
- } else {
- _seconPlayer = GameObject.Find("seconPlayer");
- _isPlayerTwo = true;
- transform.position = new Vector3(-5.58f, 0, 0);
- _seconPlayer.transform.position = new Vector3(6, 0, 0);
- }
- _spawnMnager = GameObject.Find("SpawnManager").GetComponent<SpawnMnager>();
- if (_spawnMnager.Equals(null)) {
- Debug.LogError("We could not find the SpawnManager, make sure its in your scene");
- }
- _uiManager = GameObject.Find("UI").GetComponent<UIManager>();
- if (_uiManager.Equals(null)) {
- Debug.LogError("We could not find the object named UI, make sure that is spell right");
- }
- _animator = GetComponent<Animator>();
- if (_animator.Equals(null)) {
- Debug.LogError("Missing the Animator component");
- }
- _letEngine = transform.Find("LeftEngineFail").gameObject;
- if (_letEngine.Equals(null)) {
- Debug.LogError("Make sure that you have the LeftEngineFail inside you player");
- }
- _rightEngine = transform.Find("RightEngineFail").gameObject;
- if (_rightEngine.Equals(null)) {
- Debug.LogError("Make sure that you have the RightEngineFail inside you player");
- }
- _audioSource = GetComponent<AudioSource>();
- if (_audioSource.Equals(null)) {
- Debug.LogError("Make sure that you have the Audio Source component");
- }
- }
- // Update is called once per frame
- void Update() {
- CalculateMovement();
- PlayerBounds();
- if (Input.GetButtonDown("Fire1") && Time.time > _canFire) {
- _canFire = Time.time + _fireRate;
- ShootLaser(_isTripleShotEnabled);
- }
- }
- private void ShootLaser(bool tripleShotEnable) {
- GameObject laserContainer;
- if (!tripleShotEnable) {
- laserContainer = Instantiate(_laserPrefab,
- transform.position + new Vector3(0, 0.8f, 0),
- Quaternion.identity);
- } else {
- laserContainer = Instantiate(_tripleShotPrefab,
- transform.position,
- Quaternion.identity);
- }
- laserContainer.transform.parent = _laserContainer.transform;
- _audioSource.clip = _laserAudioClip;
- _audioSource.Play();
- }
- private void PlayerBounds() {
- // X - Axis bounds
- if (transform.position.x > 11.3) {
- transform.position = new Vector3(-11.3f, transform.position.y, 0);
- } else if (transform.position.x < -11.3) {
- transform.position = new Vector3(11.3f, transform.position.y, 0);
- }
- //Y - Axis Bounds
- if (transform.position.y > 7.5) {
- transform.position = new Vector3(transform.position.x, -7.5f, 0);
- } else if (transform.position.y < -7.5) {
- transform.position = new Vector3(transform.position.x, 7.5f, 0);
- }
- }
- private void CalculateMovement() {
- float HorizontalInput = Input.GetAxis("Horizontal");
- float VerticalInput = Input.GetAxis("Vertical");
- Vector3 direction = new(HorizontalInput, VerticalInput, 0);
- _animator.SetFloat("PlayerTurn", HorizontalInput);
- _animator.SetInteger("OriginalPos", (int)HorizontalInput);
- transform.Translate(direction * _playerSpeed * Time.deltaTime);
- }
- public void Damage() {
- if (_isShieldEnabled == true) {
- _isShieldEnabled = false;
- _playerShields.SetActive(false);
- return;
- }
- _lives -= 1;
- _uiManager.UpdateLives(_lives);
- if (_lives == 2) {
- _letEngine.SetActive(true);
- } else if (_lives == 1) {
- _rightEngine.SetActive(true);
- } else if (_lives == 0) {
- _spawnMnager.StopSpawnning();
- Destroy(gameObject);
- }
- }
- public void EnablePowerUp(int PowerupID) {
- switch (PowerupID) {
- case 0:
- _isTripleShotEnabled = true;
- StartCoroutine(TripleShotPowerDown());
- break;
- case 1:
- if (_isSpeedEnabled == false) {
- _isSpeedEnabled = true;
- _playerSpeed *= 2;
- StartCoroutine(SpeedPowerDown());
- }
- break;
- case 2:
- _isShieldEnabled = true;
- _playerShields.SetActive(true);
- break;
- }
- }
- IEnumerator SpeedPowerDown() {
- yield return new WaitForSeconds(5);
- _isSpeedEnabled = false;
- _playerSpeed = _initialSpeed;
- }
- IEnumerator TripleShotPowerDown() {
- yield return new WaitForSeconds(5);
- _isTripleShotEnabled = false;
- }
- internal void AddScrore(int points) {
- _score += points;
- _uiManager.UpdateScore(_score);
- }
- }
- Laser
- [SerializeField]
- private float _speed = 8.0f;
- private Player _player;
- [SerializeField]
- private bool _isEnemyLaser = false;
- private void Start() {
- _player = GameObject.Find("Player").GetComponent<Player>();
- if (_player.Equals(null)) {
- Debug.LogError("We could not find the object named Player, make sure that is spell right");
- }
- }
- void Update() {
- if (_isEnemyLaser == true) {
- MoveDown();
- } else {
- MoveUp();
- }
- }
- private void MoveUp() {
- transform.Translate(Vector3.up * _speed * Time.deltaTime);
- if (transform.position.y > 8f) {
- Destroy(gameObject);
- }
- }
- private void MoveDown() {
- transform.Translate(Vector3.down * _speed * Time.deltaTime);
- if (transform.position.y < -8f) {
- Destroy(gameObject);
- }
- }
- public void AssignEnemyLaser() {
- _isEnemyLaser = true;
- }
- private void OnTriggerEnter2D(Collider2D collision) {
- if (collision.CompareTag("Player") && _isEnemyLaser == true) {
- if (collision.TryGetComponent<Player>(out var Player)) {
- Player.Damage();
- }
- }
- }
- }
- [SerializeField]
- private float _speed = 8.0f;
- private Player _player;
- [SerializeField]
- private bool _isEnemyLaser = false;
- private void Start() {
- _player = GameObject.Find("Player").GetComponent<Player>();
- if (_player.Equals(null)) {
- Debug.LogError("We could not find the object named Player, make sure that is spell right");
- }
- }
- void Update() {
- if (_isEnemyLaser == true) {
- MoveDown();
- } else {
- MoveUp();
- }
- }
- private void MoveUp() {
- transform.Translate(Vector3.up * _speed * Time.deltaTime);
- if (transform.position.y > 8f) {
- Destroy(gameObject);
- }
- }
- private void MoveDown() {
- transform.Translate(Vector3.down * _speed * Time.deltaTime);
- if (transform.position.y < -8f) {
- Destroy(gameObject);
- }
- }
- public void AssignEnemyLaser() {
- _isEnemyLaser = true;
- }
- private void OnTriggerEnter2D(Collider2D collision) {
- if (collision.CompareTag("Player") && _isEnemyLaser == true) {
- if (collision.TryGetComponent<Player>(out var Player)) {
- Player.Damage();
- }
- }
- }
- }
- Enemy
- float _enemySpeed = 5f;
- private Player _player;
- private Animator _animator;
- private AudioSource _audioSource;
- [SerializeField]
- private GameObject _enemyLaserPrfab;
- [SerializeField]
- private GameObject _spawnContainer;
- [SerializeField]
- private float _fireRate = 0.5f;
- private float _canFire = -1;
- private void Start() {
- _player = GameObject.Find("Player").GetComponent<Player>();
- _animator = GetComponent<Animator>();
- if (_animator.Equals(null)) {
- Debug.LogError("Missing the Animator component");
- }
- _audioSource = GetComponent<AudioSource>();
- if (_audioSource.Equals(null)) {
- Debug.LogError("Make sure that you have the Audio Source component");
- }
- }
- // Update is called once per frame
- void Update() {
- if (Time.time > _canFire) {
- _fireRate = Random.Range(3f,7f);
- _canFire = Time.time + _fireRate;
- GameObject _enemyLaser = Instantiate(_enemyLaserPrfab, transform.position, Quaternion.identity);
- var lasers = _enemyLaser.GetComponentsInChildren<Laser>();
- foreach (var item in lasers) {
- item.AssignEnemyLaser();
- }
- }
- CalculateMevement();
- }
- private void CalculateMevement() {
- transform.Translate(Vector3.down * _enemySpeed * Time.deltaTime);
- if (transform.position.y < -7.5) {
- float RandomX = Random.Range(-9.41f, 9.41f);
- transform.position = new Vector3(RandomX, 7.5f, 0);
- }
- }
- void OnTriggerEnter2D(Collider2D collision) {
- switch (collision.gameObject.tag) {
- case "Player":
- var player = collision.GetComponent<Player>();
- if (player != null) {
- player.Damage();
- _enemySpeed = 0;
- _animator.SetTrigger("Death");
- _audioSource.Play();
- Destroy(gameObject.GetComponent<PolygonCollider2D>());
- Destroy(gameObject, 2.3f);
- }
- break;
- case "Laser":
- Destroy(collision.gameObject);
- _enemySpeed = 0;
- _audioSource.Play();
- _player.AddScrore(10);
- _animator.SetTrigger("Death");
- Destroy(gameObject, 2.3f);
- Destroy(gameObject.GetComponent<Collider2D>());
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement