Files
UltimateFishing2020/Assets/Scripts/Assembly-CSharp/Duck.cs
2026-03-04 10:03:45 +08:00

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