Example #1
0
    public void Update()
    {
        if (m_currstateReqUpdate)
        {
            m_stateUpdateFunctions[m_currstate]();
        }
        if (m_currstate.GetHashCode() != m_prevstate.GetHashCode())
        {
            int stateChange = StateDoubleKey <State> .GetHashValue(m_prevstate, m_currstate);

            if (m_changeStateFunctions.ContainsKey(stateChange))
            {
                m_changeStateFunctions[stateChange]();
            }
            m_prevstate = m_currstate;
            if (m_stateUpdateFunctions.ContainsKey(m_currstate))
            {
                m_currstateReqUpdate = true;
            }
            else
            {
                m_currstateReqUpdate = false;
            }
        }
    }
Example #2
0
    public override bool Equals(object obj)
    {
        StateDoubleKey <State> other = (StateDoubleKey <State>)obj;

        if (other.prevstate.ToString() == prevstate.ToString() && other.currstate.ToString() == currstate.ToString())
        {
            return(true);
        }

        return(false);
    }