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