/// <summary>
 /// Establishes all QStates
 /// based on init,start,main strings
 /// </summary>
 void Awake()
 {
     s_Init = new QStates(init, null);
     s_Start = new QStates(start, init);
     s_Main = new QStates(main, start);
     s_End = new QStates(end, null);
 }
    /// <summary>
    /// Changes the nextState variable.
    /// To add further detail..
    /// If the state that is passed in to fallow the current state it is then added ass current state.
    /// </summary>
    /// <param name="name"></param>
    public bool changeState(string name)
    {
        if ( cur != null &&  cur.s_name.ToLower() == name.ToLower())
            return false;

        foreach (QStates s in ls_States) // Loops thru ls_States
            if (s.s_name.ToLower() == name.ToLower())        // checks s_name to the string passed in
            {
                nextState = s;
                if (currentState == s)//  sets nextState to the s QState
                    return true;        //  returns
                else
                    return false;
            }
        return false;
    }