updated enemy behavior
added more sprites, increased functionality, etc
This commit is contained in:
		@@ -4,7 +4,7 @@ using UnityEngine;
 | 
			
		||||
 | 
			
		||||
public class CameraMovement : MonoBehaviour {
 | 
			
		||||
 | 
			
		||||
    GameObject player;
 | 
			
		||||
    public GameObject player;
 | 
			
		||||
 | 
			
		||||
    [Header("Movement Shifting")]
 | 
			
		||||
    [SerializeField] float xOffset;
 | 
			
		||||
@@ -41,5 +41,8 @@ public class CameraMovement : MonoBehaviour {
 | 
			
		||||
 | 
			
		||||
    public void FindPlayer() {
 | 
			
		||||
        player = GameObject.FindGameObjectWithTag("Player");
 | 
			
		||||
        if (player == null) {
 | 
			
		||||
            print("null player!");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -10,6 +10,11 @@ public class EnemyPatrol : MonoBehaviour {
 | 
			
		||||
    public float xRight;
 | 
			
		||||
    public Vector2 movementVector = Vector2.right;
 | 
			
		||||
    public float moveSpeed;
 | 
			
		||||
    Animator animator;
 | 
			
		||||
 | 
			
		||||
    void Awake() {
 | 
			
		||||
        animator = GetComponent<Animator>();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Start is called before the first frame update
 | 
			
		||||
    void Start() {
 | 
			
		||||
@@ -23,11 +28,21 @@ public class EnemyPatrol : MonoBehaviour {
 | 
			
		||||
        if (!pinned) {
 | 
			
		||||
            if (transform.position.x >= xRight || transform.position.x <= xLeft) {
 | 
			
		||||
                movementVector = -movementVector;
 | 
			
		||||
                GetComponent<SpriteRenderer>().flipX = !GetComponent<SpriteRenderer>().flipX;
 | 
			
		||||
            }
 | 
			
		||||
            transform.position += new Vector3(movementVector.x, 0, 0) * Time.deltaTime;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void TogglePin(bool isPinned) {
 | 
			
		||||
        if (isPinned) {
 | 
			
		||||
            animator.speed = 0;
 | 
			
		||||
        } else {
 | 
			
		||||
            animator.speed = 1;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    void OnDrawGizmos() {
 | 
			
		||||
        Gizmos.color = Color.green;
 | 
			
		||||
        Gizmos.DrawLine(new Vector3(transform.position.x - range, transform.position.y, transform.position.z), new Vector3(transform.position.x + range, transform.position.y, transform.position.z));
 | 
			
		||||
 
 | 
			
		||||
@@ -34,6 +34,7 @@ public class PlayerBehavior : MonoBehaviour
 | 
			
		||||
        _rb = GetComponent<Rigidbody2D>();
 | 
			
		||||
        stateController = GameObject.Find("StateController").GetComponent<StateController>();
 | 
			
		||||
        animator = GetComponent<Animator>();
 | 
			
		||||
        GameObject.Find("Main Camera").GetComponent<CameraMovement>().player = this.gameObject;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    void Update()
 | 
			
		||||
@@ -78,16 +79,16 @@ public class PlayerBehavior : MonoBehaviour
 | 
			
		||||
        _hInput = value.Get<Vector2>().x;
 | 
			
		||||
        if (_hInput < 0)
 | 
			
		||||
        {
 | 
			
		||||
            // if (forward != -1) { // if character hasnt already flipped 
 | 
			
		||||
            //     FlipScale();
 | 
			
		||||
            // }
 | 
			
		||||
            if (forward != -1) { // if character hasnt already flipped 
 | 
			
		||||
                FlipRenderer();
 | 
			
		||||
            }
 | 
			
		||||
            forward = -1;
 | 
			
		||||
        }
 | 
			
		||||
        else if (_hInput > 0)
 | 
			
		||||
        {
 | 
			
		||||
            // if (forward != 1) { // if character hasnt already flipped 
 | 
			
		||||
            //     FlipScale();
 | 
			
		||||
            // }
 | 
			
		||||
            if (forward != 1) { // if character hasnt already flipped 
 | 
			
		||||
                FlipRenderer();
 | 
			
		||||
            }
 | 
			
		||||
            forward = 1;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@@ -99,6 +100,10 @@ public class PlayerBehavior : MonoBehaviour
 | 
			
		||||
        this.gameObject.transform.localScale = currentScale;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    void FlipRenderer() {
 | 
			
		||||
        GetComponent<SpriteRenderer>().flipX = !GetComponent<SpriteRenderer>().flipX;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    void ThrowTambourine() {
 | 
			
		||||
        if (hasTambourine && !grapplingRope.isGrappling)
 | 
			
		||||
            {
 | 
			
		||||
 
 | 
			
		||||
@@ -16,7 +16,7 @@ public class ProjectileEnemy : MonoBehaviour {
 | 
			
		||||
        yield return new WaitForSeconds(3f);
 | 
			
		||||
        GameObject newProjectile = Instantiate(projectile, firePoint.transform.position, firePoint.transform.rotation);
 | 
			
		||||
        newProjectile.GetComponent<Rigidbody2D>().AddRelativeForce(new Vector2(80, 0));
 | 
			
		||||
        newProjectile.transform.Rotate(new Vector3(0,0,45));
 | 
			
		||||
        newProjectile.transform.Rotate(new Vector3(0,0,-90));
 | 
			
		||||
        StartCoroutine(Fire());
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -56,6 +56,7 @@ public class TambourineBehavior : MonoBehaviour {
 | 
			
		||||
        if (collidedObject.tag == "Enemy") {
 | 
			
		||||
            this.gameObject.GetComponent<CircleCollider2D>().enabled = false;
 | 
			
		||||
            collidedObject.GetComponent<EnemyPatrol>().pinned = true;
 | 
			
		||||
            collidedObject.GetComponent<EnemyPatrol>().TogglePin(true);
 | 
			
		||||
        } else if (collidedObject.tag == "Projectile") {
 | 
			
		||||
            // print("pinned");
 | 
			
		||||
            this.gameObject.GetComponent<CircleCollider2D>().enabled = false;
 | 
			
		||||
@@ -80,6 +81,7 @@ public class TambourineBehavior : MonoBehaviour {
 | 
			
		||||
    public void DestroySelf() {
 | 
			
		||||
        if (collidedObject != null && collidedObject.tag == "Enemy") {
 | 
			
		||||
            collidedObject.GetComponent<EnemyPatrol>().pinned = false;
 | 
			
		||||
            collidedObject.GetComponent<EnemyPatrol>().TogglePin(false);
 | 
			
		||||
        } else if (collidedObject != null && collidedObject.tag == "Projectile") {
 | 
			
		||||
            collidedObject.GetComponent<ProjectileBehavior>().Explode();
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -134,7 +134,7 @@ public class Tutorial_GrapplingGun : MonoBehaviour {
 | 
			
		||||
        m_distanceJoint2D.enabled = false;
 | 
			
		||||
        inDistanceRange = false;
 | 
			
		||||
        m_rigidBody2D.gravityScale = 1;
 | 
			
		||||
        gunPivot.rotation = Quaternion.AngleAxis(70, Vector3.forward);
 | 
			
		||||
        gunPivot.rotation = Quaternion.AngleAxis(90, Vector3.forward);
 | 
			
		||||
        // print("disabled");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user