public StateTransition(MapState next, MapState current) { this.next = next; this.current = current; endPoint = current.Position; }
/// <summary> /// Jos quessa on seuraava state, asettaa sen aktiiviseksi. /// </summary> public void ChangeNextState() { currentMapState = nextMapState; nextMapState = null; currentMapState.Start(); }
public MapStateManagerEventArgs(MapState last, MapState next) { Last = last; Next = next; }
/// <summary> /// Vaihtaa seuraavan staten. /// </summary> private void ChangeState() { if (!Finished && nextMapState == null) { MapState lastMapState = currentMapState; // Jos on jo state, otetaan seuraava vain talteen. if (currentMapState != null) { nextMapState = GetNextState(); } else { // Jos meillä ei ole state, tulee toisto aloittaa. currentMapState = GetNextState(); currentMapState.Start(); } if (lastMapState != null && lastMapState.Finished) { if (OnStateFinished != null) { OnStateFinished(this, new MapStateManagerEventArgs(lastMapState, nextMapState)); } } } }