public IGameScreen CreateGameScreen() { if (this.growSystem == null) { this.growSystem = new PvZGrowSystem(this.manager.Game); this.growSystem.Deserialize(XmlSerialization.Instance.Deserialize(File.Open(@"Xml\PlantGrowButtons.xml", FileMode.Open, FileAccess.Read, FileShare.None))); } return new GamePlayScreen(this.manager, this.gesMan, this.growSystem); }
public GamePlayScreen(IGameScreenManager screenManager, IGestureManager gm, PvZGrowSystem growSys) : base(screenManager, "PlayScreen") { gameBoard = new PZBoard(9, 4, objectManager); gameBoard.Board = new int[,] { {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0} }; this.gm = gm; level = PZLevelManager.Instance.GetLevel(); level.OnBeginWave += level_OnBeginWave; this.playBacground = new PlayBackground(this.Game, SCSServices.Instance.ResourceManager.GetResource<Texture2D>(level.Background)); this.playBacground.Initialize(); this.playBacground.OnAnimatingCompleted += this.OnBackgroundAnimatingCompleted; this.playBacground.StartAnimate(); _messageCenter = new MessageCenter(this.Game); this.growSystem = growSys; }
private void InitGamePlayAtLevel() { level = PZLevelManager.Instance.GetLevel(m_level); IGestureDispatcher dp = DefaultGestureHandlingFactory.Instance.CreateDispatcher(); gm.AddDispatcher(dp); this.uiControlManager = new UIControlManager(this.Game, DefaultGestureHandlingFactory.Instance); gm.AddDispatcher(this.uiControlManager); this.Components.Add(this.uiControlManager); // // Sun system _sunSystem = new PvZSunSystem(this.Game, 50, dp); SCSServices.Instance.Game.Services.RemoveService(typeof(PvZSunSystem)); SCSServices.Instance.Game.Services.AddService(typeof(PvZSunSystem), _sunSystem); this.Components.Add(_sunSystem); this.growSystem = new PvZGrowSystem(this.Game, new PvZGameGrow(gameBoard)); this.growSystem.Deserialize(XmlSerialization.Instance.Deserialize(new FileStream(@"Xml\PlantGrowButtons.xml", FileMode.Open, FileAccess.Read))); var chooseSys = new PvZChooseSystem(this.Game, this.growSystem.ButtonFactoryBank, this.uiControlManager, _sunSystem); chooseSys.Initialize(); chooseSys.OnCameOut += this.OnChooseSystemCompleted; this.Components.Add(chooseSys); chooseSys.ComeIn(); }