using System.Collections; using System.Collections.Generic; using UnityEngine; public class RobotAnimation : MonoBehaviour { public GameObject Robot; public Animator robotanimation; public int turning, pending, type, timer; public float angle, curang,lmao; float calc(float desire) { lmao = desire; if (Mathf.Abs(desire - curang) <= 180F) return desire - curang; else return 360F - (desire - curang); } void point(float x, float z, int pend) { float radians = Mathf.Atan((Robot.transform.position.x - x) / (Robot.transform.position.z-z)); float angl = calc(radians * (180 / Mathf.PI)) / 100F; turning = 100; pending = 100 + pend; angle = angl; type = 0; } void palm(int pend) { pending = 1 + pend; type = 1; } void palmnpoint(float x, float z, int pend) { float radians = Mathf.Atan((Robot.transform.position.x - x) / (Robot.transform.position.z-z)); float angl = calc(radians * (180 / Mathf.PI)) / 100F; turning = 100; pending = 100 + pend; angle = angl; type = 2; } void rest(int pend) { float angl = calc(0) / 100F; turning = 100; pending = 100 + pend; angle = angl; type = 3; } // Start is called before the first frame update void Start() { robotanimation = GetComponent(); point(24, 0, 0); } // Update is called once per frame void Update() { timer++; if (timer == 300) palm(0); if (turning > 0) { turning--; Robot.transform.Rotate(0, angle, 0, Space.Self); curang += angle; } if (pending > 0) { pending--; if (pending == 0) { if (type == 0) robotanimation.Play("Point"); else if (type == 1) robotanimation.Play("OpenPalm"); else if (type == 2) robotanimation.Play("OpenPalm&Point"); else if (type == 3) { robotanimation.Play("Rest"); pending = 30; type = 4; } else if (type == 4) robotanimation.Play("Idle"); } } } }