public void AddToCheckAgainst(XZABB xzabb) { if (!checkAgainst.Contains(xzabb)) { checkAgainst.Add(xzabb); } }
private bool IsColliding(XZABB xzabb) { return (xzabb.transform.position.x - xzabb.left < transform.position.x + right && xzabb.transform.position.x + xzabb.right > transform.position.x - left && xzabb.transform.position.z - xzabb.down < transform.position.z + up && xzabb.transform.position.z + xzabb.up > transform.position.z - down ); }
// Start is called before the first frame update void Start() { PickUpable.OnDropped += PickUpable_OnDropped; PickUpable.OnPickedUp += PickUpable_OnPickedUp; foreach (GameObject slot in slots) { XZABB xzabb = slot.GetComponent <XZABB>(); xzabb.OnXZABBEnter += XZABB_OnXZABBEnter; xzabb.OnXZABBLeave += XZABB_OnXZABBLeave; } }
private void PickUpable_OnPickedUp(PickUpable pickedUp) { if (!GetIsValid(pickedUp)) { return; } slotProvider.GetActiveGlow().SetActive(true); XZABB pickedUpXZABB = pickedUp.GetComponent <XZABB>(); if (pickedUpXZABB == null) { Debug.Log("An object that was picked up doesn't have a valid XZABB: " + pickedUp.gameObject.name); } XZABB slotXZABB = slotProvider.GetActiveSlot().GetComponent <XZABB>(); slotXZABB.AddToCheckAgainst(pickedUpXZABB); pickedUpXZABB.AddToCheckAgainst(slotXZABB); }
private void Awake() { dragPlane = new Plane(Vector3.down, dragPlaneHeight); xzabb = GetComponent <XZABB>(); prospectivePL = currentPL; }