Commit 505d8669 authored by Tachibana's avatar Tachibana

nmbd

parent 564da748
{
"id": "CharacterHide",
"version": "1.0.1",
"name": "完全隐藏特定角色",
"author": "88826",
"description": "千织:在魂天神社,千织大人说看不见就是看不见!\n(默认设置:一姬、美树、妄→千织)",
"preview": "888.png",
"entry": "scripts/script.js"
}
\ No newline at end of file
/*
—————————————————————————————————————————————所有角色ID,截止雀魂v0.9.88.w版本——————————————————————————————————————————————————
|200001:一姬|200002:二阶堂美树|200003:藤田佳奈|200004:三上千织|200005:相原舞|200006:抚子|200007:八木唯|200008:九条璃雨|
|200009:泽尼娅|200010:卡维|200011:四宫夏生|200012:汪次郎|200013:一之濑空|200014:明智英树|200015:轻库娘|200016:莎拉|
|200017:二之宫花|200018:白石奈奈|200019:小鸟游雏田|200020:五十岚阳菜|200021:凉宫杏树|200022:约瑟夫|200023:斋藤治|200024:北见纱和子|
|200025:艾因|200026:雏桃|200027:月见山|200028:藤本绮罗|200029:辉夜姬|200030:如月莲|200031:石原碓海|200032:艾丽莎|
|200033:寺崎千穗理|200034:宫永咲|200035:原村和|200036:天江衣|200037:宫永照|200038:福姬|200039:七夕|200040:蛇喰梦子|
|200041:早乙女芽亚里|200042:生志摩妄|200043:桃喰绮罗莉|
*/
const ReplaceCharacterID = 200004; //替换用角色id
const ReplaceSkinID = 400401; //替换用皮肤id,计算方式为:(角色id-200000)*100+400000+第几个皮肤
const HideCharacterIDS = [200042,200001,200002]; //要隐藏的角色id
//移除寮舍角色
const refreshInfo = uiscript.UI_Lobby.prototype.refreshInfo;
uiscript.UI_Lobby.prototype.refreshInfo = function () {
for (i in uiscript.UI_Sushe.characters) {
for (j in HideCharacterIDS) {
if (uiscript.UI_Sushe.characters[i].charid === HideCharacterIDS[j]) {
uiscript.UI_Sushe.characters.splice(i, 1);
console.log("id" + HideCharacterIDS[j] + "已经移除");
}
}
}
return refreshInfo.call(this);
}
//牌局内
const initRoom = view.DesktopMgr.prototype.initRoom;
view.DesktopMgr.prototype.initRoom = function (e, a, s, o, l) {
a.forEach(v => {
for (i in HideCharacterIDS) {
if (v.character.charid === HideCharacterIDS[i]) {
console.log("id" + v.character.charid + "已经替换");
v.character.charid = ReplaceCharacterID;
v.character.skin = ReplaceSkinID;
v.avatar_id = ReplaceSkinID;
}
}
})
return initRoom.call(this, e, a, s, o, l);
}
//防心肺停止
const sendReq2Lobby = app.NetAgent.sendReq2Lobby;
app.NetAgent.sendReq2Lobby = function (a, b, c, d) {
//详细资料
if (a === "Lobby" && b === "fetchAccountInfo") {
var d_back = d;
d = function (i, n) {
if (i || n.error)
uiscript.UIMgr.Inst.showNetReqError("fetchAccountInfo", i, n);
else {
var a = n.account;
for (j in HideCharacterIDS)
if (cfg.item_definition.skin.map_[a.avatar_id].character_id === HideCharacterIDS[j]) {
console.log("id" + HideCharacterIDS[j] + "已经替换");
a.avatar_id = ReplaceSkinID;
}
}
return d_back.call(this, i, n);
}
}
//好友信息
if (a === "Lobby" && b === "fetchFriendList") {
var d_back = d;
d = function (e, i) {
if (e)
app.Log.log("获取好友列表时发生错误:" + e);
else if (i.error)
app.Log.log("获取好友列表时发生错误,错误码:" + i.error.code);
else {
i.friends.forEach(v => {
for (j in HideCharacterIDS)
if (cfg.item_definition.skin.map_[v.base.avatar_id].character_id === HideCharacterIDS[j]) {
v.base.avatar_id = ReplaceSkinID;
}
})
}
return d_back.call(this, e, i);
}
}
return sendReq2Lobby.call(this, a, b, c, d);
}
//好友房
const _refreshPlayerInfo = uiscript.UI_WaitingRoom.prototype._refreshPlayerInfo;
uiscript.UI_WaitingRoom.prototype._refreshPlayerInfo = function (t) {
for (i in HideCharacterIDS) {
if (t.character && t.character.charid === HideCharacterIDS[i]) {
console.log("id" + t.character.charid + "已经替换");
t.character.charid = ReplaceCharacterID;
t.character.skin = ReplaceSkinID;
t.avatar_id = ReplaceSkinID;
}
}
return _refreshPlayerInfo.call(this, t)
}
//最终保险措施,将该人物的所有数据都替换
const load = cfg.load;
cfg.load = function (t) {
load.call(this, t);
for (i in HideCharacterIDS){
console.log(cfg.item_definition.character.map_[HideCharacterIDS[i]]);
/*
cfg.item_definition.character.map_[HideCharacterIDS[i]].init_skin = ReplaceSkinID;
cfg.item_definition.character.map_[HideCharacterIDS[i]].full_fetter_skin = ReplaceSkinID;
*/
cfg.item_definition.character.map_[HideCharacterIDS[i]].sound = cfg.item_definition.character.map_[ReplaceCharacterID].sound;
cfg.item_definition.character.map_[HideCharacterIDS[i]].emo = "extendRes/emo/" + ReplaceCharacterID;
for (j in cfg.item_definition.skin.rows_) {
if (cfg.item_definition.skin.rows_[j].character_id === HideCharacterIDS[i]) {
cfg.item_definition.skin.rows_[j].full_height = cfg.item_definition.skin.map_[ReplaceSkinID].full_height;
cfg.item_definition.skin.rows_[j].full_width = cfg.item_definition.skin.map_[ReplaceSkinID].full_width;
cfg.item_definition.skin.rows_[j].full_x = cfg.item_definition.skin.map_[ReplaceSkinID].full_x;
cfg.item_definition.skin.rows_[j].full_y = cfg.item_definition.skin.map_[ReplaceSkinID].full_y;
cfg.item_definition.skin.rows_[j].half_height = cfg.item_definition.skin.map_[ReplaceSkinID].half_height;
cfg.item_definition.skin.rows_[j].half_width = cfg.item_definition.skin.map_[ReplaceSkinID].half_width;
cfg.item_definition.skin.rows_[j].half_x = cfg.item_definition.skin.map_[ReplaceSkinID].half_x;
cfg.item_definition.skin.rows_[j].half_y = cfg.item_definition.skin.map_[ReplaceSkinID].half_y;
cfg.item_definition.skin.rows_[j].path = cfg.item_definition.skin.map_[ReplaceSkinID].path;
cfg.item_definition.skin.rows_[j].offset_x = cfg.item_definition.skin.map_[ReplaceSkinID].offset_x;
cfg.item_definition.skin.rows_[j].offset_y = cfg.item_definition.skin.map_[ReplaceSkinID].offset_y;
cfg.item_definition.skin.rows_[j].smallhead_width = cfg.item_definition.skin.map_[ReplaceSkinID].smallhead_width;
cfg.item_definition.skin.rows_[j].smallhead_x = cfg.item_definition.skin.map_[ReplaceSkinID].smallhead_x;
cfg.item_definition.skin.rows_[j].smallhead_y = cfg.item_definition.skin.map_[ReplaceSkinID].smallhead_y;
console.log(cfg.item_definition.skin.rows_[j].id + "的数据已经被覆盖。");
}
}
}
}
\ No newline at end of file
{
"frames": {
"start_left.png": {
"frame": {
"h": 416,
"idx": 0,
"w": 666,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 208,
"w": 333
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"start_right.png": {
"frame": {
"h": 382,
"idx": 1,
"w": 609,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 191,
"w": 305
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"bg_jiesuan.png": {
"frame": {
"h": 1560,
"idx": 2,
"w": 2884,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 780,
"w": 1442
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"bg_jiesuan_mask.png": {
"frame": {
"h": 936,
"idx": 3,
"w": 1662,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 468,
"w": 831
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"bg_nickname.png": {
"frame": {
"h": 83,
"idx": 4,
"w": 396,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 83,
"w": 396
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
}
},
"meta": {
"image": "start_left.png,start_right.png,bg_jiesuan.png,bg_jiesuan_mask.png,bg_nickname.png",
"prefix": "myres/mjdesktop/"
}
}
\ No newline at end of file
{
"frames": {
"start_left.png": {
"frame": {
"h": 416,
"idx": 0,
"w": 666,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 208,
"w": 333
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"start_right.png": {
"frame": {
"h": 382,
"idx": 1,
"w": 609,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 191,
"w": 305
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"bg_jiesuan.png": {
"frame": {
"h": 1560,
"idx": 2,
"w": 2884,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 780,
"w": 1442
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"bg_jiesuan_mask.png": {
"frame": {
"h": 936,
"idx": 3,
"w": 1662,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 468,
"w": 831
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"bg_nickname.png": {
"frame": {
"h": 83,
"idx": 4,
"w": 396,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 83,
"w": 396
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
}
},
"meta": {
"image": "start_left.png,start_right.png,bg_jiesuan.png,bg_jiesuan_mask.png,bg_nickname.png",
"prefix": "chs_t/myres/mjdesktop/"
}
}
\ No newline at end of file
{
"frames": {
"start_left.png": {
"frame": {
"h": 416,
"idx": 0,
"w": 666,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 208,
"w": 333
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"start_right.png": {
"frame": {
"h": 382,
"idx": 1,
"w": 609,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 191,
"w": 305
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"bg_jiesuan.png": {
"frame": {
"h": 1560,
"idx": 2,
"w": 2884,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 780,
"w": 1442
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"bg_jiesuan_mask.png": {
"frame": {
"h": 936,
"idx": 3,
"w": 1662,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 468,
"w": 831
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"bg_nickname.png": {
"frame": {
"h": 83,
"idx": 4,
"w": 396,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 83,
"w": 396
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
}
},
"meta": {
"image": "start_left.png,start_right.png,bg_jiesuan.png,bg_jiesuan_mask.png,bg_nickname.png",
"prefix": "en/myres/mjdesktop/"
}
}
\ No newline at end of file
{
"frames": {
"start_left.png": {
"frame": {
"h": 416,
"idx": 0,
"w": 666,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 208,
"w": 333
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"start_right.png": {
"frame": {
"h": 382,
"idx": 1,
"w": 609,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 191,
"w": 305
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"bg_jiesuan.png": {
"frame": {
"h": 1560,
"idx": 2,
"w": 2884,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 780,
"w": 1442
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"bg_jiesuan_mask.png": {
"frame": {
"h": 936,
"idx": 3,
"w": 1662,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 468,
"w": 831
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"bg_nickname.png": {
"frame": {
"h": 83,
"idx": 4,
"w": 396,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 83,
"w": 396
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
}
},
"meta": {
"image": "start_left.png,start_right.png,bg_jiesuan.png,bg_jiesuan_mask.png,bg_nickname.png",
"prefix": "jp/myres/mjdesktop/"
}
}
\ No newline at end of file
{
"frames": {
"front_scene.png": {
"frame": {
"h": 576,
"idx": 0,
"w": 1333,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 576,
"w": 1024
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"left_tree.png": {
"frame": {
"h": 576,
"idx": 1,
"w": 912,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 540,
"w": 712
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"right_tree.png": {
"frame": {
"h": 576,
"idx": 2,
"w": 803,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 540,
"w": 621
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
}
},
"meta": {
"image": "tanfang.png,left_tree.png,right_tree.png",
"prefix": "tanfang/"
}
}
{
"frames": {
"front_scene.png": {
"frame": {
"h": 576,
"idx": 0,
"w": 1333,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 576,
"w": 1024
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"left_tree.png": {
"frame": {
"h": 576,
"idx": 1,
"w": 912,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 540,
"w": 712
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"right_tree.png": {
"frame": {
"h": 576,
"idx": 2,
"w": 803,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 540,
"w": 621
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
}
},
"meta": {
"image": "tanfang.png,left_tree.png,right_tree.png",
"prefix": "chs_t/tanfang/"
}
}
{
"frames": {
"front_scene.png": {
"frame": {
"h": 576,
"idx": 0,
"w": 1333,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 576,
"w": 1024
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"left_tree.png": {
"frame": {
"h": 576,
"idx": 1,
"w": 912,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 540,
"w": 712
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"right_tree.png": {
"frame": {
"h": 576,
"idx": 2,
"w": 803,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 540,
"w": 621
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
}
},
"meta": {
"image": "tanfang.png,left_tree.png,right_tree.png",
"prefix": "en/tanfang/"
}
}
{
"frames": {
"front_scene.png": {
"frame": {
"h": 576,
"idx": 0,
"w": 1333,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 576,
"w": 1024
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"left_tree.png": {
"frame": {
"h": 576,
"idx": 1,
"w": 912,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 540,
"w": 712
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
},
"right_tree.png": {
"frame": {
"h": 576,
"idx": 2,
"w": 803,
"x": 0,
"y": 0
},
"sourceSize": {
"h": 540,
"w": 621
},
"spriteSourceSize": {
"x": 0,
"y": 0
}
}
},
"meta": {
"image": "tanfang.png,left_tree.png,right_tree.png",
"prefix": "jp/tanfang/"
}
}
{ {
"id": "RetinalCanvas", "id": "RetinalCanvas",
"version": "1.2.0", "version": "1.5.1",
"name": "视网膜画布", "name": "视网膜画布",
"author": "88826", "author": "88826",
"description": "全画幅是好文明。", "description": "全画幅是好文明。",
"preview": "preview.png", "preview": "preview.png",
"entry": "script.js", "entry": ["script.js"],
"dependencies": {},
"dir": "assets", "dir": "assets",
"resourcepack": [{ "resourcepack": [{
"from": "myres/mjdesktop/bg_jiesuan.png", "from": "res/atlas/myres/bg_jiesuan.png",
"to": "bg_jiesuan.png" "to": "bg_jiesuan.png"
},{ },{
"from": "chs_t/myres/mjdesktop/bg_jiesuan.png", "from": "res/atlas/myres/bg_jiesuan_mask.png",
"to": "bg_jiesuan.png" "to": "bg_jiesuan_mask.png"
},{
"from": "jp/myres/mjdesktop/bg_jiesuan.png",
"to": "bg_jiesuan.png"
},{
"from": "en/myres/mjdesktop/bg_jiesuan.png",
"to": "bg_jiesuan.png"
},{ },{
"from": "res/atlas/tanfang.png", "from": "res/atlas/myres/bg_nickname.png",
"to": "tanfang.png" "to": "bg_nickname.png"
},{ },{
"from": "res/atlas/chs_t/tanfang.png", "from": "res/atlas/tanfangfix.atlas",
"to": "tanfang.png" "to": "tanfangfix.atlas"
},{
"from": "res/atlas/jp/tanfang.png",
"to": "tanfang.png"
},{ },{
"from": "res/atlas/tanfang.atlas", "from": "res/atlas/tanfangfix_chs_t.atlas",
"to": "tanfang.atlas" "to": "tanfangfix_chs_t.atlas"
},{ },{
"from": "res/atlas/chs_t/tanfang.atlas", "from": "res/atlas/tanfangfix_en.atlas",
"to": "tanfang_chs_t.atlas" "to": "tanfangfix_en.atlas"
},{ },{
"from": "res/atlas/jp/tanfang.atlas", "from": "res/atlas/tanfangfix_jp.atlas",
"to": "tanfang_jp.atlas" "to": "tanfangfix_jp.atlas"
},{ },{
"from": "res/atlas/en/tanfang.atlas", "from": "res/atlas/tanfang.png",
"to": "tanfang_en.atlas" "to": "tanfang.png"
},{ },{
"from": "tanfang/left_tree.png", "from": "res/atlas/left_tree.png",
"to": "left_tree.png" "to": "left_tree.png"
},{ },{
"from": "chs_t/tanfang/left_tree.png", "from": "res/atlas/right_tree.png",
"to": "left_tree.png" "to": "right_tree.png"
},{ },{
"from": "jp/tanfang/left_tree.png", "from": "res/atlas/myres/start_right.png",
"to": "left_tree.png" "to": "start_right.png"
},{ },{
"from": "en/tanfang/left_tree.png", "from": "res/atlas/myres/start_left.png",
"to": "left_tree.png" "to": "start_left.png"
},{ },{
"from": "tanfang/right_tree.png", "from": "res/atlas/myres/mjdesktopfix.atlas",
"to": "right_tree.png" "to": "mjdesktopfix.atlas"
},{ },{
"from": "chs_t/tanfang/right_tree.png", "from": "res/atlas/myres/mjdesktopfix_chs_t.atlas",
"to": "right_tree.png" "to": "mjdesktopfix_chs_t.atlas"
},{ },{
"from": "jp/tanfang/right_tree.png", "from": "res/atlas/myres/mjdesktopfix_en.atlas",
"to": "right_tree.png" "to": "mjdesktopfix_en.atlas"
},{ },{
"from": "en/tanfang/right_tree.png", "from": "res/atlas/myres/mjdesktopfix_jp.atlas",
"to": "right_tree.png" "to": "mjdesktopfix_jp.atlas"
}] }]
} }
\ No newline at end of file
This diff is collapsed.
{ {
"id": "SeeleVollereiALL", "id": "SeeleVollereiALL",
"version": "2.2.2", "version": "2.2.4",
"name": "希儿 Mod", "name": "希儿 Mod",
"author": ["Yuri","Tachibana"], "author": ["Yuri","Tachibana"],
"description": "一姬改希儿\n原作者:Yuri\n修复及补充:Tachibana", "description": "一姬改希儿\n原作者:Yuri\n修复及补充:Tachibana",
"preview": "preview.jpg", "preview": "preview.jpg",
"dependencies": { "dependencies": {
"font_override": "^1.0.0"
}, },
"resourcepack": [ "resourcepack": [
{ {
......
This diff is collapsed.
{
"id": "font_override",
"version": "1.0.2",
"name": "替换位图字体mod",
"author": ["8q","bin"],
"description": "将位图字体替换为完整字体,防止魔改后缺字\n190820:bin修复\n210522:bin再次修复",
"preview": "preview.jpg",
"entry": "font.js",
"resourcepack": [
"fengyu.ttf",
"hanyi.ttf",
"haolong.otf"
]
}
\ No newline at end of file
(function () {
const fontMap = {
fengyu: {
src: 'url(./majsoul_plus/extension/font_override/fengyu.ttf)',
},
hanyi: {
src: 'url(./majsoul_plus/extension/font_override/hanyi.ttf)',
},
haolong: {
src: 'url(./majsoul_plus/extension/font_override/haolong.otf)',
},
youyuan: {
src: 'local("幼圆")',
},
youyuan_bold: {
src: 'local("幼圆")',
bold: true,
},
};
let css = '';
for (let [name, info] of Object.entries(fontMap)) {
css += `@font-face{font-family:"${name}";src:${info.src};${info.bold ? 'font-weight:bold;' : ''}}\n`
}
const style = document.createElement('style');
style.id = '8q_font_override';
style.appendChild(document.createTextNode(css));
document.head.appendChild(style);
const registerBitmapFont = Laya.Text.registerBitmapFont;
Laya.Text.registerBitmapFont = function (name, font) {
console.log(name, font)
if (font !== undefined && fontMap.hasOwnProperty(name)) {
// font.destroy(); // 直接不销毁了,我相信1202年的电脑配置不会那么差
font.fontName_8q = name === 'hanyi' ? 'hanyi,haolong' : name; // 汉仪字体缺字,用今昔豪龙补一下
} else {
console.log('缺少字体定义:', font, name);
}
return registerBitmapFont.call(this, name, font);
}
const ctx = document.createElement('canvas').getContext("2d");
const getCharWidth = Laya.BitmapFont.prototype.getCharWidth;
Laya.BitmapFont.prototype.getCharWidth = function (chr) {
if (this.fontName_8q) {
ctx.font = '40px ' + this.fontName_8q;
return ctx.measureText(chr).width + this.letterSpacing;
} else {
return getCharWidth.call(this, chr);
}
}
const drawText = Laya.BitmapFont.prototype.drawText;
Laya.BitmapFont.prototype.drawText = function (str, textObj, x, y, align, width) {
if (this.fontName_8q) {
const font = '40px ' + this.fontName_8q;
let textWidth = this.getTextWidth(str),
left = 0;
if ('center' === align) left = (width - textWidth) / 2;
else if ('right' === align) left = width - textWidth;
for (let index = 0, len = str.length; index < len; index++) {
textObj.graphics.fillText(str.charAt(index), x + left, y, font, '', 'left');
left += this.getCharWidth(str.charAt(index));
}
} else {
return drawText.call(this, str, textObj, x, y, align, width);
}
}
}());
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment