今天折腾了一会儿,给这个 noise 主题换上了 prism 的 darcula 主题,然后又把某些地方魔改了一下。

总之香的不行,上一篇的 Groovy 代码高亮混乱的问题也解决了。

测试一下,

@Override
public <C extends CastingSkill<E>, E extends EntitySkill<?, C>> Optional<C> operate(Class<E> cl, 
    SkillOperation<? super C> operation) throws UnsupportedOperationException {
    Optional<Entity> entity = getEntity();
    if (entity.isPresent()) {
        if (multimap.containsKey(cl)) {
            Collection<C> castingSkills = getCastingSkills(cl);
            if (castingSkills.size() > 0) {
                C skill = castingSkills.iterator().next();
                return Optional.of(operate(skill, operation));
            }
        }
        ProfessionSubject subject = ProfessionService.instance().getOrCreate(entity.get());
        SkillTree skillTree = subject.getMerged();
        Optional<E> optional = skillTree.find(cl);
        if (optional.isPresent()) {
            E skill = optional.get();
            C cast = skill.createCast(this);
            return Optional.of(operate(cast, operation));
        }
    }
    return Optional.empty();
}

没 IDEA 里面好看。