当前位置: 首页>>代码示例>>Java>>正文


Java UShort类代码示例

本文整理汇总了Java中acmi.l2.clientmod.io.annotation.UShort的典型用法代码示例。如果您正苦于以下问题:Java UShort类的具体用法?Java UShort怎么用?Java UShort使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


UShort类属于acmi.l2.clientmod.io.annotation包,在下文中一共展示了UShort类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: fieldSizer

import acmi.l2.clientmod.io.annotation.UShort; //导入依赖的package包/类
private static BiFunction<Token, BytecodeContext, Integer> fieldSizer(Field f) {
    Class type = f.getType();
    if (type == Byte.TYPE || f.isAnnotationPresent(UByte.class)) {
        return (token, context) -> 1;
    } else if (type == Short.TYPE || f.isAnnotationPresent(UShort.class)) {
        return (token, context) -> 2;
    } else if (type == Integer.TYPE) {
        return (token, context) -> 4;
    } else if (type == Float.TYPE) {
        return (token, context) -> 4;
    } else if (type == String.class) {
        return (token, context) -> {
            String s = (String) fieldGet(f, token);
            return s.getBytes(context.getUnrealPackage().getFile().getCharset()).length + 1;
        };
    } else if (Token.class.isAssignableFrom(type)) {
        return (token, context) -> ((Token) fieldGet(f, token)).getSize(context);
    } else if (f.isAnnotationPresent(FunctionParams.class)) {
        return (token, context) -> Stream.concat(Arrays.stream(((Token[]) fieldGet(f, token))), Stream.of(new EndFunctionParams()))
                .mapToInt(t -> t.getSize(context)).sum();
    } else {
        throw new IllegalStateException("Unsupported field type: " + type);
    }
}
 
开发者ID:acmi,项目名称:L2unreal,代码行数:25,代码来源:Token.java


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