修改ui样式

This commit is contained in:
Bob.Song
2026-02-04 18:55:28 +08:00
parent b6570fa8fa
commit ca9226015d
154 changed files with 13770 additions and 338 deletions

View File

@@ -5,6 +5,14 @@ import CodeWriter, { ICodeWriterConfig } from './CodeWriter';
import genSetting, { ComponentData, MemberData } from './GenCodeSettings'
import languageSetting, { LanguageComponentChildData } from './LanguageSettings'
// Tween 使用运行时 require避免跨项目编译输出位置错乱本地定义最小类型接口
interface TweenComponentChildData { id: string; key: string; useable: number }
// 注意:运行时从相对路径加载已编译的 JSCustomAttributer/TweenSettings.js
declare const require: any;
const tweenSetting: any = (function(){
try { return require('../whoot-tween/TweenSettings').default || require('../whoot-tween/TweenSettings'); } catch { return null; }
})();
const File = System.IO.File;
const Directory = System.IO.Directory;
const App = FairyEditor.App;
@@ -137,6 +145,8 @@ function genCSCode(handler: FairyEditor.PublishHandler) {
console.log("生成Binder,count="+componentClassNameArr.length)
genBinder(codePkgName, componentClassNameArr);
genLanguage();
// 生成动效配置
genTween();
}
function getScriptName(className: string, comUrl: string) {
@@ -587,4 +597,87 @@ function genLanguage() {
writer.save(savePath);
}
/**
* 生成动效配置
* 结构参考多语言生成:按包 -> 组件URL -> 子项id写入 C# 配置类
*/
function genTween() {
let binderName = 'UITweenConfig';
if (!tweenSetting || !tweenSetting.getAllPackage) {
console.warn('UITweenConfig 生成被跳过:未找到 ../whoot-tween/TweenSettings.js 或接口不完整');
return;
}
let tweenMap = tweenSetting.getAllPackage();
let codeConfig: WhootCodeWriterConfig = new WhootCodeWriterConfig();
codeConfig.fileMark = "/**注册组件动效绑定。本脚本为自动生成每次生成会覆盖请勿手动修改生成插件文档及项目地址https://git.whoot.com/whoot-games/whoot.fguieditorplugin**/"
let writer = new CodeWriter(codeConfig);
writer.reset();
writer.writeln('using System.Collections.Generic;');
writer.writeln('using FairyGUI;');
writer.writeln('using NBC;');
writer.writeln();
if (setNamespaceName) {
writer.writeln('namespace %s', namespaceName);
writer.startBlock();
}
writer.writeln('public class %s : UIComponentTweenPack', binderName);
writer.startBlock();
writer.writeln('public %s()', binderName);
writer.startBlock();
writer.writeln('AddData();');
writer.endBlock();
writer.writeln();
writer.writeln('private void AddData()');
writer.startBlock();
let keys = tweenMap.keys();
for (let key of keys) {
let pack = tweenMap.get(key);
let tweenData = pack.components;
for (let comUrl in tweenData) {
let comObj = tweenData[comUrl];
if (comObj == undefined) continue;
writer.writeln('// %s', key);
writer.writeln('Add("%s", new UIComponentTween()', comUrl);
writer.startBlock();
for (let childId in comObj) {
var cfg = comObj[childId] as TweenComponentChildData | any;
let useable = cfg['useable'];
let tweenKey = cfg['key'];
if (useable != 1) continue;
writer.writeln('{ "%s", "%s" },', childId, tweenKey);
}
writer.endBlock();
writer.writeln(');');
}
writer.writeln();
}
writer.endBlock(); // AddData
writer.endBlock(); // class
if (setNamespaceName) {
writer.endBlock(); // namespace
}
let fileName = binderName + '.cs'
let savePath = exportCodePath + '/' + fileName
console.log("生成 tween=", fileName)
if (existScriptPaths.hasOwnProperty(fileName)) {
savePath = existScriptPaths[fileName]
}
writer.save(savePath);
}
export { genCSCode };