86 lines
No EOL
2.3 KiB
JavaScript
86 lines
No EOL
2.3 KiB
JavaScript
//=============================================================================
|
|
// PresetWarning.js
|
|
//=============================================================================
|
|
/*:
|
|
* @author Thirop
|
|
* @target MZ
|
|
* @plugindesc サンプルマップ用プリセットチェック
|
|
* @help サンプルマップ動作に必要な追加プリセットプラグイン
|
|
* が導入されていない場合にメッセージを表示する
|
|
* サンプルプロジェクト用のプラグインです。
|
|
*/
|
|
//=============================================================================
|
|
//PRAGMA: englishHeader
|
|
//PRAGMA_END: englishHeader
|
|
|
|
(function(){
|
|
'use strict';
|
|
|
|
var allInNames = ['TRP_ParticleMZ_ExPreset','TRP_Particle_ExPreset'];
|
|
|
|
var LC = TRP_Localize.localize.bind(TRP_Localize,'preWa');
|
|
var NLC = TRP_Localize.noLocalize;
|
|
|
|
|
|
//=============================================================================
|
|
// Game_Map
|
|
//=============================================================================
|
|
var _Game_Map_setup = Game_Map.prototype.setup;
|
|
Game_Map.prototype.setup = function(mapId) {
|
|
_Game_Map_setup.call(this,mapId);
|
|
|
|
if($dataMap.meta.presetNames){
|
|
if(Utils.RPGMAKER_NAME==='MZ'){
|
|
Game_Particle.checkPresetNames($dataMap.meta.presetNames.split(','));
|
|
}else{
|
|
Game_Particle.checkPresetNames(($dataMap.meta.presetNamesMV||$dataMap.meta.presetNames).split(','));
|
|
}
|
|
}
|
|
};
|
|
|
|
|
|
Game_Particle.checkPresetNames = function(names){
|
|
var hasAllInPreset = false;
|
|
for(var i=allInNames.length-1; i>=0; i=(i-1)|0){
|
|
if(PluginManager._scripts.contains(allInNames[i])){
|
|
hasAllInPreset = true;
|
|
}
|
|
}
|
|
|
|
var allPluginOk = true;
|
|
for(var i=names.length-1; i>=0; i=(i-1)|0){
|
|
var name = names[i];
|
|
if(PluginManager._scripts.contains(name)){
|
|
continue
|
|
}
|
|
if(hasAllInPreset && name.contains('ExPreset')){
|
|
continue;
|
|
}
|
|
allPluginOk = false;
|
|
break;
|
|
}
|
|
|
|
if(allPluginOk){
|
|
return;
|
|
}
|
|
|
|
|
|
var errText = LC('このマップは追加プリセット用のサンプルマップです。',0);
|
|
|
|
var length = names.length;
|
|
for(var i=0; i<length; i=(i+1)|0){
|
|
if(i>0){
|
|
errText += '","';
|
|
}
|
|
var name = names[i];
|
|
errText+=name+'.js';
|
|
}
|
|
|
|
errText += LC('"をお持ちの場合はプラグインを導入した上でお試しください。',1);
|
|
|
|
throw new Error(errText);
|
|
};
|
|
|
|
|
|
|
|
})(); |