IEnumerator TurnAnim(DirectionalControl.Direction d) { if (d == DirectionalControl.Direction.Up) { FindObjectOfType <AudioManager>().Play("Up"); } else if (d == DirectionalControl.Direction.Down) { FindObjectOfType <AudioManager>().Play("Down"); } else if (d == DirectionalControl.Direction.Right) { FindObjectOfType <AudioManager>().Play("Right"); } else if (d == DirectionalControl.Direction.Left) { FindObjectOfType <AudioManager>().Play("Left"); } turning = true; if (Check180(m_direction, d)) { anim.SetTrigger("180"); yield return(new WaitForSeconds(0.9f)); } else if (CheckCW90(m_direction, d)) { anim.SetTrigger("Right"); yield return(new WaitForSeconds(0.9f)); } else if (CheckCCW90(m_direction, d)) { anim.SetTrigger("Left"); yield return(new WaitForSeconds(0.9f)); } if (d == DirectionalControl.Direction.Up) { transform.rotation = Quaternion.Euler(new Vector3(transform.rotation.x, 0)); } else if (d == DirectionalControl.Direction.Down) { transform.rotation = Quaternion.Euler(new Vector3(transform.rotation.x, 180)); } else if (d == DirectionalControl.Direction.Right) { transform.rotation = Quaternion.Euler(new Vector3(transform.rotation.x, 90)); } else if (d == DirectionalControl.Direction.Left) { transform.rotation = Quaternion.Euler(new Vector3(transform.rotation.x, -90)); } turning = false; yield return(null); }
// Update is called once per frame void Update() { for (int i = 0; i < status.Length; i++) { displayStatusApprox[i] = Mathf.Lerp(displayStatusApprox[i], status[i], Time.unscaledDeltaTime * 2); amounts[i].fontSize = Mathf.RoundToInt(Mathf.Abs(status[i] - displayStatusApprox[i]) / 2) + startFontSize[i]; displayStatus[i] = Mathf.RoundToInt(displayStatusApprox[i]); float c = Mathf.Abs(status[i] - displayStatusApprox[i]) / 15; if (c > 1) { c = 1; } imageColor[i] = Color.Lerp(colors[i], Color.white, c); image[i].rectTransform.localScale = new Vector2(Mathf.Abs(status[i] - displayStatusApprox[i]) / 8.5f + 1, Mathf.Abs(status[i] - displayStatusApprox[i]) / 8.5f + 1); amounts[i].rectTransform.localScale = new Vector2(Mathf.Abs(status[i] - displayStatusApprox[i]) / 8.5f + 1, Mathf.Abs(status[i] - displayStatusApprox[i]) / 8.5f + 1); redAmount[i] = Mathf.Lerp(redAmount[i], 0, Time.deltaTime * 2); image[i].color = Color.Lerp(imageColor[i], Color.red, redAmount[i]); amounts[i].color = Color.Lerp(imageColor[i], Color.red, redAmount[i]); } StartCoroutine(Move(selection, selectionPositions[index])); selection.sizeDelta = new Vector2(55, 55); DirectionalControl.Direction d = FindObjectOfType <Placement>().currentDirection; if (d == DirectionalControl.Direction.Left) { index = 0; } if (d == DirectionalControl.Direction.Up) { index = 1; } if (d == DirectionalControl.Direction.Down) { index = 2; } if (d == DirectionalControl.Direction.Right) { index = 3; } for (int i = 0; i < amounts.Length; i++) { amounts[i].text = Mathf.RoundToInt(displayStatus[i]).ToString(); } }
// Start is called before the first frame update void Start() { FindObjectOfType <AudioManager>().Play("City"); m_direction = DirectionalControl.Direction.Up; turning = false; turnfull = false; foreach (Rigidbody r in characterJoints) { r.isKinematic = true; } foreach (Collider c in characterColliders) { c.enabled = false; } anim.enabled = true; lives = 3; startLives = lives; disableTimer = 0; }
public int IntFromDirection(DirectionalControl.Direction d) { if (d == DirectionalControl.Direction.Left) { return(0); } else if (d == DirectionalControl.Direction.Up) { return(1); } else if (d == DirectionalControl.Direction.Down) { return(2); } else if (d == DirectionalControl.Direction.Right) { return(3); } else { return(0); } }
public void ChangeSelctionDirection(DirectionalControl.Direction d) { currentDirection = d; }
bool CheckCCW90(DirectionalControl.Direction d1, DirectionalControl.Direction d2) { return((d1 == DirectionalControl.Direction.Up && d2 == DirectionalControl.Direction.Left) || (d1 == DirectionalControl.Direction.Left && d2 == DirectionalControl.Direction.Down) || (d1 == DirectionalControl.Direction.Down && d2 == DirectionalControl.Direction.Right) || (d1 == DirectionalControl.Direction.Right && d2 == DirectionalControl.Direction.Up)); }
public void TurnCar(DirectionalControl.Direction direction) { StartCoroutine(TurnAnim(direction)); m_direction = direction; }