示例#1
0
        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;
            }
        }
示例#2
0
        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;
            }
        }
示例#3
0
 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;
 }