[翻译] C# Async/Await 是如何工作的
原文链接 Several weeks ago, the .NET Blog featured a post What is .NET, and why should you choose it?. It provided a high-level overview of the platform, summarizing various components and design decision…
2023-3-21 11:26
|
|
42321 字
|
4.3 小时
Steam Deck 安装 Steam++
当前文章安装的是 Steam++ 2.8.6 版本 下载浏览器,什么浏览器都行,打开 steamapp.net 网站,选择 Linux 下载,这里最好打开 github 的源链接 选择下图的版本下载 下载好后,解压到桌面,双击运行 Steam++ 运行如下指令 # 此时会要求输入两次密码 passwd # 信任证书 sudo trust anchor --store .local/share/St…
2023-3-13 18:13
|
|
131 字
|
1 分钟内
如何设计打包流程
版本 修订记录 修订日期 1.0.0 Init 2023-3-13 目标 & 背景 项目的打包流程是一个细活,但是想设计一套清晰合理,并易于扩展的打包流程不是一件易事。如果公司项目很多,每个项目都设计一套项目自己有的打包流水线,显然是不合理的,那么针对这些情况,设计一套合理的打包流水线就非常有必要 在我司的环境下,我认为一个合理的打包流水线应当包含如下功能 我们这么做,并不能代表在你的项目…
2023-3-13 13:19
|
|
2792 字
|
25 分钟
Unity 调用 gradle task
目标 & 背景 在 Unity Andorid 多渠道管理 这篇文章中,有提到如何对 Android 多渠道打包进行合理的自动化划分,但是仍然有一个核心问题没有解决,如何在 Unity CI/CD 流程中,直接调用 gradle 中写好的 task 我们的目标是,所有打包流程全部在 Unity 中完成,不管用的是什么平台的 CI/CD 流程,最终仅仅是调用了 Unity 中一个静态方法 这…
2023-2-25 19:15
|
|
954 字
|
5 分钟
Docusaurus 配合 DocFX
目标 & 背景 最近公司刚刚搭好 Docusaurus 文档环境,刚好在即刻看到 叫我三叔就行 用户提到的 DocFX 自动生成 C# API 的工具,此工具最终会生成一组 yaml 文件,然后进行 web 的绘制,这个和 Docusaurus 刚好冲突 现有的文档不兼容,着实有些遗憾,本篇文章会介绍如何兼容这两个工具 DocFxMarkdownGen 工具 这个也是一个开源工具,其整体思…
2023-2-20 12:28
|
|
578 字
|
6 分钟
Mac Mini 安装 HomeAssistant
起因 最近苹果刚刚发布了 M2 的 Mac Mini,我也入手了一台,合计着使用 Surge 搭建一个软路由,但算力仍然有很多闲置,就准备试试吧 hass 也接入到 Mini 中 接入过程 本文的安装过程对应的是 Home Assistant 2023.1.7 版本,如果版本有变化,很可能会导致安装失败,请自行甄别 首先安装真正的 AppStore brew /bin/bash -c "…
2023-2-19 14:15
|
|
427 字
|
3 分钟
Docusaurus 出色的文档解决方案
目标 & 背景 在 内网 Package 管理 这篇文章中,有提到如何构建公司自有的框架,但由此就引发了一个新问题,那就是 文档,也是困扰了我很久的一个心病,一个符合我想象的文档工具应当包含如下功能 支持版本管理 一个服务对应 N 套框架文档 要支持博客类型的文章 不需要引入其他编辑器软件 最好支持多语言,给未来一个可能 因此花了很多时间对比市面上现有的文档解决方案,最后 Docusaur…
2023-2-19 13:41
|
|
1642 字
|
10 分钟
利用 Surge Snell 随时访问内网
起因 公司的大部分服务,都部署在公司的内网上,如果需要远程访问需要连接公司提供的 VPN 服务,但是由于搭建的协议是 OpenVPN,而不是 Surge 支持的 WireGuard,因此每次连接内网都需要关闭 Surge,并开启公司的 VPN 再加上偶尔需要访问家里的内网服务,决定着手对此问题进行改造,这里主要围绕 DSM 搭建 Snell 服务进行介绍,公司的通道也是同理的 目标 首先需要明确一…
2023-2-12 10:41
|
|
618 字
|
3 分钟
Unity Andorid 多渠道管理
版本 修订记录 修订日期 1.0.0 Init 2023-2-4 1.0.1 增加 IL2Cpp编译 2023-2-25 目标 & 背景 一般来说手游开发到一定进度,一定会涉及到大量的 native 交互问题,比如 重启 App、拉起支付、观看广告 等等,而这些大部分情况下都是第三方提供的 native SDK,而且有时候游戏需要接入的渠道多的离谱,再加上很多公司自己研发的 SDK 由于缺…
2023-2-04 18:05
|
|
2908 字
|
24 分钟
使用 InterpolatedString 减少字符串拼接的 GC
原视频链接 考虑到 Unity 准备在 2024 年前后,推出基于 dotnet Runtime 的版本,本篇文章也标记为 Unity 分类,等后面 Unity 准备好之后,再对新版的客户端进行改造 在日常开发过程中,字符串的拼接通常会占用大量的 GC,通常拼接字符串我们会使用如下几种方法 1. 1 + "/" + 2 + "/" + 3 2. StringBuilder 3. string.Fo…
2023-1-29 15:23
|
|
746 字
|
8 分钟
向一个外部类插入属性
原视频链接 假设我们有如下 Unit 类,仅有一个 name 字段 public class Unit { public string name; } 此时我们有一个需求,所有 Unit 都希望有一个 position 字段 Unit 类可能因为各种原因无法扩展,比如在 dll 里、package 里,或者你本身不希望侵入 Unit 类进行新字段的增加,此时为了解决这个问题,我们有如下定义 pub…
2023-1-14 13:51
|
|
261 字
|
3 分钟
Mac 双扬声器声音控制
起因 之前入手了两个 LG Ultra Fine 4K 的显示器,因为本身就有扬声器,但是 Mac 插上去就只能用一台显示器输出声音,使用起来非常奇怪,就像缺了一个声道 后来折腾半天,终于找到一个接近原生实现的解决方案 扬声器聚合 在 Mac 原生软件中,有一个 音频 MIDI 的工具,这里我们可以任意聚合所有我们希望输出的音频,因为我这里有两个显示器,所以希望左边的显示器只输出 左声道,右边的显…
2023-1-14 13:21
|
|
406 字
|
2 分钟
Alfred 增加 github search 功能
起因 最近刚刚拿到了 github search 的测试资格,想着平时搜索一些代码的使用,但是每次都手敲对应的 prefix 有些麻烦,因此合计着给整合到 Alfred 流程中 如果你还没有使用资格,可以先申请一下 具体实现过程 首先打开 Alfred 的设置,来到 Features->Web Search 中,参考下图配置 # 我平时使用 C# 查询比较多,这里可以自行替换 languag…
2023-1-10 16:37
|
|
180 字
|
1 分钟内
C# 在不同环境下调用 shell 脚本
目标 & 背景 一般在开发一个项目时,往往会分出 N 多个 git 仓库,挨个手动更新会很麻烦,如果希望使用 C# 调用一些 git 相关的命令,通常会使用 Process 这类。由于某些仓库,如配表的导出,我们会写一个比较长的 shell 处理,此时就需要使用 Process 来调用 shell 这个时候问题就出现了,在 Windows/Mac 上,死活找不到 dotnet,两者的处理过…
2023-1-08 13:02
|
|
1247 字
|
8 分钟
如何设计技能系统
文档版本 修订记录 修订日期 1.0.0 init 2023-1-7 1.0.1 修复部分显示错误 2023-1-7 在你开始阅读这篇文章之前,建议优先了解如下内容,否则会导致部分段落无法理解 ET Luban Luban Excel 配表工具使用推荐及总结 Luban_Example 如何设计角色属性组件 CliToolkit 工具 推荐结合 hepta文档 一同进行阅读,方便理解数据是如何流转…
2023-1-07 22:50
|
|
11002 字
|
1.9 小时
CliToolkit 工具
目标 & 背景 在游戏开发过程中,通常我们会为了更好的测试、校验逻辑正确性等,开发很多工具,最常见的就是 GM1 指令,以及一些为运营同学开发的运营工具,如:发送邮件,开启活动等等 这样我们就可以将工具分为两大类 游戏内建 GM 指令 部分工具可以直接丢进 Unity Editor 开发 运营工具(Web) 但是在实际开发过程中,我总是会碰到一些工具放在哪里都不合适,比如:正式服的 AB …
2022-11-20 11:29
|
|
862 字
|
4 分钟
如何设计角色属性组件
目标 & 背景 本篇文章是对 ET1 中 NumericComponent 的介绍和补充,会围绕实际开发过程中可能会碰到的一些问题,给一个解题思路,并且会结合 Luban2 给出一个策划和程序都开心的方案 猫大曾经对 NumericComponent 做出过如下评论 单 NumericComponent 就可以完成 80% Moba 类游戏的设计了 属性组件作为游戏战斗中最底层的设计,拥有…
2022-11-06 11:48
|
|
1959 字
|
11 分钟
如何设计游戏登录流程
目标 & 背景 一般来说,游戏的开启,到登陆成功,进入游戏主页,中间的过程是十分复杂的,为了适应各种各样的突发情况、运营需求等,整体登录流程的设计,需要考虑到非常多的情况 我们期望达成的目标可以粗暴的分成下面三个分支,接下来我们一点点对功能进行补充 正常线上玩家 白名单 审核 开始之前 推荐客户端优先使用 HybridCLR1 和 YooAsset2 这两个工具来解决,代码热更和资源热更的…
2022-10-28 15:55
|
|
1717 字
|
7 分钟
定制 Unity BuildIn Package
目标 & 背景 在 内网 Package 管理 这篇文章中我们提到了如何自建 npm 工具包,整合 unity 官方 package 和公司自定义的私有 package 此时就会碰到一个新的问题,如果我们修改了 unity 内建的 package 时,就必须要考虑如何适配的问题 比如:项目中自定义的 UI 框架中,需要对现有的 com.unity.ugui 源码进行修改,此时需要使用项目自…
2022-10-28 13:43
|
|
426 字
|
2 分钟
内网 Package 管理
目标 & 背景 一般来说,商业公司可能出于各种考量,会使用内网的开发环境,此时针对 Docker、NuGet、UMP 的服务全部都无法正常使用,同时公司也会自行维护一些自有的框架,也要解决包管理的问题 这篇文章希望通过介绍 SonaType Nexus1(下面简称为 Nexus) 的具体使用场景,补全一些网络上教程的空白,后面主要对 UMP 的使用场景进行介绍 从这些问题存在的角度上来看,…
2022-10-20 16:39
|
|
1133 字
|
6 分钟