Logo
Asset.h
1#pragma once
2
3namespace XXSharpKmyGfx
4{
5 ref class Texture;
6 ref class ModelData;
7}
8
9namespace XXSharpKmyPlatform
10{
11 private enum class Target
12 {
13 PC,
14 Count,
15 };
16}
17
18namespace XXSharpKmyBase
19{
20 private ref class Asset
21 {
22 public:
23 //内部フォーマット変換不可範囲リセット
24 //メインスレッド呼び出し
25 static void resetInternalFormatUncreatableSection();
26
27 //内部フォーマット変換不可範囲開始
28 //ネスト対応
29 //メインスレッド呼び出し
30 static void beginInternalFormatUncreatableSection();
31
32 //内部フォーマット変換不可範囲終了
33 //ネスト対応
34 //メインスレッド呼び出し
35 //flushPCTarget PCターゲット変換で必要なものがあれば同時に処理する
36 static void endInternalFormatUncreatableSection(bool flushPCTarget);
37
38 //内部フォーマット変換可能範囲かどうか
39 //メインスレッド呼び出し
40 static bool isInternalFormatCreatable();
41
42 //内部フォーマット変換
43 //callback 変換中のファイル名取得コールバック
44 //メインスレッド呼び出し
45 static void createAllAssetsInternalFormat(System::Action<System::String^>^ callback, XXSharpKmyPlatform::Target target);
46
47 //内部フォーマット変換が必要なアセット数の取得
48 //メインスレッド呼び出し
49 static int getCountRequiredInternalFormatCreate(XXSharpKmyPlatform::Target target);
50
51 //生アセットファイル使用セクション開始
52 //メインスレッド呼び出し
53 //セクション中では内部フォーマットからのロードは行われない
54 static void beginForceRawAssetFileSection();
55
56 //生アセットファイル使用セクション終了
57 //メインスレッド呼び出し
58 static void endForceRawAssetFileSection();
59
60 //アセット内部フォーマットファイルの削除
61 static void removeInternalFormatAssetFiles();
62
63 //内部フォーマット変換が必要かどうか確認する
64 static bool isInternalFormatFileCreateRequired(XXSharpKmyGfx::Texture^ tex, XXSharpKmyPlatform::Target target);
65 static bool isInternalFormatFileCreateRequired(XXSharpKmyGfx::ModelData^ mdl, XXSharpKmyPlatform::Target target);
66
67 //変換する
68 static void createInternalFormatFile(XXSharpKmyGfx::Texture^ tex, XXSharpKmyPlatform::Target target);
69 static void createInternalFormatFile(XXSharpKmyGfx::ModelData^ mdl, XXSharpKmyPlatform::Target target);
70
71 //法線としてバインドされているテクスチャのリストを返す
72 static array<XXSharpKmyGfx::Texture^>^ findTexturesBoundAsNormal();
73 };
74}
Target
Definition: Asset.cs:8