public enum Action { Push, Pop, Clear, }; //as you might imagine, different than Player.Action public StateStack(State.Context context) { mFactories = new List<StateID>(); mStack = new Stack<State>(); mPendingList = new List<PendingChange>(); mContext = context; //PendingChange change = new PendingChange(); }
public World(State.Context context) { mWindow = context.window; mWorldView = mWindow.DefaultView; mWorldBounds = new IntRect(0, 0, (int)mWorldView.Size.X, 4000); //have to explcitly cast Size.X from float to int because of cast issues between IntRect and FloatRect later on mSpawnPosition = new Vector2f(mWorldView.Size.X / 2, mWorldBounds.Height - mWorldView.Size.Y); //original code is mWorldBounds.Height - mWorldView.Size, but caused error mScrollSpeed = -50; //this is not included in book but in source code mSceneLayers = new SceneNode[(int)Layer.LayerCount]; mTextures = context.textures; mSceneGraph = new SceneNode(); mPlayerAircraft = null; mCommandQueue = new CommandQueue(); mEnemySpawnPoints = new List<SpawnPoint>(); mFonts = context.fonts; mWorldView.Center = mSpawnPosition; loadTextures(); buildScene(); }