common-tools

Unity3D新手引导开发手记

ぐ巨炮叔叔 提交于 2020-08-19 05:35:46
最近开始接手新手引导的开发,记录下这块相关的心得 首先客户端是Unity,在接手前,前面的同学已经初步完成了新手引导框架的搭建,这套框架比较简单,有优点也有缺点,稍后一一点评 我们的新手引导是由一个个强引导组成的,每个强引导都有一系列的步骤,这套框架实现的功能就是: 1.组织一个强引导(任务)所需的步骤,并可以一步一步前进 2.实现蒙版,遮罩以及高亮引导区 第一个功能比较简单,首先需要有一个新手引导管理器来管理每一个步骤,然后启动第一个步骤,只需要在每一次点击的事件处理中,通知新手引导管理器,结束当前步骤,启动下一个步骤 第二个功能相对麻烦一点,首先每一个步骤可能都会有一个高亮区域,我们需要在不改动原有代码的基础上,实现这个高亮,首先我们 增加一个Guide摄像机,这个摄像机的优先级是最高的,他只照射Guide这个层的东西 ,而这个层的最底部,有一个黑色的蒙版,在步骤开始执行时,我们只需要 将要高亮的对象,设置为该层的对象 ,即可高亮显示,并且蒙版添加一个BoxCollider,来防止玩家点击到蒙版以下的按钮。在该新手引导步骤结束的时候,再将引导区设置回原来的层。 // 找到该物件并设置其层 private void SetObjectLayer( int layer, bool isStart) { if (highLightObj != null ) { if (isStart

TypeScript之defineProperty实现数据绑定

独自空忆成欢 提交于 2020-04-14 09:50:30
【今日推荐】:为什么一到面试就懵逼!>>> 一:绑定类 class CommonTools { public static watch<T>(obj: Object, name: string, callback: ($data: T) => void, init: boolean = true): void { let $value: T = obj[name] as T; Object.defineProperty(obj, name, { get() { return $value }, set($newValue) { if ($value != $newValue) { $value = $newValue; callback($value); } } }); init && callback($value); } } 二:测试 class M { private k: number = 10; } window["a"] = new M(); CommonTools.watch<number>(window["a"], "k", ($data: number) => { console.log(`aaaa : ${$data}`); }, true); window["a"].k = 12; CommonTools.watch<number>(window["a"],

蚂蚁金服研发框架日志隔离解析 | SOFABoot 框架剖析

冷暖自知 提交于 2020-02-27 13:27:16
SOFA Stack( S calable O pen F inancial A rchitecture Stack)是蚂蚁金服自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件,是在金融场景里锤炼出来的最佳实践。 本文为《剖析 | SOFABoot 框架》第二篇,本篇作者阮仁照,来自遨游酒店信息技术。《剖析 | SOFABoot 框架》系列由 SOFA 团队和源码爱好者们出品,项目代号: SOFA:BootLab/ ,文章尾部有参与方式,欢迎同样对源码热情的你加入。 SOFABoot 是蚂蚁金服开源的基于 SpringBoot 的研发框架,提供了诸如 Readiness Check、类隔离、日志空间隔离等能力,用于快速、敏捷地开发 Spring 应用程序,特别适合构建微服务系统。 本文将从 Java 的日志体系谈起,对 JCL、SLF4J 两个经典的日志框架做一个阐述,引出 SOFABoot 开源的日志隔离框架 sofa-common-tools ,并且有实战 Demo,能够帮助我们快速上手和了解这款框架的使用和作用,最后从源码角度对其进行分析,不仅知其然,还要知其所以然。 SOFABoot : https://gitee.com/sofastack/sofa-boot sofa-common-tools : https://gitee.com

common-tools(4)之端口映射和SSH tunnel方式连接数据库

廉价感情. 提交于 2019-12-02 03:50:28
如果大家用过一些数据库客户端软件,会发现里面有一项是SSH,可以使用SSH通道来连接到远程主机的数据库,此时我们就可以使用内网IP来直连数据库了。不知道大家有多少是这么用数据库的,我想这么设定肯定是为了安全吧。 好么,现在问题来了,我想用程序连一下这个数据库该怎么办?那库只有内网IP,那只能用程序来模拟一个SSH通道了。 我在网上一直找相关的类库,一直没有找到,最后在神奇的stackoverflow上找到一个回答才知道有个类库叫做jsch,功能异常强大,我这水平一般,完全没有搞懂其他功能,只发现了一个对本次主题有用的功能——端口映射。其实原理很简单,就是你给定SSH登录信息,登录后产生一个Session会话,然后将服务器上的某个端口映射到本地,这样就可以使用本地连接来连接数据库了。 OK,先把这段代码地址贴出来。 https://github.com/looly/common-tools/blob/master/src/main/java/com/baijob/commonTools/net/SSHUtil.java 好的,我们开始。先贴测试代码 package com.baijob.commonTools; import com.baijob.commonTools.net.SSHUtil; import com.jcraft.jsch.JSchException; import