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; } } }
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); }