• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript config-parser.Ast类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了TypeScript中config-parser.Ast的典型用法代码示例。如果您正苦于以下问题:TypeScript Ast类的具体用法?TypeScript Ast怎么用?TypeScript Ast使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Ast类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。

示例1: updateMissionSqm

function updateMissionSqm(missionSqmPath: string): Parser.Node {
    var missionSqm = fs.readFileSync(missionSqmPath, 'UTF-8');
    var ast = Parser.create(missionSqm, Lexer.create(missionSqm)).parse();
    _.remove(Ast.select(ast, 'Mission.Entities')[0].fields, n => {
        var dataType = Ast.select(n, 'dataType')[0];
        return dataType && dataType.value != 'Group';
    });

    var groupItems = Ast.select(ast, 'Mission.Entities.Item*').filter(e => Ast.select(e, 'dataType')[0].value == 'Group');
    _.each(groupItems, g => {
        _.chain(Ast.select(g, 'Entities.Item*'))
        .each(v => { removeRolePrefix(v); })
        .value();
    });

    var hmgGroups = Ast.select(ast, 'Mission.Entities.Item*')
        .filter(e => Ast.select(e, 'dataType')[0].value == 'Group')
        .filter(e => Ast.select(e, 'Entities.Item0.Attributes.description')[0].value.indexOf('HMG') >= 0);
    _.each(hmgGroups, g => {
        _.remove(Ast.select(g, 'Entities')[0].fields, u => {
            var description = Ast.select(u, 'Attributes.description')[0];
            return description
                && description.value.indexOf('HMG') >= 0
                && description.value.indexOf('Assistant') >= 0;
        });
        Ast.select(g, 'Entities.items')[0].value = Ast.select(g, 'Entities.Item*').length;
        Ast.select(g, 'Entities.Item2')[0].fieldName = "Item1";
    });
    Ast.select(ast, 'Mission.Entities.items')[0].value = Ast.select(ast, 'Mission.Entities.Item*').length;
    return ast;
}
开发者ID:Cyruz143,项目名称:shipyard,代码行数:31,代码来源:RandomEngagements.ts


示例2:

 _.each(hmgGroups, g => {
     _.remove(Ast.select(g, 'Entities')[0].fields, u => {
         var description = Ast.select(u, 'Attributes.description')[0];
         return description
             && description.value.indexOf('HMG') >= 0
             && description.value.indexOf('Assistant') >= 0;
     });
     Ast.select(g, 'Entities.items')[0].value = Ast.select(g, 'Entities.Item*').length;
     Ast.select(g, 'Entities.Item2')[0].fieldName = "Item1";
 });
开发者ID:Cyruz143,项目名称:shipyard,代码行数:10,代码来源:RandomEngagements.ts


示例3: updateMissionSqm

function updateMissionSqm(missionSqmPath: string) {
    var missionSqm = fs.readFileSync(missionSqmPath, 'UTF-8');
    var ast = Parser.create(missionSqm, Lexer.create(missionSqm)).parse();
    _.remove(Ast.select(ast, 'Mission.Entities')[0].fields, n => {
        var dataType = Ast.select(n, 'dataType')[0];
        return dataType && dataType.value != 'Group'
    });
    Ast.select(ast, 'Mission.Entities.items')[0].value = Ast.select(ast, 'Mission.Entities.Item*').length;
    var groupItems = Ast.select(ast, 'Mission.Entities.Item*').filter(e => Ast.select(e, 'dataType')[0].value == 'Group');
    _.each(groupItems, g => {
        _.chain(Ast.select(g, 'Entities.Item*'))
        .each(v => { removeRolePrefix(v); })
        .value();
    });
    fs.writeFileSync(missionSqmPath, PrettyPrinter.create('\t').print(ast), 'UTF-8');
}
开发者ID:Cyruz143,项目名称:shipyard,代码行数:16,代码来源:TownSweep.ts


示例4: getTemplates

function getTemplates(filePath: string, parentSelector: string): Template[] {
    var ast = parseFile(filePath);
    var templateAst = Ast.select(ast, `${parentSelector}.*`);
    return templateAst.map(ut => ({
        id: ut.fieldName,
        name: ut.fieldName,
        description: ''
    }));
}
开发者ID:Cyruz143,项目名称:shipyard,代码行数:9,代码来源:Admiral.ts


示例5: generateMission

export function generateMission(terrainId: string): Mission.GeneratedMission {
    var mission = defaultMission(terrainId);
    var generatedMission = Mission.generateMission(mission);
    var missionSqmPath = `${generatedMission.missionDir}/mission.sqm`;
    var missionAst = updateMissionSqm(missionSqmPath);
    var maxPlayers = Mission.getPlayableUnitCount(missionAst);
    var fullMissionName = `ark_${Mission.missionTypeToMissionNamePrefix(Mission.stringToMissionType(mission.missionTypeName))}${maxPlayers}_${mission.briefingName.toLowerCase()}`;
    updateDescriptionExt(`${generatedMission.missionDir}/description.ext`, maxPlayers);

    generatedMission.downloadMissionName = `${fullMissionName}.${mission.terrainId}`;
    Ast.select(missionAst, 'ScenarioData.Header.maxPlayers')[0].value = maxPlayers;
    Ast.select(missionAst, 'Mission.Intel.briefingName')[0].value = fullMissionName;

    fs.writeFileSync(missionSqmPath, PrettyPrinter.create('\t').print(missionAst), 'UTF-8');
    fs.copySync(`${RE_HOME}/blufor_briefing.sqf`, `${generatedMission.missionDir}/hull3/briefing/blufor.sqf`);
    fs.copySync(`${RE_HOME}/opfor_briefing.sqf`, `${generatedMission.missionDir}/hull3/briefing/opfor.sqf`);

    return generatedMission;
}
开发者ID:Cyruz143,项目名称:shipyard,代码行数:19,代码来源:RandomEngagements.ts


示例6:

 templates.forEach(t => {
     Ast.select(admiralAst, 'Admiral.' + t.selector)[0].value = t.value;
 })
开发者ID:Cyruz143,项目名称:shipyard,代码行数:3,代码来源:Admiral.ts


示例7: removeRolePrefix

 _.each(groupItems, g => {
     _.chain(Ast.select(g, 'Entities.Item*'))
     .each(v => { removeRolePrefix(v); })
     .value();
 });
开发者ID:Cyruz143,项目名称:shipyard,代码行数:5,代码来源:TownSweep.ts


示例8:

 var groupItems = Ast.select(ast, 'Mission.Entities.Item*').filter(e => Ast.select(e, 'dataType')[0].value == 'Group');
开发者ID:Cyruz143,项目名称:shipyard,代码行数:1,代码来源:TownSweep.ts



注:本文中的config-parser.Ast类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript config.server类代码示例发布时间:2022-05-25
下一篇:
TypeScript config.has函数代码示例发布时间:2022-05-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap