Files
FebGameJam/Assets/Scripts/WaterSpirit.cs
T

49 lines
1.5 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class WaterSpirit : MonoBehaviour {
public float swimSpeed = .25f;
private BoxCollider2D boxCollider;
private Transform player;
private Rigidbody2D rb;
private Vector2 movement = Vector2.zero;
private float sizeOffset = 1;
private bool activated = false;
void Start() {
rb = this.GetComponent<Rigidbody2D>();
boxCollider = this.GetComponent<BoxCollider2D>();
sizeOffset = Random.Range(2f, 3f);
player = GameObject.FindWithTag("Player").transform;
if (player == null) {
Debug.Log("Player not found! Make sure Seiden's Char Movement has a tag of Player!");
}
}
void Update() {
if (Movement.pause) return;
Vector3 direction = player.position - transform.position;
movement = direction.normalized;
// Scale spirit size so they look like the swim like squid lol
float size = Mathf.Sin(Time.time * sizeOffset) * .25f + 1;
transform.localScale = new Vector3(size, size, 1);
}
void FixedUpdate() {
if (Movement.pause) return;
moveMe(movement);
}
private void OnTriggerEnter2D(Collider2D collision) {
if (collision.tag == "Player") {
collision.GetComponent<Health>().takeHit();
}
}
void moveMe(Vector2 direction) {
rb.MovePosition(rb.position + direction * swimSpeed * Time.fixedDeltaTime);
}
}