141 lines
3.9 KiB
C#
141 lines
3.9 KiB
C#
using UnityEngine;
|
|
|
|
public class Duck : MonoBehaviour
|
|
{
|
|
private Animator duck;
|
|
|
|
private bool CapsLockOn;
|
|
|
|
public GameObject ground;
|
|
|
|
private void Start()
|
|
{
|
|
duck = GetComponent<Animator>();
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if (duck.GetCurrentAnimatorStateInfo(0).IsName("swim"))
|
|
{
|
|
ground.GetComponent<MeshRenderer>().enabled = false;
|
|
duck.SetBool("walk", value: false);
|
|
}
|
|
if (duck.GetCurrentAnimatorStateInfo(0).IsName("lay"))
|
|
{
|
|
duck.SetBool("idletolay", value: false);
|
|
duck.SetBool("laytoidle", value: false);
|
|
ground.GetComponent<MeshRenderer>().enabled = true;
|
|
}
|
|
if (duck.GetCurrentAnimatorStateInfo(0).IsName("idle"))
|
|
{
|
|
ground.GetComponent<MeshRenderer>().enabled = true;
|
|
duck.SetBool("lay", value: false);
|
|
duck.SetBool("walk", value: false);
|
|
}
|
|
if (duck.GetCurrentAnimatorStateInfo(0).IsName("walk"))
|
|
{
|
|
ground.GetComponent<MeshRenderer>().enabled = true;
|
|
duck.SetBool("swim", value: false);
|
|
}
|
|
if (duck.GetCurrentAnimatorStateInfo(0).IsName("run"))
|
|
{
|
|
ground.GetComponent<MeshRenderer>().enabled = true;
|
|
duck.SetBool("idle", value: false);
|
|
duck.SetBool("lay", value: false);
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.CapsLock))
|
|
{
|
|
CapsLockOn = !CapsLockOn;
|
|
}
|
|
if (Input.GetKeyUp(KeyCode.W) || Input.GetKeyUp(KeyCode.E))
|
|
{
|
|
duck.SetBool("idle", value: true);
|
|
duck.SetBool("walk", value: false);
|
|
duck.SetBool("swim", value: false);
|
|
duck.SetBool("lay", value: true);
|
|
duck.SetBool("eat", value: false);
|
|
}
|
|
if (Input.GetKeyUp(KeyCode.A) || Input.GetKeyUp(KeyCode.D))
|
|
{
|
|
duck.SetBool("walkleft", value: false);
|
|
duck.SetBool("walkright", value: false);
|
|
duck.SetBool("walk", value: true);
|
|
}
|
|
if (Input.GetKeyUp(KeyCode.A) || Input.GetKeyUp(KeyCode.D))
|
|
{
|
|
duck.SetBool("runleft", value: false);
|
|
duck.SetBool("idle", value: true);
|
|
duck.SetBool("runright", value: false);
|
|
duck.SetBool("run", value: true);
|
|
duck.SetBool("turnleft", value: false);
|
|
duck.SetBool("turnright", value: false);
|
|
duck.SetBool("swimleft", value: false);
|
|
duck.SetBool("swimright", value: false);
|
|
duck.SetBool("swim", value: true);
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.W))
|
|
{
|
|
duck.SetBool("walk", value: true);
|
|
duck.SetBool("idle", value: false);
|
|
duck.SetBool("run", value: false);
|
|
duck.SetBool("swim", value: true);
|
|
duck.SetBool("lay", value: false);
|
|
duck.SetBool("swimleft", value: false);
|
|
duck.SetBool("swimright", value: false);
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.A))
|
|
{
|
|
duck.SetBool("runleft", value: true);
|
|
duck.SetBool("run", value: false);
|
|
duck.SetBool("walkleft", value: true);
|
|
duck.SetBool("walk", value: false);
|
|
duck.SetBool("turnleft", value: true);
|
|
duck.SetBool("idle", value: false);
|
|
duck.SetBool("swimleft", value: true);
|
|
duck.SetBool("swim", value: false);
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.D))
|
|
{
|
|
duck.SetBool("runright", value: true);
|
|
duck.SetBool("run", value: false);
|
|
duck.SetBool("walkright", value: true);
|
|
duck.SetBool("walk", value: false);
|
|
duck.SetBool("turnright", value: true);
|
|
duck.SetBool("idle", value: false);
|
|
duck.SetBool("swimright", value: true);
|
|
duck.SetBool("swim", value: false);
|
|
}
|
|
if (Input.GetKey(KeyCode.LeftShift))
|
|
{
|
|
duck.SetBool("idle", value: false);
|
|
duck.SetBool("run", value: true);
|
|
duck.SetBool("walk", value: false);
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.DownArrow))
|
|
{
|
|
duck.SetBool("idle", value: false);
|
|
duck.SetBool("idletolay", value: true);
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.UpArrow))
|
|
{
|
|
duck.SetBool("lay", value: false);
|
|
duck.SetBool("laytoidle", value: true);
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.E))
|
|
{
|
|
duck.SetBool("idle", value: false);
|
|
duck.SetBool("eat", value: true);
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.S))
|
|
{
|
|
duck.SetBool("idle", value: false);
|
|
duck.SetBool("backward", value: true);
|
|
}
|
|
if (Input.GetKeyUp(KeyCode.S))
|
|
{
|
|
duck.SetBool("idle", value: true);
|
|
duck.SetBool("backward", value: false);
|
|
}
|
|
}
|
|
}
|