Ejemplo n.º 1
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="name">名前</param>
        /// <param name="path">ファイルパス</param>
        /// <param name="body">ネイティブで生成された本体</param>
        private ImgMaster(
            string name,
            string path,
            IntPtr body)
        {
            Name = name;
            Path = path;
            masterBody = body;

            // マスタ内のテクスチャをテクスチャリストに登録
            if (masterBody != IntPtr.Zero)
            {
                ID = ImgObjID++;

                pathUpdated = true;

                // 本体内に存在するテクスチャデータ数を取得
                var num = ImageLibDllProxy.GetTexNumInMaster(masterBody);

                for (uint i = 0; i < num; i++)
                {
                    var texBody = ImageLibDllProxy.GetTextureInMaster(masterBody, i);
                    if (texBody != IntPtr.Zero)
                    {
                        var tex = new ImgTexture(this, texBody);
                        texList.Add(tex);
                    }
                }
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="tex">親のテクスチャデータ</param>
 /// <param name="body">イメージデータ</param>
 internal ImgImage(ImgTexture tex, IntPtr body)
 {
     this.parent = tex;
     this.imageBody = body;
     this.ID = ImgMaster.ImgObjID++;
 }
Ejemplo n.º 3
0
 internal void RemoveTexture(ImgTexture tex)
 {
     if (texList.Remove(tex))
     {
         // TODO
     }
 }