添加 'DragonCore/MiaoDragonCoreEditor.yml'
This commit is contained in:
parent
0e25ed014f
commit
8b89888c57
303
DragonCore/MiaoDragonCoreEditor.yml
Normal file
303
DragonCore/MiaoDragonCoreEditor.yml
Normal file
@ -0,0 +1,303 @@
|
||||
Functions_edit:
|
||||
open: |-
|
||||
界面变量.当前组件索引 = -1;
|
||||
界面变量.所有组件数组 = 方法.取所有组件;
|
||||
界面变量.当前组件名称 = "main";
|
||||
方法.执行方法('保存鼠标位置');
|
||||
方法.执行方法('设置当前组件');
|
||||
方法.消息('&a已切换到编辑模式!');
|
||||
return 方法.执行方法('操作提示');
|
||||
高精度数值相加: |-
|
||||
return (方法.取成员(局部变量.参数, 0) * 100000 + 方法.取成员(局部变量.参数, 1) * 100000) / 100000
|
||||
高精度数值相减: |-
|
||||
return (方法.取成员(局部变量.参数, 0) * 100000 - 方法.取成员(局部变量.参数, 1) * 100000) / 100000
|
||||
设置当前组件为鼠标悬浮组件: |-
|
||||
局部变量.x = 方法.取鼠标x;
|
||||
局部变量.y = 方法.取鼠标y;
|
||||
界面变量.当前组件 = 方法.取悬浮组件;
|
||||
界面变量.当前组件名称 == 界面变量.当前组件.name ? return 0 : 0;
|
||||
界面变量.当前组件名称 = 界面变量.当前组件.name;
|
||||
方法.执行方法('设置当前组件');
|
||||
设置当前组件: |-
|
||||
界面变量.当前组件名称 == "" ? return 方法.消息('未选取组件') : 0;
|
||||
界面变量.当前组件 = 方法.取组件(界面变量.当前组件名称);
|
||||
界面变量.当前组件X偏移变量 = 方法.合并文本(界面变量.当前组件名称, '_offsetX');
|
||||
界面变量.当前组件Y偏移变量 = 方法.合并文本(界面变量.当前组件名称, '_offsetY');
|
||||
方法.设置变量值(界面变量.当前组件X偏移变量, 方法.取组件值(界面变量.当前组件名称, 'x')-界面变量.x);
|
||||
方法.设置变量值(界面变量.当前组件Y偏移变量, 方法.取组件值(界面变量.当前组件名称, 'y')-界面变量.y);
|
||||
界面变量.当前组件.x = 方法.合并文本("界面变量.x+方法.取变量('", 界面变量.当前组件X偏移变量, "');");
|
||||
界面变量.当前组件.y = 方法.合并文本("界面变量.y+方法.取变量('", 界面变量.当前组件Y偏移变量, "');");
|
||||
方法.消息(方法.合并文本('&6已选择组件: &a', 界面变量.当前组件名称));
|
||||
方法.执行方法('操作提示');
|
||||
打印当前组件: |-
|
||||
界面变量.当前组件名称 == "" ? return 方法.消息('未选取组件') : 0;
|
||||
方法.消息('&6当前组件信息: ');
|
||||
方法.消息(方法.合并文本('&6名称: &c', 界面变量.当前组件名称));
|
||||
方法.消息(方法.合并文本('&6宽: &3', 方法.取组件值(界面变量.当前组件名称, 'width'), ' &6高: &3', 方法.取组件值(界面变量.当前组件名称, 'width')));
|
||||
方法.消息(方法.合并文本('&6X: &3', 方法.取组件值(界面变量.当前组件名称, 'x')-界面变量.x, ' &6Y: &3', 方法.取组件值(界面变量.当前组件名称, 'y')-界面变量.y));
|
||||
方法.消息(方法.合并文本('&6scale: &3', 界面变量.当前组件.scale));
|
||||
放大缩小组件: |-
|
||||
界面变量.当前组件名称 == "" ? return 方法.消息('未选取组件') : 0;
|
||||
界面变量.当前组件.scale = 方法.执行方法('高精度数值相加', 界面变量.当前组件.scale , 方法.取滚轮值 * 0.1);
|
||||
方法.执行方法('操作提示');
|
||||
mouse_move: |-
|
||||
方法.执行方法('鼠标移动', 方法.取鼠标X - 界面变量.当前鼠标X, 方法.取鼠标Y - 界面变量.当前鼠标Y);
|
||||
方法.执行方法('保存鼠标位置');
|
||||
保存鼠标位置: |-
|
||||
界面变量.当前鼠标X = 方法.取鼠标X;
|
||||
界面变量.当前鼠标Y = 方法.取鼠标Y;
|
||||
鼠标移动: |-
|
||||
界面变量.当前组件名称 == "" ? return 0 : 0;
|
||||
方法.键位是否按下('mouse_left') == 1 ? {
|
||||
(界面变量.当前组件名称 == "" || 界面变量.当前组件名称 == "main")? return 0 : 0;
|
||||
局部变量.偏移X = 方法.取成员(局部变量.参数, 0);
|
||||
局部变量.偏移Y = 方法.取成员(局部变量.参数, 1);
|
||||
局部变量.偏移X != 0 ? 方法.设置变量值(界面变量.当前组件X偏移变量, 方法.取变量(界面变量.当前组件X偏移变量) + 局部变量.偏移X) : 0;
|
||||
局部变量.偏移Y != 0 ? 方法.设置变量值(界面变量.当前组件Y偏移变量, 方法.取变量(界面变量.当前组件Y偏移变量) + 局部变量.偏移Y) : 0;
|
||||
方法.执行方法('操作提示');
|
||||
} : 0;
|
||||
click_left: |-
|
||||
局部变量.组件名称 = 方法.取鼠标悬浮组件名;
|
||||
局部变量.组件名称 == "" ? return 1 : 0;
|
||||
方法.是否存在前缀(局部变量.组件名称, 'MiaoDragonCoreEditor') ? 0 : {
|
||||
方法.执行方法('设置当前组件为鼠标悬浮组件');
|
||||
return 1;
|
||||
};
|
||||
局部变量.组件名称 == 'MiaoDragonCoreEditorexit_label' ? return 方法.执行方法('退出编辑') : 0;
|
||||
局部变量.组件名称 == 'MiaoDragonCoreEditorupload_label' ? {
|
||||
方法.键位是否按下('LCONTROL') == 0 ? return 方法.消息('&c配置上传后将会覆盖服务器配置', '&d如需继续 请按住 &4Ctrl &d点击上传!') : 0;
|
||||
return 方法.执行方法('上传界面');
|
||||
} : 0;
|
||||
局部变量.组件名称 == 'MiaoDragonCoreEditorcreate_label' ? return 方法.执行方法('创建组件') : 0;
|
||||
局部变量.组件名称 == 'MiaoDragonCoreEditordelete_label' ? {
|
||||
界面变量.当前组件名称 == "main" ? return 方法.消息('&c删除失败 main 组件不允许删除!') : 0;
|
||||
方法.键位是否按下('LCONTROL') == 0 ? return 方法.消息(方法.合并文本('&6是否需要删除 &b', 界面变量.当前组件名称,' &6组件?'), '&c如需继续 请按住 &4Ctrl &c点击删除!') : 0;
|
||||
方法.消息(方法.合并文本('&6组件 &b', 界面变量.当前组件名称,' &c已删除!'));
|
||||
方法.删除组件(界面变量.当前组件名称);
|
||||
界面变量.当前组件名称 = "main";
|
||||
方法.执行方法('设置当前组件');
|
||||
return 1;
|
||||
} : 0;
|
||||
方法.是否存在前缀(局部变量.组件名称, 'MiaoDragonCoreEditor_') ? {
|
||||
局部变量.组件名称数组 = 方法.分割(局部变量.组件名称, '_');
|
||||
局部变量.操作属性 = 方法.取成员(局部变量.组件名称数组, 1);
|
||||
return 方法.执行方法('编辑组件', 局部变量.操作属性);
|
||||
} : 0;
|
||||
return 1;
|
||||
click_right: |-
|
||||
return 1;
|
||||
编辑组件: |-
|
||||
方法.切换方法集('Functions_getInput');
|
||||
方法.执行方法('open', 'Functions_edit', '设置组件', 方法.取组件值(界面变量.当前组件名称, 局部变量.参数[0]), 局部变量.参数[0]);
|
||||
return 1;
|
||||
组件居中: |-
|
||||
界面变量.当前组件名称 == "" ? return 方法.消息('未选取组件') : 0;
|
||||
界面变量.当前组件.center ? {
|
||||
方法.消息(方法.合并文本('&6组件: &3', 界面变量.当前组件名称, ' &c已取消居中...'))
|
||||
} : {
|
||||
方法.消息(方法.合并文本('&6组件: &3', 界面变量.当前组件名称, ' &a已居中...'))
|
||||
}
|
||||
界面变量.当前组件.center = !界面变量.当前组件.center;
|
||||
操作提示: |-
|
||||
方法.执行方法(
|
||||
'绘制操作提示',
|
||||
'exit=&6组件属性编辑模式 &c&l退出',
|
||||
'_name=&3组件名称: &r',
|
||||
'create=&3点击此行新增一个组件 &a&l新增',
|
||||
'delete=&c点击此行删除此组件 &4&l删除',
|
||||
'_x=&3位置 X: &r',
|
||||
'_y=&3位置 Y: &r',
|
||||
'_width=&3组件宽度: &r',
|
||||
'_height=&3组件高度: &r',
|
||||
'_scale=&3组件缩放: &r',
|
||||
'_texture=&3材质地址: &r',
|
||||
'_texts=&3文本内容: &r',
|
||||
'_identifier=&3插槽名称: &r',
|
||||
'_text=&3文本框内容: &r',
|
||||
'2=&c点击其他组件可进行切换',
|
||||
'3=&aWASD 移动位置 默认移动1像素',
|
||||
'31=&a按住Shift移动0.1像素 按住Ctrl移动10像素',
|
||||
'4=&2Ctrl + 鼠标滚轮 缩放组件',
|
||||
'upload=&d点击此处 上传配置到服务器 &a&l上传'
|
||||
);
|
||||
绘制操作提示: |-
|
||||
局部变量.起始偏移X = 80;
|
||||
局部变量.起始偏移Y = 80;
|
||||
局部变量.文本偏移 = 12;
|
||||
局部变量.组件Y偏移 = 局部变量.起始偏移Y;
|
||||
for_each(局部变量.提示, 局部变量.参数, {
|
||||
局部变量.组件名称数组 = 方法.分割(局部变量.提示, '=');
|
||||
局部变量.组件名称 = 局部变量.组件名称数组[0];
|
||||
局部变量.组件提示 = 局部变量.组件名称数组[1];
|
||||
局部变量.组件 = 方法.新建组件(方法.合并文本('MiaoDragonCoreEditor', 局部变量.组件名称, '_label'));
|
||||
局部变量.组件Y偏移 = 局部变量.组件Y偏移 + 局部变量.文本偏移;
|
||||
局部变量.组件.x = 局部变量.起始偏移X;
|
||||
局部变量.组件.y = 局部变量.组件Y偏移;
|
||||
方法.是否存在前缀(局部变量.组件名称, '_') ? {
|
||||
局部变量.属性名称 = 方法.分割(局部变量.组件名称, '_');
|
||||
局部变量.属性值 = 方法.取组件值(界面变量.当前组件, 局部变量.属性名称[1]);
|
||||
局部变量.组件.texts = 方法.合并文本(局部变量.组件提示, 局部变量.属性值, ' &b编辑');
|
||||
} : {
|
||||
局部变量.组件.texts = 局部变量.组件提示;
|
||||
};
|
||||
方法.添加组件(局部变量.组件);
|
||||
});
|
||||
return 1;
|
||||
设置组件: |-
|
||||
方法.设置组件值(界面变量.当前组件名称, 局部变量.参数[1], 局部变量.参数[0]);
|
||||
方法.执行方法('操作提示');
|
||||
return 1
|
||||
上传界面: |-
|
||||
界面变量.上传中 == 1 ? return 方法.消息('&c组件上传中 请稍候...') : 0;
|
||||
界面变量.上传中 = 1;
|
||||
方法.消息(方法.合并文本('&a开始上传 &3', 方法.取当前界面名, ' &a请稍候...'));
|
||||
方法.发包('MiaoDragonCoreEditor', 'upload', 'start', 方法.取当前界面名);
|
||||
上传组件: |-
|
||||
for_each(局部变量.组件, 方法.取所有组件, {
|
||||
方法.是否存在前缀(局部变量.组件.name, 'MiaoDragonCoreEditor') ? 0 : {
|
||||
方法.发包(
|
||||
'MiaoDragonCoreEditor',
|
||||
'upload',
|
||||
'component',
|
||||
方法.取当前界面名,
|
||||
局部变量.组件.name_,
|
||||
局部变量.组件.width_,
|
||||
局部变量.组件.height_,
|
||||
局部变量.组件.x_,
|
||||
局部变量.组件.y_,
|
||||
局部变量.组件.scale_
|
||||
);
|
||||
}
|
||||
});
|
||||
方法.执行方法('上传结束');
|
||||
上传结束: |-
|
||||
方法.发包('MiaoDragonCoreEditor', 'upload', 'end', 方法.取当前界面名);
|
||||
界面变量.上传中 = 0;
|
||||
方法.消息(方法.合并文本('&a上传成功 重载龙核后即可生效...'));
|
||||
wheel: |-
|
||||
方法.键位是否按下('LCONTROL') == 1 ? return 方法.执行方法('放大缩小组件') : 0;
|
||||
移动组件: |-
|
||||
界面变量.当前组件名称 == "" ? return 方法.消息('未选取组件') : 0;
|
||||
局部变量.移动距离 = 1;
|
||||
局部变量.移动距离 = 方法.键位是否按下("LCONTROL") ? 10 : 局部变量.移动距离;
|
||||
局部变量.移动距离 = 方法.键位是否按下("LSHIFT") ? 0.1 : 局部变量.移动距离;
|
||||
方法.取当前按下键 == "A" ? 方法.设置变量值(界面变量.当前组件X偏移变量, 方法.执行方法('高精度数值相减', 方法.取变量(界面变量.当前组件X偏移变量), 局部变量.移动距离)) : 0;
|
||||
方法.取当前按下键 == "W" ? 方法.设置变量值(界面变量.当前组件Y偏移变量, 方法.执行方法('高精度数值相减', 方法.取变量(界面变量.当前组件Y偏移变量), 局部变量.移动距离)) : 0;
|
||||
方法.取当前按下键 == "D" ? 方法.设置变量值(界面变量.当前组件X偏移变量, 方法.执行方法('高精度数值相加', 方法.取变量(界面变量.当前组件X偏移变量), 局部变量.移动距离)) : 0;
|
||||
方法.取当前按下键 == "S" ? 方法.设置变量值(界面变量.当前组件Y偏移变量, 方法.执行方法('高精度数值相加', 方法.取变量(界面变量.当前组件Y偏移变量), 局部变量.移动距离)) : 0;
|
||||
方法.执行方法('操作提示');
|
||||
keyPress: |-
|
||||
方法.取当前按下键 == "ESCAPE" ? {
|
||||
方法.键位是否按下('LCONTROL') == 1 ? 方法.执行方法('退出编辑') : 方法.消息("&c请先退出编辑模式后关闭界面! &4Ctrl + ESC 强制退出!");
|
||||
return 1;
|
||||
} : 0;
|
||||
界面变量.当前组件名称 != "" ? return 方法.执行方法('移动组件') : 0;
|
||||
return 1;
|
||||
创建组件: |-
|
||||
方法.切换方法集('Functions_create', 0);
|
||||
方法.执行方法('open')};
|
||||
return 1;
|
||||
退出编辑: |-
|
||||
方法.删除组件('MiaoDragonCoreEditor', 1);
|
||||
方法.消息('&c已退出编辑组件模式!');
|
||||
方法.切换方法集('Functions', 1);
|
||||
return 1
|
||||
|
||||
Functions_create:
|
||||
open: |-
|
||||
方法.消息('&a已切换到新建组件模式!');
|
||||
方法.消息('&6请按键选择需要新建的组件:');
|
||||
方法.消息('&61: &a新建 &3界面(texture)');
|
||||
方法.消息('&62: &a新建 &3插槽(slot)');
|
||||
方法.消息('&63: &a新建 &3文本(label)');
|
||||
方法.消息('&64: &a新建 &3文本框(textbox)');
|
||||
keyPress: |-
|
||||
方法.取当前按下键 == "1" ? return 方法.执行方法('新建组件', '新建界面') : 0;
|
||||
方法.取当前按下键 == "2" ? return 方法.执行方法('新建组件', '新建插槽') : 0;
|
||||
方法.取当前按下键 == "3" ? return 方法.执行方法('新建组件', '新建文本') : 0;
|
||||
方法.取当前按下键 == "4" ? return 方法.执行方法('新建组件', '新建文本框') : 0;
|
||||
return 1;
|
||||
新建组件: |-
|
||||
方法.切换方法集('Functions_getInput', 0);
|
||||
方法.执行方法('open', 'Functions_create', 局部变量.参数[0], '请输入组件名称 按回车确认');
|
||||
return 1
|
||||
新建界面: |-
|
||||
局部变量.组件 = 方法.新建组件(方法.合并文本(局部变量.参数[0], '_texture'));
|
||||
局部变量.组件.x = 方法.合并文本("main.x");
|
||||
局部变量.组件.y = 方法.合并文本("main.y");
|
||||
局部变量.组件.width = 16;
|
||||
局部变量.组件.height = 16;
|
||||
局部变量.组件.texture = "huan/h1.png";
|
||||
方法.添加组件(局部变量.组件);
|
||||
方法.执行方法('完成新建', 局部变量.组件.name);
|
||||
新建插槽: |-
|
||||
局部变量.组件 = 方法.新建组件(方法.合并文本(局部变量.参数[0], '_slot'));
|
||||
局部变量.组件.x = 方法.合并文本("main.x");
|
||||
局部变量.组件.y = 方法.合并文本("main.y");
|
||||
局部变量.组件.width = 16;
|
||||
局部变量.组件.height = 16;
|
||||
局部变量.组件.identifier = "container_36";
|
||||
方法.添加组件(局部变量.组件);
|
||||
方法.执行方法('完成新建', 局部变量.组件.name);
|
||||
新建文本: |-
|
||||
局部变量.组件 = 方法.新建组件(方法.合并文本(局部变量.参数[0], '_label'));
|
||||
局部变量.组件.x = 方法.合并文本("main.x");
|
||||
局部变量.组件.y = 方法.合并文本("main.y");
|
||||
局部变量.组件.texts = 局部变量.组件[1] ? 局部变量.组件[1] : 局部变量.组件.name;
|
||||
方法.添加组件(局部变量.组件);
|
||||
方法.执行方法('完成新建', 局部变量.组件.name);
|
||||
新建文本框: |-
|
||||
局部变量.组件 = 方法.新建组件(方法.合并文本(局部变量.参数[0], '_textbox'));
|
||||
局部变量.组件.x = 方法.合并文本("main.x");
|
||||
局部变量.组件.y = 方法.合并文本("main.y");
|
||||
局部变量.组件.width = 200;
|
||||
局部变量.组件.height = 20;
|
||||
局部变量.组件.texts = 局部变量.组件.name;
|
||||
方法.添加组件(局部变量.组件);
|
||||
方法.执行方法('完成新建', 局部变量.组件.name);
|
||||
完成新建: |-
|
||||
方法.切换方法集('Functions_edit', 0);
|
||||
界面变量.当前组件名称 = 局部变量.参数[0];
|
||||
方法.执行方法('设置当前组件');
|
||||
|
||||
# 独立方法 用于获取用户输入内容
|
||||
# 参数1 回调方法集
|
||||
# 参数2 回调方法
|
||||
# 参数3 输入提示
|
||||
# 参数4 默认值
|
||||
Functions_getInput:
|
||||
open: |-
|
||||
界面变量.MiaoDragonCoreEditorInputCallbackFunctions = 局部变量.参数[0];
|
||||
界面变量.MiaoDragonCoreEditorInputCallbackFunction = 局部变量.参数[1];
|
||||
界面变量.MiaoDragonCoreEditorInputDefaultValue = 局部变量.参数[2];
|
||||
界面变量.MiaoDragonCoreEditorInputCallbackParams = 局部变量.参数[3];
|
||||
局部变量.组件 = 方法.新建组件('MiaoDragonCoreEditor_textbox');
|
||||
局部变量.组件.x = (方法.取屏幕宽度 - 200) / 2;
|
||||
局部变量.组件.y = 30;
|
||||
局部变量.组件.width = 200;
|
||||
局部变量.组件.height = 20;
|
||||
局部变量.组件.length = 256;
|
||||
局部变量.组件.text = 界面变量.MiaoDragonCoreEditorInputDefaultValue;
|
||||
局部变量.组件.focused = true;
|
||||
方法.添加组件(局部变量.组件);
|
||||
局部变量.组件 = 方法.新建组件('MiaoDragonCoreEditor_label');
|
||||
局部变量.组件.x = (方法.取屏幕宽度 - 200) / 2;
|
||||
局部变量.组件.y = 20;
|
||||
局部变量.组件.width = 200;
|
||||
局部变量.组件.height = 20;
|
||||
局部变量.组件.texts = "&6请在下面修改内容后 按 &c回车 &a确认 &6按 &rESC &c取消";
|
||||
方法.添加组件(局部变量.组件);
|
||||
click: |-
|
||||
方法.取鼠标悬浮组件名 != "MiaoDragonCoreEditor_textbox" ? return 1 : 0;
|
||||
keyPress: |-
|
||||
方法.取当前按下键 == "ESCAPE" ? return 方法.执行方法('移除组件并退出') : 0;
|
||||
界面变量.MiaoDragonCoreEditorInputText = 方法.取组件值('MiaoDragonCoreEditor_textbox','text');
|
||||
(方法.取当前按下键 == "RETURN") ? {
|
||||
方法.执行方法('移除组件并退出');
|
||||
方法.执行方法(界面变量.MiaoDragonCoreEditorInputCallbackFunction, 界面变量.MiaoDragonCoreEditorInputText, 界面变量.MiaoDragonCoreEditorInputCallbackParams);
|
||||
return 1;
|
||||
} : 0;
|
||||
移除组件并退出: |-
|
||||
方法.删除组件('MiaoDragonCoreEditor_label');
|
||||
方法.删除组件('MiaoDragonCoreEditor_textbox');
|
||||
方法.切换方法集(界面变量.MiaoDragonCoreEditorInputCallbackFunctions, 0);
|
Loading…
Reference in New Issue
Block a user