204 lines
8.4 KiB
JavaScript
204 lines
8.4 KiB
JavaScript
let menuHSearchPos = new Pos2D(185, 80);
|
|
let NMH_GS_ini = Game_System.prototype.initialize;
|
|
Game_System.prototype.initialize = function () {
|
|
NMH_GS_ini.call(this);
|
|
this.SComeArr = [];
|
|
this.SBbsArr = [];
|
|
};
|
|
class SearchComment {
|
|
constructor(textArr, name , bbsData) {
|
|
this._TxtArr = textArr;
|
|
this._Name = name;
|
|
this._Vflg = false;
|
|
this._BbsData = bbsData;
|
|
}
|
|
}
|
|
class BbsData {
|
|
constructor(topic , text , picPath) {
|
|
this.topic = topic;
|
|
this.text = text;
|
|
this.picPath = picPath;
|
|
}
|
|
}
|
|
let AddCmnt = function (textArr, name) {
|
|
$gameSystem.SComeArr.push(new SearchComment(textArr, name , null));
|
|
}
|
|
let AddBbs = function (textArr, name , bbsTopic , bbsText , bbsPicPath) {
|
|
bbsPicPath = typeof bbsPicPath !== 'undefined' ? bbsPicPath : "";
|
|
$gameSystem.SBbsArr.push(new SearchComment(textArr, name , new BbsData(bbsTopic , bbsText , bbsPicPath)));
|
|
}
|
|
let ResetBbs = function () {
|
|
$gameSystem.SBbsArr = [];
|
|
menuHSearchPicArr = [];
|
|
menuHSearhDatas = [];
|
|
}
|
|
let setCommentArr = [];
|
|
let menuHSearchFlame = 0;
|
|
let Menu_H_SearchMode = 0;
|
|
let menuHSearchWinCount = 0;
|
|
let menuHSearchWinMaxCnt = 0;
|
|
let menuHSearchRndYArr = [];
|
|
var bbsFlg = false;
|
|
Game_Interpreter.prototype.Menu_H_SearchView = function (fadeInFlg) {
|
|
fadeInFlg = typeof fadeInFlg !== 'undefined' ? fadeInFlg : false;
|
|
ViewSpriteArr_Reset();
|
|
let setOpacity = 255;
|
|
if (fadeInFlg) {
|
|
menuHSearchFlame = 0;
|
|
if (!bbsFlg)
|
|
menuHSearchWinMaxCnt = $gameSystem.SComeArr.length - 1;
|
|
else
|
|
menuHSearchWinMaxCnt = $gameSystem.SBbsArr.length - 1;
|
|
if (menuHSearchWinMaxCnt >= 9) menuHSearchWinMaxCnt = 9;
|
|
menuHSearchWinCount = 0;
|
|
setOpacity = 0;
|
|
menuHSearchRndYArr = randomGetArr([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 10);
|
|
}
|
|
if (!bbsFlg) {
|
|
this.SetSprite(PN_SBase, Menu_H_UIPath + "Search/SBase", menuHSearchPos._x, menuHSearchPos._y, setOpacity);
|
|
}
|
|
setCommentArr = [];
|
|
if (!bbsFlg) {
|
|
let startIndex = $gameSystem.SComeArr.length - 10;
|
|
if (startIndex < 0) startIndex = 0;
|
|
for (let i = startIndex; i <= $gameSystem.SComeArr.length - 1; i++) {
|
|
setCommentArr.push($gameSystem.SComeArr[i]);
|
|
}
|
|
} else {
|
|
let startIndex = $gameSystem.SBbsArr.length - 10;
|
|
if (startIndex < 0) startIndex = 0;
|
|
for (let i = startIndex; i <= $gameSystem.SBbsArr.length - 1; i++) {
|
|
setCommentArr.push($gameSystem.SBbsArr[i]);
|
|
}
|
|
}
|
|
for (let i = 0; i <= ViewSpriteArr.length - 1; i++) {
|
|
this.MoveSprite(ViewSpriteArr[i], true, true, 10, 255, true, true);
|
|
}
|
|
this.SetSpriteC(PN_BbsReload, Menu_H_UIPath + "Search/PN_BbsReload", menuHSearchPos._x + 544, menuHSearchPos._y + 671, 0);
|
|
this.MoveSprite(PN_BbsReload, true, true, 10, 255, true, true);
|
|
}
|
|
let menuHSearchSetRndX = 350;
|
|
let menuHSearchSetRndY = 376;
|
|
let menuHSearchPicArr = [];
|
|
let menuHSearhDatas = [];
|
|
Game_Interpreter.prototype.Menu_H_SearchUpdate = function () {
|
|
if (menuHSearchFlame == 1 && !bbsFlg) {
|
|
this.SetSprite(PN_SBack, Menu_H_UIPath + "Search/SBack", menuHSearchPos._x, menuHSearchPos._y, 0);
|
|
this.MoveSprite(PN_SBack, true, true, 60, 255, true, true);
|
|
menuHSearchPicArr = [];
|
|
menuHSearhDatas = [];
|
|
}
|
|
this.SpriteCngColor(PN_BbsReload);
|
|
if (overPointerSpCk(PN_BbsReload)) {
|
|
this.SpriteCngColor( PN_BbsReload , [100,100,100,0]);
|
|
if (TouchInput.isTriggered()) {
|
|
this.DelSpriteSpan(PN_SWinS , PN_BbsPicture);
|
|
menuHSearhDatas = [];
|
|
this.Menu_H_SearchView(true);
|
|
ShuffleArr(setCommentArr);
|
|
bbsDetailViewFlg = false;
|
|
}
|
|
}
|
|
if (menuHSearchFlame > 1 && menuHSearchFlame % 5 == 0 && menuHSearchWinCount <= setCommentArr.length - 1) {
|
|
let outLineStr = "\\ow[0]"
|
|
D_Text_Cng_font = "Makinas";
|
|
let setX = menuHSearchPos._x + 58 + (350 * (menuHSearchRndYArr[menuHSearchWinCount] / 9));
|
|
let setY = menuHSearchPos._y + 148 + (Math.random() * 376);
|
|
let setPicNo = PN_SWinS + (menuHSearchWinCount * 5);
|
|
let viewFlame = 10;
|
|
if (bbsFlg) {
|
|
setX -= 100;
|
|
menuHSearchPicArr.push(setPicNo);
|
|
menuHSearhDatas.push(setCommentArr[menuHSearchWinCount]._BbsData);
|
|
}
|
|
let _SPar = 1 - (0.5 * ((menuHSearchWinMaxCnt - menuHSearchWinCount) / menuHSearchWinMaxCnt));
|
|
if (menuHSearchWinMaxCnt <= 0) _SPar = 1;
|
|
this.SetSprite(setPicNo + 0, Menu_H_UIPath + "Search/SWin", setX, setY, 0, 100 * _SPar, 100 * _SPar);
|
|
this.MoveSprite(setPicNo + 0, true, true, viewFlame, 255, true, true);
|
|
for (let i = 0; i <= setCommentArr[menuHSearchWinCount]._TxtArr.length - 1; i++) {
|
|
this.SpriteStr(setPicNo + 1 + i, outLineStr + setCommentArr[menuHSearchWinCount]._TxtArr[i], 20 * _SPar,
|
|
setX + 20, setY + (22 + (i * 23)) * _SPar, 0, 100 * _SPar, 100 * _SPar);
|
|
this.MoveSprite(setPicNo + 1 + i, true, true, viewFlame, 255, true, true);
|
|
}
|
|
this.SpriteStrR(setPicNo + 4, outLineStr + setCommentArr[menuHSearchWinCount]._Name, 20 * _SPar,
|
|
setX + (330 * _SPar), setY + (88 * _SPar), 0, 100 * _SPar, 100 * _SPar);
|
|
this.MoveSprite(setPicNo + 4, true, true, viewFlame, 255, true, true);
|
|
menuHSearchWinCount++;
|
|
D_Text_Cng_font = "";
|
|
}
|
|
menuHSearchFlame++;
|
|
}
|
|
function randomGetArr(array, num) {
|
|
let a = array;
|
|
let t = [];
|
|
let r = [];
|
|
let l = a.length;
|
|
let n = num < l ? num : l;
|
|
while (n-- > 0) {
|
|
let i = Math.random() * l | 0;
|
|
r[n] = t[i] || a[i];
|
|
--l;
|
|
t[i] = t[l] || a[l];
|
|
}
|
|
return r;
|
|
}
|
|
Game_Interpreter.prototype.BBS_Viewer_Start = function () {
|
|
bbsFlg = true;
|
|
this.SetSprite(PN_SBack, Menu_H_UIPath + "Search/BbsBaseBack", 0 , 0 , 0);
|
|
this.MoveSprite(PN_SBack, true, true, 20, 255, true, true);
|
|
this.SetSprite(PN_SBack + 1, Menu_H_UIPath + "Search/BbsBase", 36 , 54 , 0);
|
|
this.MoveSprite(PN_SBack + 1, true, true, 20, 255, true, true);
|
|
this.SetSprite(PN_SBack + 2, Menu_H_UIPath + "Search/BbsBack", 36 , 54 , 0);
|
|
this.MoveSprite(PN_SBack + 2, true, true, 20, 255, true, true);
|
|
this.Menu_H_SearchView(true);
|
|
}
|
|
var bbsDetailViewFlg = false;
|
|
var bbsSelectPicNo = -1;
|
|
Game_Interpreter.prototype.BBS_Viewer_Update= function () {
|
|
this.Menu_H_SearchUpdate();
|
|
if (bbsDetailViewFlg) {
|
|
this.BBS_DetailData_Update();
|
|
return true;
|
|
}
|
|
this.SpriteCngColorArr(menuHSearchPicArr);
|
|
var ckPicNo = overPointerSpCkArr(menuHSearchPicArr);
|
|
if (ckPicNo != -1) {
|
|
this.SpriteCngColor(ckPicNo , [80,80,80,0]);
|
|
if (TouchInput.isTriggered()) {
|
|
for (let i = 0; i < menuHSearchPicArr.length; i++) {
|
|
if (ckPicNo == menuHSearchPicArr[i]) {
|
|
var ckData = menuHSearhDatas[i];
|
|
bbsSelectPicNo = menuHSearchPicArr[i];
|
|
this.BBS_DetailData_View(ckData);
|
|
bbsDetailViewFlg = true;
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Menu禁止Flame = 5;
|
|
if (Input.isTriggered('menu') || TouchInput.isCancelled()) {
|
|
bbsFlg = false;
|
|
this.DelSpriteSpan(PN_SBack , PN_BbsPicture);
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
Game_Interpreter.prototype.BBS_DetailData_View = function (_viewData) {
|
|
this.SetSprite(PN_BbsDtl, Menu_H_UIPath + "Search/BbsDetail", 147 , 160)
|
|
let outLineStr = "\\ow[0]"
|
|
this.SpriteStr(PN_BbsTopic, outLineStr + _viewData.topic, 22, 200 , 225);
|
|
var addText = "";
|
|
for (let i = 0; i <= _viewData.text.length - 1; i++)
|
|
addText += _viewData.text[i] + "\n";
|
|
this.SpriteStr(PN_BbsText, outLineStr + addText, 17, 200 , 225 + 57);
|
|
if (_viewData.picPath != "")
|
|
this.SetSprite(PN_BbsPicture, Menu_H_UIPath + "Search/BbsDetailPic/" + _viewData.picPath , 147 , 160);
|
|
}
|
|
Game_Interpreter.prototype.BBS_DetailData_Update = function () {
|
|
if (Input.isTriggered('menu') || TouchInput.isCancelled()) {
|
|
this.DelSpriteSpan(PN_BbsDtl , PN_BbsPicture);
|
|
bbsDetailViewFlg = false;
|
|
this.DelSpriteSpan(bbsSelectPicNo , bbsSelectPicNo + 4);
|
|
}
|
|
}
|