クラスの骨格

クラスの骨格




とりあえず空っぽのクラスを作ります。

TextureResource.java
package <パッケージ名>;

import java.util.Vector;

import <パッケージ名>.DrawDevice;
import <パッケージ名>.Texture;



//  テクスチャリソース
public class TextureResource
{
    //  テクスチャタイプ
    public enum TEXTURE_TYPE
    {
        CHARA,
        MENU,
    }

    //  コンストラクタ
    public  TextureResource( AppResource appRes, DrawDevice drawDevice )
    {
        m_AppRes        = appRes;
        m_DrawDevice    = drawDevice;

        m_LoadTexInfoVec    = new Vector< TextureInfo >();
    }



    //  ロード済みテクスチャ情報
    private class TextureInfo
    {
        //  コンストラクタ
        public  TextureInfo( String fileName, TEXTURE_TYPE type )
        {
            m_FileName  = fileName;
            m_Type      = type;
            m_Tex       = null;
        }

        //  テクスチャ設定
        public void SetTexture( Texture tex )
        {
            m_Tex   = tex;
        }

        public Texture  GetTexture()
        {
            return m_Tex;
        }

        //  比較
        public boolean  TypeEqual( TEXTURE_TYPE type )
        {
            return m_Type.equals( type );
        }
        public boolean  Equal( TextureInfo rhs )
        {
            return ( m_FileName.equals( rhs.m_FileName )) && ( m_Type.equals( rhs.m_Type ));
        }



        private String          m_FileName;
        private TEXTURE_TYPE    m_Type;

        private Texture     m_Tex;
    }

    //  タイプに応じたディレクトリ取得
    private String  _GetDirectory( TEXTURE_TYPE type )
    {
        switch( type )
        {
        case CHARA:     return "model/chara";
        case MENU:      return "model/menu";
        default:        return "";
        }
    }



    private AppResource         m_AppRes;
    private DrawDevice              m_DrawDevice;
    private Vector< TextureInfo > m_LoadTexInfoVec;
}

TEXTURE_TYPEがテクスチャのタイプです。
今回はキャラとメニューを用意してみます。

TextureInfoは読み込んだテクスチャの情報です。
ファイル名やタイプも覚えておきます。

_GetDirectoryメソッドでタイプに応じたディレクトリを取得します。
このリストも外から指定したほうがよさそうですが今はこれで行きます。

では、次はロードを実装してみましょう。



<前のページ
次のページ>