mirror of https://github.com/axmolengine/axmol.git
235 lines
7.8 KiB
C++
235 lines
7.8 KiB
C++
|
/**
|
|||
|
* Copyright(c) Live2D Inc. All rights reserved.
|
|||
|
*
|
|||
|
* Use of this source code is governed by the Live2D Open Software license
|
|||
|
* that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html.
|
|||
|
*/
|
|||
|
|
|||
|
#pragma once
|
|||
|
|
|||
|
#include "CubismFramework.hpp"
|
|||
|
#include "Type/csmMap.hpp"
|
|||
|
#include "Id/CubismId.hpp"
|
|||
|
|
|||
|
//--------- LIVE2D NAMESPACE ------------
|
|||
|
namespace Live2D { namespace Cubism { namespace Framework {
|
|||
|
|
|||
|
/**
|
|||
|
* @brief モデル設定情報を取り扱う関数を宣言した純粋仮想クラス。
|
|||
|
*
|
|||
|
* このクラスを継承することで、モデル設定情報を取り扱うクラスになる。
|
|||
|
*
|
|||
|
*/
|
|||
|
class ICubismModelSetting
|
|||
|
{
|
|||
|
public:
|
|||
|
/**
|
|||
|
* @brief デストラクタ
|
|||
|
*
|
|||
|
* デストラクタ。
|
|||
|
*/
|
|||
|
virtual ~ICubismModelSetting() {}
|
|||
|
|
|||
|
/**
|
|||
|
* @brief Mocファイルの名前を取得する
|
|||
|
*
|
|||
|
* @return Mocファイルの名前
|
|||
|
*/
|
|||
|
virtual const csmChar* GetModelFileName() = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief モデルが使用するテクスチャの数を取得する
|
|||
|
*
|
|||
|
* @return テクスチャの数
|
|||
|
*/
|
|||
|
virtual csmInt32 GetTextureCount() = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief テクスチャが配置されたディレクトリの名前を取得する
|
|||
|
*
|
|||
|
* @return テクスチャが配置されたディレクトリの名前
|
|||
|
*/
|
|||
|
virtual const csmChar* GetTextureDirectory() = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief モデルが使用するテクスチャの名前を取得する
|
|||
|
*
|
|||
|
* @param[in] index 配列のインデックス値
|
|||
|
* @return テクスチャの名前
|
|||
|
*/
|
|||
|
virtual const csmChar* GetTextureFileName(csmInt32 index) = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief モデルに設定された当たり判定の数を取得する
|
|||
|
*
|
|||
|
* @return モデルに設定された当たり判定の数
|
|||
|
*/
|
|||
|
virtual csmInt32 GetHitAreasCount() = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief 当たり判定に設定されたIDを取得する
|
|||
|
*
|
|||
|
* @param[in] index 配列のインデックス値
|
|||
|
* @return 当たり判定に設定されたID
|
|||
|
*/
|
|||
|
virtual CubismIdHandle GetHitAreaId(csmInt32 index) = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief 当たり判定に設定された名前を取得する
|
|||
|
*
|
|||
|
* @param[in] index 配列のインデックス値
|
|||
|
* @return 当たり判定に設定された名前
|
|||
|
*/
|
|||
|
virtual const csmChar* GetHitAreaName(csmInt32 index) = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief 物理演算設定ファイルの名前を取得する
|
|||
|
*
|
|||
|
* @return 物理演算設定ファイルの名前
|
|||
|
*/
|
|||
|
virtual const csmChar* GetPhysicsFileName() = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief パーツ切り替え設定ファイルの名前を取得する
|
|||
|
*
|
|||
|
* @return パーツ切り替え設定ファイルの名前
|
|||
|
*/
|
|||
|
virtual const csmChar* GetPoseFileName() = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief 表示名称設定ファイルの名前を取得する
|
|||
|
*
|
|||
|
* @return 表示名称設定ファイルの名前
|
|||
|
*/
|
|||
|
virtual const csmChar* GetDisplayInfoFileName() = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief 表情設定ファイルの数を取得する
|
|||
|
*
|
|||
|
* @return 表情設定ファイルの数
|
|||
|
*/
|
|||
|
virtual csmInt32 GetExpressionCount() = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief 表情設定ファイルを識別する名前(別名)を取得する
|
|||
|
*
|
|||
|
* @param[in] index 配列のインデックス値
|
|||
|
* @return 表情の名前
|
|||
|
*/
|
|||
|
virtual const csmChar* GetExpressionName(csmInt32 index) = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief 表情設定ファイルの名前を取得する
|
|||
|
*
|
|||
|
* @param[in] index 配列のインデックス値
|
|||
|
* @return 表情設定ファイルの名前
|
|||
|
*/
|
|||
|
virtual const csmChar* GetExpressionFileName(csmInt32 index) = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief モーショングループの数を取得する
|
|||
|
*
|
|||
|
* @return モーショングループの数
|
|||
|
*/
|
|||
|
virtual csmInt32 GetMotionGroupCount() = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief モーショングループの名前を取得する
|
|||
|
*
|
|||
|
* @param[in] index 配列のインデックス値
|
|||
|
* @return モーショングループの名前
|
|||
|
*/
|
|||
|
virtual const csmChar* GetMotionGroupName(csmInt32 index) = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief モーショングループに含まれるモーションの数を取得する
|
|||
|
*
|
|||
|
* @param[in] groupName モーショングループの名前
|
|||
|
* @return モーショングループの名前
|
|||
|
*/
|
|||
|
virtual csmInt32 GetMotionCount(const csmChar* groupName) = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief グループ名とインデックス値からモーションファイルの名前を取得する
|
|||
|
*
|
|||
|
* @param[in] groupName モーショングループの名前
|
|||
|
* @param[in] index 配列のインデックス値
|
|||
|
* @return モーションファイルの名前
|
|||
|
*/
|
|||
|
virtual const csmChar* GetMotionFileName(const csmChar* groupName, csmInt32 index) = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief モーションに対応するサウンドファイルの名前を取得する
|
|||
|
*
|
|||
|
* @param[in] groupName モーショングループの名前
|
|||
|
* @param[in] index 配列のインデックス値
|
|||
|
* @return サウンドファイルの名前
|
|||
|
*/
|
|||
|
virtual const csmChar* GetMotionSoundFileName(const csmChar* groupName, csmInt32 index) = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief モーション開始時のフェードイン処理時間を取得する
|
|||
|
*
|
|||
|
* @param[in] groupName モーショングループの名前
|
|||
|
* @param[in] index 配列のインデックス値
|
|||
|
* @return フェードイン処理時間[秒]
|
|||
|
*/
|
|||
|
virtual csmFloat32 GetMotionFadeInTimeValue(const csmChar* groupName, csmInt32 index) = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief モーション終了時のフェードアウト処理時間を取得する
|
|||
|
*
|
|||
|
* @param[in] groupName モーショングループの名前
|
|||
|
* @param[in] index 配列のインデックス値
|
|||
|
* @return フェードアウト処理時間[秒]
|
|||
|
*/
|
|||
|
virtual csmFloat32 GetMotionFadeOutTimeValue(const csmChar* groupName, csmInt32 index) = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief ユーザデータのファイル名を取得する
|
|||
|
*
|
|||
|
* @return ユーザデータのファイル名
|
|||
|
*/
|
|||
|
virtual const csmChar* GetUserDataFile() = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief レイアウト情報を取得する
|
|||
|
*
|
|||
|
* @param[out] outLayoutMap csmMapクラスのインスタンス
|
|||
|
* @retval true -> レイアウト情報が存在する
|
|||
|
* @retval false -> レイアウト情報が存在しない
|
|||
|
*/
|
|||
|
virtual csmBool GetLayoutMap(csmMap<csmString, csmFloat32>& outLayoutMap) = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief 目パチに関連付けられたパラメータの数を取得する
|
|||
|
*
|
|||
|
* @return 目パチに関連付けられたパラメータの数
|
|||
|
*/
|
|||
|
virtual csmInt32 GetEyeBlinkParameterCount() = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief 目パチに関連付けられたパラメータのIDを取得する
|
|||
|
*
|
|||
|
* @param[in] index 配列のインデックス値
|
|||
|
* @return パラメータID
|
|||
|
*/
|
|||
|
virtual CubismIdHandle GetEyeBlinkParameterId(csmInt32 index) = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief リップシンクに関連付けられたパラメータの数を取得する
|
|||
|
*
|
|||
|
* @return リップシンクに関連付けられたパラメータの数
|
|||
|
*/
|
|||
|
virtual csmInt32 GetLipSyncParameterCount() = 0;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief リップシンクに関連付けられたパラメータのIDを取得する
|
|||
|
*
|
|||
|
* @param[in] index 配列のインデックス値
|
|||
|
* @return パラメータID
|
|||
|
*/
|
|||
|
virtual CubismIdHandle GetLipSyncParameterId(csmInt32 index) = 0;
|
|||
|
};
|
|||
|
}}}
|