157 lines
4.7 KiB
C#
157 lines
4.7 KiB
C#
using UnityEngine;
|
|
|
|
public class Swan : MonoBehaviour
|
|
{
|
|
private Animator swan;
|
|
|
|
public GameObject MainCamera;
|
|
|
|
private bool CapsLockOn = true;
|
|
|
|
public GameObject plane;
|
|
|
|
public GameObject water;
|
|
|
|
private void Start()
|
|
{
|
|
swan = GetComponent<Animator>();
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if (Input.GetKeyDown(KeyCode.CapsLock))
|
|
{
|
|
CapsLockOn = !CapsLockOn;
|
|
}
|
|
if (swan.GetCurrentAnimatorStateInfo(0).IsName("idle"))
|
|
{
|
|
swan.SetBool("landing", value: false);
|
|
swan.SetBool("takeoff", value: false);
|
|
swan.SetBool("fly", value: false);
|
|
swan.SetBool("swimleft", value: false);
|
|
swan.SetBool("swimright", value: false);
|
|
swan.SetBool("swim", value: false);
|
|
}
|
|
if (Input.GetKeyUp(KeyCode.W) || Input.GetKeyUp(KeyCode.F) || Input.GetKeyUp(KeyCode.A) || Input.GetKeyUp(KeyCode.D))
|
|
{
|
|
swan.SetBool("idle", value: true);
|
|
swan.SetBool("walk", value: false);
|
|
swan.SetBool("glide", value: false);
|
|
swan.SetBool("fly", value: true);
|
|
swan.SetBool("flyleft", value: false);
|
|
swan.SetBool("flyright", value: false);
|
|
swan.SetBool("turnleft", value: false);
|
|
swan.SetBool("turnright", value: false);
|
|
swan.SetBool("swim", value: false);
|
|
swan.SetBool("swimleft", value: false);
|
|
swan.SetBool("swimright", value: false);
|
|
swan.SetBool("idle2", value: false);
|
|
plane.GetComponent<MeshRenderer>().enabled = true;
|
|
water.GetComponent<MeshRenderer>().enabled = false;
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.W))
|
|
{
|
|
swan.SetBool("walk", value: true);
|
|
swan.SetBool("idle", value: false);
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.Space))
|
|
{
|
|
swan.SetBool("idle", value: false);
|
|
swan.SetBool("takeoff", value: true);
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.Space))
|
|
{
|
|
swan.SetBool("fly", value: false);
|
|
swan.SetBool("landing", value: true);
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.F))
|
|
{
|
|
swan.SetBool("glide", value: true);
|
|
swan.SetBool("fly", value: false);
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.A))
|
|
{
|
|
swan.SetBool("flyleft", value: true);
|
|
swan.SetBool("fly", value: false);
|
|
swan.SetBool("turnleft", value: true);
|
|
swan.SetBool("idle", value: false);
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.D))
|
|
{
|
|
swan.SetBool("flyright", value: true);
|
|
swan.SetBool("fly", value: false);
|
|
swan.SetBool("turnright", value: true);
|
|
swan.SetBool("idle", value: false);
|
|
}
|
|
if (Input.GetKeyUp(KeyCode.W) && !CapsLockOn)
|
|
{
|
|
swan.SetBool("idle2", value: true);
|
|
swan.SetBool("idle", value: false);
|
|
swan.SetBool("swim", value: false);
|
|
swan.SetBool("swimleft", value: false);
|
|
swan.SetBool("swimright", value: false);
|
|
plane.GetComponent<MeshRenderer>().enabled = false;
|
|
water.GetComponent<MeshRenderer>().enabled = true;
|
|
}
|
|
if (Input.GetKeyUp(KeyCode.A) && !CapsLockOn)
|
|
{
|
|
swan.SetBool("idle2", value: true);
|
|
swan.SetBool("idle", value: false);
|
|
swan.SetBool("swim", value: false);
|
|
swan.SetBool("swimleft", value: false);
|
|
swan.SetBool("swimright", value: false);
|
|
plane.GetComponent<MeshRenderer>().enabled = false;
|
|
water.GetComponent<MeshRenderer>().enabled = true;
|
|
}
|
|
if (Input.GetKeyUp(KeyCode.D) && !CapsLockOn)
|
|
{
|
|
swan.SetBool("idle2", value: true);
|
|
swan.SetBool("idle", value: false);
|
|
swan.SetBool("swim", value: false);
|
|
swan.SetBool("swimleft", value: false);
|
|
swan.SetBool("swimright", value: false);
|
|
plane.GetComponent<MeshRenderer>().enabled = false;
|
|
water.GetComponent<MeshRenderer>().enabled = true;
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.W) && !CapsLockOn)
|
|
{
|
|
swan.SetBool("swim", value: true);
|
|
swan.SetBool("idle", value: false);
|
|
swan.SetBool("walk", value: false);
|
|
swan.SetBool("idle2", value: false);
|
|
plane.GetComponent<MeshRenderer>().enabled = false;
|
|
water.GetComponent<MeshRenderer>().enabled = true;
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.A) && !CapsLockOn)
|
|
{
|
|
swan.SetBool("swimleft", value: true);
|
|
swan.SetBool("swimright", value: false);
|
|
swan.SetBool("swim", value: false);
|
|
swan.SetBool("turnleft", value: false);
|
|
swan.SetBool("idle", value: false);
|
|
swan.SetBool("idle2", value: false);
|
|
plane.GetComponent<MeshRenderer>().enabled = false;
|
|
water.GetComponent<MeshRenderer>().enabled = true;
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.D) && !CapsLockOn)
|
|
{
|
|
swan.SetBool("swimleft", value: false);
|
|
swan.SetBool("swimright", value: true);
|
|
swan.SetBool("swim", value: false);
|
|
swan.SetBool("turnright", value: false);
|
|
swan.SetBool("idle", value: false);
|
|
swan.SetBool("idle2", value: false);
|
|
plane.GetComponent<MeshRenderer>().enabled = false;
|
|
water.GetComponent<MeshRenderer>().enabled = true;
|
|
}
|
|
if (Input.GetKeyDown(KeyCode.RightControl))
|
|
{
|
|
MainCamera.GetComponent<CameraFollow>().enabled = false;
|
|
}
|
|
if (Input.GetKeyUp(KeyCode.RightControl))
|
|
{
|
|
MainCamera.GetComponent<CameraFollow>().enabled = true;
|
|
}
|
|
}
|
|
}
|