136 lines
4.4 KiB
C#
136 lines
4.4 KiB
C#
using UnityEngine;
|
|
|
|
public class Cormorant : MonoBehaviour
|
|
{
|
|
private Animator cormorant;
|
|
|
|
private bool CapsLockOn;
|
|
|
|
public GameObject water;
|
|
|
|
private void Start()
|
|
{
|
|
cormorant = GetComponent<Animator>();
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if (Input.GetKey(KeyCode.LeftAlt))
|
|
{
|
|
if (Input.GetKeyDown(KeyCode.CapsLock))
|
|
{
|
|
CapsLockOn = !CapsLockOn;
|
|
}
|
|
if (cormorant.GetCurrentAnimatorStateInfo(0).IsName("idle"))
|
|
{
|
|
cormorant.SetBool("takeoff", value: false);
|
|
cormorant.SetBool("fly", value: false);
|
|
cormorant.SetBool("landing", value: false);
|
|
}
|
|
if (cormorant.GetCurrentAnimatorStateInfo(0).IsName("idle2"))
|
|
{
|
|
cormorant.SetBool("takeoff", value: false);
|
|
cormorant.SetBool("fly", value: false);
|
|
cormorant.SetBool("landing", value: false);
|
|
}
|
|
if (Input.GetKeyUp(KeyCode.F) || Input.GetKeyUp(KeyCode.W) || Input.GetKeyUp(KeyCode.A) || Input.GetKeyUp(KeyCode.D))
|
|
{
|
|
cormorant.SetBool("idle", value: true);
|
|
cormorant.SetBool("idle2", value: true);
|
|
cormorant.SetBool("fly", value: true);
|
|
cormorant.SetBool("flapping", value: false);
|
|
cormorant.SetBool("walk", value: false);
|
|
cormorant.SetBool("glide", value: false);
|
|
cormorant.SetBool("swimleft", value: false);
|
|
cormorant.SetBool("swimright", value: false);
|
|
cormorant.SetBool("flyleft", value: false);
|
|
cormorant.SetBool("flyright", value: false);
|
|
cormorant.SetBool("turnleft", value: false);
|
|
cormorant.SetBool("turnright", value: false);
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.F))
|
|
{
|
|
cormorant.SetBool("flapping", value: true);
|
|
cormorant.SetBool("idle", value: false);
|
|
cormorant.SetBool("glide", value: true);
|
|
cormorant.SetBool("fly", value: false);
|
|
cormorant.SetBool("dive", value: true);
|
|
cormorant.SetBool("idle2", value: false);
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.W) && !CapsLockOn)
|
|
{
|
|
cormorant.SetBool("walk", value: true);
|
|
cormorant.SetBool("idle", value: false);
|
|
cormorant.SetBool("swim", value: false);
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.A))
|
|
{
|
|
cormorant.SetBool("swimleft", value: true);
|
|
cormorant.SetBool("idle2", value: false);
|
|
cormorant.SetBool("dive", value: false);
|
|
cormorant.SetBool("flyleft", value: true);
|
|
cormorant.SetBool("fly", value: false);
|
|
cormorant.SetBool("turnleft", value: true);
|
|
cormorant.SetBool("walk", value: false);
|
|
cormorant.SetBool("idle", value: false);
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.D))
|
|
{
|
|
cormorant.SetBool("swimright", value: true);
|
|
cormorant.SetBool("idle2", value: false);
|
|
cormorant.SetBool("dive", value: false);
|
|
cormorant.SetBool("flyright", value: true);
|
|
cormorant.SetBool("fly", value: false);
|
|
cormorant.SetBool("turnright", value: true);
|
|
cormorant.SetBool("walk", value: false);
|
|
cormorant.SetBool("idle", value: false);
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.Space))
|
|
{
|
|
cormorant.SetBool("takeoff", value: true);
|
|
cormorant.SetBool("idle", value: false);
|
|
cormorant.SetBool("landing", value: true);
|
|
cormorant.SetBool("glide", value: false);
|
|
cormorant.SetBool("fly", value: false);
|
|
cormorant.SetBool("idle2", value: false);
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.W) && CapsLockOn)
|
|
{
|
|
cormorant.SetBool("swim", value: true);
|
|
cormorant.SetBool("idle", value: false);
|
|
cormorant.SetBool("walk", value: false);
|
|
cormorant.SetBool("idle2", value: false);
|
|
}
|
|
if (Input.GetKeyUp(KeyCode.W) && CapsLockOn)
|
|
{
|
|
cormorant.SetBool("idle2", value: true);
|
|
cormorant.SetBool("swim", value: false);
|
|
cormorant.SetBool("walk", value: false);
|
|
}
|
|
if (CapsLockOn && cormorant.GetCurrentAnimatorStateInfo(0).IsName("landing"))
|
|
{
|
|
cormorant.SetBool("idle2", value: true);
|
|
cormorant.SetBool("landing", value: false);
|
|
}
|
|
if (!CapsLockOn && cormorant.GetCurrentAnimatorStateInfo(0).IsName("landing"))
|
|
{
|
|
cormorant.SetBool("idle", value: true);
|
|
cormorant.SetBool("landing", value: false);
|
|
}
|
|
if (CapsLockOn && cormorant.GetCurrentAnimatorStateInfo(0).IsName("emersion"))
|
|
{
|
|
cormorant.SetBool("dive", value: false);
|
|
cormorant.SetBool("inmersion", value: false);
|
|
}
|
|
if (CapsLockOn && cormorant.GetCurrentAnimatorStateInfo(0).IsName("dive"))
|
|
{
|
|
cormorant.GetComponent<CharacterController>().enabled = false;
|
|
}
|
|
if (CapsLockOn && cormorant.GetCurrentAnimatorStateInfo(0).IsName("idle2"))
|
|
{
|
|
cormorant.GetComponent<CharacterController>().enabled = true;
|
|
}
|
|
}
|
|
}
|
|
}
|