public void SetTarget(GameObject obj) { if (obj != AI_LastTarget && obj.GetComponent <BlockFaceMain> () != null) { BlockFaceMain bf = obj.GetComponent <BlockFaceMain> (); if (bf != null) { switch (bf.ChangeDirection.ToLower()) { case "left": Direction = Vector3.left; break; case "right": Direction = Vector3.right; break; case "forward": Direction = Vector3.forward; break; case "back": case "backwards": Direction = Vector3.back; break; } } if (Direction == Vector3.right || Direction == Vector3.left) { obj.GetComponent <BlockFaceMain>().ChangeFix(true); } else { obj.GetComponent <BlockFaceMain>().ChangeFix(false); } customGravity.Target = obj; if (AI_LastTarget != null) { AI_LastTarget.GetComponent <BlockFaceMain>().targeted = false; } bf.targeted = true; AI_LastTarget = obj; } else { if (obj.GetComponent <DoorBehavior>() != null) { if (Item.item == false) { ReverseDirection(); } else { Application.LoadLevel("Menu"); } } } }
public void SetTarget(GameObject obj) { if (obj != AI_LastTarget && obj.GetComponent <BlockFaceMain>() != null) { BlockFaceMain bf = obj.GetComponent <BlockFaceMain>(); if (bf != null) { if (AI_LastTarget != null) { AI_LastTarget.GetComponent <BlockFaceMain>().ChangeDirection = backupDirection; } backupDirection = bf.ChangeDirection; bf.ChangeCustom(directions[actualDirection]); if (actualDirection < directions.Length - 1) { actualDirection++; } else { actualDirection = 0; } switch (bf.ChangeDirection.ToLower()) { case "left": Direction = Vector3.left; break; case "right": Direction = Vector3.right; break; case "forward": case "up": Direction = Vector3.forward; break; case "back": case "down": case "backwards": Direction = Vector3.back; break; } } if (Direction == Vector3.right || Direction == Vector3.left) { obj.GetComponent <BlockFaceMain>().ChangeFix(true); } else { obj.GetComponent <BlockFaceMain>().ChangeFix(false); } customGravity.Target = obj; if (AI_LastTarget != null) { AI_LastTarget.GetComponent <BlockFaceMain>().targeted = false; } AI_LastTarget = obj; bf.targeted = true; } }