Example #1
0
		public bool Write(Level level, int version)
		{
			mLevel = level;
			mFileVersion = version;

			BinaryWriter bw = new BinaryWriter(mBaseStream);

			//Level version
			bw.Write(version);

			//1
			bw.Write((byte)1);

			//Num. entries
			bw.Write(mLevel.Entries.Count);

			//Entry loop
			foreach (LevelEntry le in mLevel.Entries) {
				le.Write(bw, version);
			}

			bw.Close();

			return true;
		}
Example #2
0
		public Level Read()
		{
			int entry_index = -1;

			mLevel = new Level();

			try {
				BinaryReader br = new BinaryReader(mBaseStream);

				//Read file version
				mFileVersion = br.ReadInt32();

				//Read byte
				br.ReadByte();

				mNumEntries = br.ReadInt32();

				//Read entries
				for (entry_index = 0; entry_index < mNumEntries; entry_index++) {
					LevelEntry entry = LevelEntryFactory.CreateLevelEntry(br, mFileVersion);
					entry.Level = mLevel;
					mLevel.Entries.Add(entry);
				}

				return mLevel;
			} catch (Exception ex) {
				if (entry_index != -1) {
					mError = String.Format("Entry {0}: {1}", entry_index, ex.Message);
				} else {
					mError = ex.Message;
				}

				return null;
			}
		}
		public LevelToolWindow(MainMDIForm parent, Level level)
		{
			mParent = parent;

			this.FormBorderStyle = FormBorderStyle.SizableToolWindow;
			this.Text = level.Info.Name;
			this.KeyPreview = true;

			this.Icon = Icon.FromHandle(Resources.level_16.GetHicon());

			mLevelEditor = new LevelEditor();
			mLevelEditor.Level = level;
			
			mLevelEditor.Location = new Point(0, 0);
			Rectangle bounds = mLevelEditor.Level.Bounds;
			mLevelEditor.Size = new Size(bounds.Width, bounds.Height);

			mLevelEditor.Level.ShowAnchorsAlways = Settings.ShowAnchorsAlways;

			mLevelEditor.UpdatedRedrawed += new EventHandler(mLevelEditor_UpdatedRedrawed);
			mLevelEditor.SelectionChanged += new EventHandler(mLevelEditor_SelectionChanged);
			mLevelEditor.MouseMove += new MouseEventHandler(mLevelEditor_MouseMove);

			mTimer = new Timer();
			mTimer.Interval = 10;
			mTimer.Enabled = true;
			mTimer.Tick += new EventHandler(mTimer_Tick);

			this.Controls.Add(mLevelEditor);

			this.AutoScroll = true;
		}
		public LevelDetailsForm(Level level)
		{
			mLevel = level;

			InitializeComponent();

			txtFilename.Text = mLevel.Info.Filename;
			txtName.Text = mLevel.Info.Name;
			txtAceScore.Text = mLevel.Info.AceScore.ToString();
			txtMinStage.Text = mLevel.Info.MinStage.ToString();

			pnlThumnail.BackgroundImage = mLevel.GetThumbnail();
			pnlThumnail.BackgroundImageLayout = ImageLayout.Center;
		}
Example #5
0
		public LevelXMLWriter(Level level)
		{
			mLevel = level;
		}
Example #6
0
		public LevelGen()
		{
			mLevel = new Level();
		}
Example #7
0
		private byte[] GetLevelData(Level level)
		{
			MemoryStream ms = new MemoryStream();
			LevelWriter writer = new LevelWriter(ms);
			writer.Write(level, LevelWriter.DefaultFileVersion);
			return ms.ToArray();
		}
		private void mnuLevelFolderAdd_Click(object sender, EventArgs e)
		{
			Level level = new Level();
			mPack.Levels.Add(level);

			LevelFolderNode.Nodes.Add(GetLevelNode(level));
		}
		private TreeNode GetLevelNode(Level level)
		{
			TreeNode lnode = new TreeNode(level.Info.Name);
			lnode.ImageIndex = lnode.SelectedImageIndex = IMG_KEY_LEVEL;
			lnode.Tag = level;
			return lnode;
		}
Example #10
0
		public void CloseLevel(Level level)
		{
			//Search to see if it's open
			foreach (DockableFormInfo dfi in mLevelToolWindowInfos) {
				if (dfi.IsDisposed)
					continue;

				LevelToolWindow window = dfi.DockableForm as LevelToolWindow;
				if (window == null)
					continue;

				if (window.Level == level) {
					mDockContainer.Remove(dfi);
					return;
				}
			}
		}
Example #11
0
		public void OpenLevel(Level level)
		{
			//Search to see if it's already open
			foreach (DockableFormInfo dfi in mLevelToolWindowInfos) {
				if (dfi.IsDisposed)
					continue;

				LevelToolWindow window = dfi.DockableForm as LevelToolWindow;
				if (window == null)
					continue;

				if (window.Level == level) {
					dfi.IsSelected = true;
					return;
				}
			}

			//Open it as it's not open currently
			AddLevelWindow(level);

			FinishTool();
		}
Example #12
0
		public LevelToolWindow GetLevelToolWindow(Level level)
		{
			foreach (LevelToolWindow ltw in GetAllOpenLevelToolWindows()) {
				if (ltw.Level == level)
					return ltw;
			}

			return null;
		}
Example #13
0
		private void AddLevelWindow(Level level)
		{
			LevelToolWindow ltw = new LevelToolWindow(this, level);
			DockableFormInfo dfi = AddToolWindow(ltw);

			DockableFormInfo oldfi = mDockContainer.GetFormInfo(mLastFocusedLevel);
			if (oldfi == null) {
				mDockContainer.DockForm(dfi, DockStyle.Fill, zDockMode.Inner);
			} else {
				mDockContainer.DockForm(dfi, oldfi, DockStyle.Fill, zDockMode.Inner);
			}

			mLevelToolWindowInfos.Add(dfi);
			mLastFocusedLevel = ltw;
		}