【Unity宴】キャラクター紹介②と推理結果判定(ParamTbl要素)
本日は開発中の探偵のすすめ【タロット館からの脱出】のキャラクター紹介2人目からです。
キャラクター紹介②高見映司
美貴と同様に視点キャラクター(ワトソン)です。
元は「朝島美奈子の推理日記」のキャラであり探偵のすすめシリーズ本編には初参戦!となります。
名前:高見映司(たかみえいじ)
映司のタロットカードは大アルカナ 愚者です。
(タロット館からの脱出編ではメインキャラにタロットカードがモチーフとして割り当てされています、詳細はゲーム本編にて。)
ステージクリア直前の推理判定(宴のParamTbl要素判定)
今回のゲームでは事件の推理がステージ毎に出てきます。
例えば、ステージ1では
証言当て、証言当て、証拠当て、犯人当ての3つです。
こちらを全て正解するとクリアとなります。
判定方法はいつかあると思いますが、
UserSuiriAnswerTbl{}をこのように設定しています。
今回はC列(Stage)がStage1且つB列(Success)が全てTRUEの場合
正解とする実装をしています。
allCountとtargetcountがイコール場合は全推理正解としています。
この場合のメリットとしては、UserSuiriAnswerTbl{}のレコード行を
あらかじめ決定しなくても判定可能なところです。
private (int,int) GetStageSuccessCount(string tblName,string stageName)
{
int targetcount = 0;
int allCount = 0;
AdvParamStructTbl tbl = Engine.Param.StructTbl[tblName];
foreach (var keyValue in tbl.Tbl)
{
//一行分のデータを取得
AdvParamStruct paramRow = keyValue.Value;
Debug.Log("paramRow" + paramRow);
//パラメターを取得
string StageParm= (string) paramRow.Tbl["Stage"].Parameter;
bool SuccessParm = (bool) paramRow.Tbl["Success"].Parameter;
//条件式を書く
//Stageが指定のステージ名の場合
if (StageParm == stageName)
{
++allCount;
}
//Stageが指定のステージ名で、かつSuccessがtrueの場合
if (StageParm == stageName && SuccessParm == true)
{
++targetcount;
}
}
return (allCount,targetcount);
}
アセット
今回は宴のみの機能です。