Update getEquipTypeByName & api.md

This commit is contained in:
ckcz123 2020-07-15 16:16:12 +08:00
parent bf70ccc42d
commit 7743fc8de0
3 changed files with 1674 additions and 1488 deletions

File diff suppressed because it is too large Load Diff

View File

@ -2119,7 +2119,7 @@ var terndefs_f6783a0a_522d_417e_8407_94c67b692e50 = [
"!type": "fn(func: name|fn(), _this?: ?)"
},
"control": {
"!doc": "游戏控制",
"!doc": "负责整个游戏的核心控制系统,分为如下几个部分:<br/>- requestAnimationFrame相关<br/>- 标题界面,开始和重新开始游戏<br/>- 自动寻路和人物行走相关<br/>- 画布、位置、阻激夹域、显伤等相关<br/>- 录像的回放相关<br/>- 存读档,自动存档,同步存档等相关<br/>- 人物属性和状态、位置、变量等相关<br/>- 天气、色调、音乐和音效的播放<br/>- 状态栏和工具栏相关<br/>- 界面resize相关",
"showStatusBar": {
"!doc": "显示状态栏",
"!type": "fn()"
@ -2696,7 +2696,7 @@ var terndefs_f6783a0a_522d_417e_8407_94c67b692e50 = [
}
},
"utils": {
"!doc": "工具函数",
"!doc": "工具函数库,里面有各个样板中使用到的工具函数。",
"scan": {
"!doc": "朝向到x,y映射",
"up": {
@ -2930,7 +2930,7 @@ var terndefs_f6783a0a_522d_417e_8407_94c67b692e50 = [
}
},
"actions": {
"!doc": "用户操作相关的函数",
"!doc": "主要是处理一些和用户交互相关的内容。",
"onup": {
"!doc": "当点击(触摸)事件放开时",
"!type": "fn(loc: {x: number, y: number, size: number})"
@ -3028,7 +3028,7 @@ var terndefs_f6783a0a_522d_417e_8407_94c67b692e50 = [
}
},
"maps": {
"!doc": "地图处理相关的函数",
"!doc": "负责一切和地图相关的处理内容,包括如下几个方面:<br/>- 地图的初始化,保存和读取,地图数组的生成<br/>- 是否可移动或瞬间移动的判定<br/>- 地图的绘制<br/>- 获得某个点的图块信息<br/>- 启用和禁用图块,改变图块 <br/>- 移动/跳跃图块,淡入淡出图块<br/>- 全局动画控制,动画的绘制",
"noPass": {
"!doc": "判定某个点是否不可被踏入不基于主角生命值和图块cannotIn属性<br/>例如core.noPass(0, 0); // 判断地图左上角能否被踏入<br/>x: 目标点的横坐标<br/>y: 目标点的纵坐标<br/>floorId: 目标点所在的地图id不填视为当前地图<br/>返回值true表示可踏入",
"!type": "fn(x: number, y: number, floorId?: string) -> bool"
@ -3323,7 +3323,7 @@ var terndefs_f6783a0a_522d_417e_8407_94c67b692e50 = [
}
},
"ui": {
"!doc": "UI绘制相关的函数",
"!doc": "负责一切UI界面的绘制。主要包括三个部分<br/>- 设置某个画布的属性与在某个画布上绘制的相关API<br/>- 具体的某个UI界面的绘制<br/>- 动态创建画布相关的API",
"resizeCanvas": {
"!doc": "重新设置一个自定义画布的大小",
"!type": "fn(name: string, x: number, y: number)"
@ -3664,7 +3664,7 @@ var terndefs_f6783a0a_522d_417e_8407_94c67b692e50 = [
}
},
"enemys": {
"!doc": "怪物处理的相关函数",
"!doc": "定义了一系列和怪物相关的API函数",
"getEnemys": {
"!doc": "获得所有怪物原始数据的一个副本。<br/>请使用core.material.enemys获得当前各项怪物属性。",
"!type": "fn()"
@ -3731,7 +3731,7 @@ var terndefs_f6783a0a_522d_417e_8407_94c67b692e50 = [
}
},
"events": {
"!doc": "事件处理相关的函数",
"!doc": "events.js将处理所有和事件相关的操作主要分为五个部分<br/>- 游戏的开始和结束<br/>- 系统事件的处理<br/>- 自定义事件的处理<br/>- 点击状态栏图标所进行的操作<br/>- 一些具体事件的执行内容",
"afterChangeFloor": {
"!doc": "转换楼层结束的事件",
"!type": "fn(floorId?: string)"
@ -4026,7 +4026,7 @@ var terndefs_f6783a0a_522d_417e_8407_94c67b692e50 = [
}
},
"plugin": {
"!doc": "插件编写",
"!doc": "插件编写中内置了一些常用的插件。",
"drawLight": {
"!doc": "绘制一段灯光效果<br/>name必填要绘制到的画布名可以是一个系统画布或者是个自定义画布如果不存在则创建<br/>color可选只能是一个0~1之间的数为不透明度的值。不填则默认为0.9。<br/>lights可选一个数组定义了每个独立的灯光。其中每一项是三元组 [x,y,r] x和y分别为该灯光的横纵坐标r为该灯光的半径。<br/>lightDec可选0到1之间光从多少百分比才开始衰减在此范围内保持全亮不设置默认为0。比如lightDec为0.5代表每个灯光部分内圈50%的范围全亮50%以后才开始快速衰减。<br/>例如core.plugin.drawLight('test', 0.2, [[25,11,46,0.1]]); // 创建一个test图层不透明度0.2,其中在(25,11)点存在一个半径为46的灯光效果灯光中心不透明度0.1。<br/>core.plugin.drawLight('test2', 0.9, [[25,11,46],[105,121,88],[301,221,106]]); // 创建test2图层且存在三个灯光效果分别是中心(25,11)半径46中心(105,121)半径88中心(301,221)半径106。",
"!type": "fn(name: string|CanvasRenderingContext2D, color?: number, lights?: [[number]], lightDec?: number)"

View File

@ -211,12 +211,14 @@ items.prototype.removeItem = function (itemId, itemNum) {
items.prototype.getEquipTypeByName = function (name) {
var names = core.status.globalAttribute.equipName;
var types = [];
for (var i = 0; i < names.length; ++i) {
if (names[i] === name && !core.status.hero.equipment[i]) {
return i;
if (names[i] === name) {
types.push(i);
if (!core.status.hero.equipment[i]) return i;
}
}
return -1;
return types.length == 1 ? types[0] : -1;
}
items.prototype.getEquipTypeById = function (equipId) {