Beispiel #1
0
    /// <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);
    }
Beispiel #2
0
 public DefaultState(PinBehaviour element, BlackboardBehaviour behaviour) : base(element)
 {
     _blackboardBehaviour = behaviour;
     _graph = element.Pin.Graph;
 }
Beispiel #3
0
 private void Start()
 {
     parentPinBehaviour = this.transform.parent.GetComponent <PinBehaviour>();
     overYPos           = new Vector2(this.transform.position.x, this.transform.position.y + 1);
 }