updated enemy behavior

added more sprites, increased functionality, etc
This commit is contained in:
slevy14
2023-04-20 13:31:08 -07:00
parent cf6a69ebad
commit 775bfd76ea
58 changed files with 3068 additions and 1862 deletions

View File

@@ -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!");
}
}
}

View File

@@ -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));

View File

@@ -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)
{

View File

@@ -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());
}
}

View File

@@ -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();
}

View File

@@ -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");
}