/// <summary> MOUSE VERSION /// Returns the Ring as Gameobject if raycast hit. Else return null. /// </summary> /// <returns>Gameobject</returns> GameObject GetSelectedRingMouse() { // No need for raycast if a ring is already selected. if (SelectedRing != null) { return(SelectedRing); } RaycastHit2D hit = RayCast(); // If we did not hit anything that we wanted, just return null. if (!hit) { return(null); } //If we hit a Ring if (hit.transform.gameObject.GetComponent <RingBehaviour>()) { return(hit.transform.gameObject); } //If we hit a PinBehaviourObject if (hit.transform.gameObject.GetComponent <PinBehaviour>()) { PinBehaviour temp = hit.transform.gameObject.GetComponent <PinBehaviour>(); if (temp.GetAmountOfRingsOnThisPin() != 0) // and there is a ring on the pin { return(temp.GetRingsOnThisPin()[temp.GetAmountOfRingsOnThisPin() - 1].gameObject); //return top ring. } } //If nothing else, return null return(null); }
public DefaultState(PinBehaviour element, BlackboardBehaviour behaviour) : base(element) { _blackboardBehaviour = behaviour; _graph = element.Pin.Graph; }
private void Start() { parentPinBehaviour = this.transform.parent.GetComponent <PinBehaviour>(); overYPos = new Vector2(this.transform.position.x, this.transform.position.y + 1); }