private void FillDataTable() { dataTable = new DataTable(); dataTable.Columns.Add("Name", typeof(string)); dataTable.Columns.Add("MediaType", typeof(string)); //Graphic, sound, video, multi dataTable.Columns.Add("TypeMajor", typeof(string)); //Member, File, Unit etc dataTable.Columns.Add("TypeMinor", typeof(System.Type)); //Member type, unit type etc dataTable.Columns.Add("Bytes", typeof(int)); //Memory needed dataTable.Columns.Add("Width", typeof(float)); //for graphics only dataTable.Columns.Add("Height", typeof(float)); //for graphics only dataTable.Columns.Add("NumFrames", typeof(float)); //for video and animating bitmaps dataTable.Columns.Add("Length", typeof(float)); //sound&video length in seconds //existing members: int nNumMembers = EH.Instance.CastLib.GetMemberCount(); for (int i = 0; i < nNumMembers; i++) { Endogine.ResourceManagement.MemberBase mb = EH.Instance.CastLib.GetByIndex(i); DataRow row = dataTable.NewRow(); dataTable.Rows.Add(row); row["Name"] = mb.Name; row["MediaType"] = "Graphic"; row["TypeMajor"] = "Member"; row["Width"] = ((MemberSpriteBitmap)mb).Size.X; row["Height"] = ((MemberSpriteBitmap)mb).Size.Y; } //files in media directory: System.IO.DirectoryInfo dirInfo = new System.IO.DirectoryInfo(EH.Instance.CastLib.DirectoryPath); System.IO.FileInfo[] aFiles = dirInfo.GetFiles(); for (int i = 0; i < aFiles.Length; i++) { DataRow row = dataTable.NewRow(); dataTable.Rows.Add(row); row["Name"] = aFiles[i].Name; row["MediaType"] = "Graphic"; row["TypeMajor"] = "File"; // row["Width"] = ((MemberSpriteBitmap)mb).Size.X; // row["Height"] = ((MemberSpriteBitmap)mb).Size.Y; } }
private void CreateDragDropSprite(System.Windows.Forms.DragEventArgs e) { string[] aInfo = GetDraggedInfo(e); if (aInfo == null) { return; } if (aInfo[0] == "Member" || aInfo[0] == "File") { //Endogine.ResourceManagement.MemberBase mb = EH.Instance.CastLib.GetByName(aInfo[1]); Endogine.ResourceManagement.MemberBase mb = EH.Instance.CastLib.GetOrCreate(aInfo[1]); MemberSpriteBitmap mbSp = (MemberSpriteBitmap)mb; this.draggedSprite = new Sprite(); this.draggedSprite.Member = mbSp; Point pnt = dragToControl.PointToClient(new Point(e.X, e.Y)); //Point pnt = EH.Instance.Stage.RenderControl.PointToClient(new Point(e.X, e.Y)); this.draggedSprite.Loc = new EPointF(pnt); EH.Instance.LatestCreatedSprites = null; this.draggedSprite.Parent = EH.Instance.SpriteToAddChildrenTo; if (this.draggedSprite.Disposing) { //after setting parent, the sprite may have been disposed, //and transformed into another sprite-derived type. //this.draggedSprite = null; this.draggedSprite = EH.Instance.LatestCreatedSprites[0]; } //System.Runtime.Remoting.ObjectHandle obj = System.Activator.CreateInstance("EndoTest01", "Endogine.ResourceManagement.MemberBase"); //object o = obj.Unwrap(); //Endogine.ResourceManagement.MemberBase mb = (Endogine.ResourceManagement.MemberBase)o; } }
public override void SetMember(Endogine.ResourceManagement.MemberBase a_mb) { this.OnCreateVertexBuffer(_vertexBuffer, null); this._tx = ((MemberSpriteBitmapRenderStrategy)((MemberSpriteBitmap)a_mb).RenderStrategy).Texture; //this._tx = ((MemberSpriteBitmapRenderStrategyA)_sp.Member.RenderStrategy).Texture; }