首页 > 其他分享 >自由学习记录(27)

自由学习记录(27)

时间:2024-12-02 19:04:46浏览次数:8  
标签:插件 27 记录 C# 代码 自由 支持 NET 加载

event委托在类内可完全修改

(前提为该event在类中的声明为public,外部可访问,然后外部访问的时候不能直接改)

下面这段代码是在 类的内部 访问事件

void ClearAllListeners()
{
    MyEvent = null;
}

event 修饰的委托字段 在类内部没有限制直接赋值的权限,所以可以赋值为 null,或者任意修改

event 修饰符的设计初衷:保护外部代码不能随意破坏事件,但允许声明事件的类对事件有完全的控制权。

C# 语言对 event 的设计是为了分离订阅者和触发者的权限

  • 类外部
    • 只能订阅或取消订阅,保证事件机制的完整性,不会被意外破坏。
  • 类内部
    • 拥有完全的控制权,便于事件管理(包括清空订阅、触发等)。

event 修饰符的访问规则

操作类内部类外部
+=✅ 支持✅ 支持
-=✅ 支持✅ 支持
直接赋值✅ 支持❌ 禁止
Invoke()✅ 支持❌ 禁止


Lua连通的散乱印象抓取

toLua对泛型的支持并不好

想在tolua中使用协程,首先要在初始化中的LuaMgr里

LuaCorountine.Register(luaState,this)进行协程注册

event 修饰的委托更安全,限制只能订阅(+=)和取消订阅(-=),不能直接赋值

list和dic的使用基本都是在贴合c#中的使用模式

tolua和xlua作用点是大致相同的,只是里面的定义形式不太一样,xlua更主流一些

对于某一泛型的设置,也需要加到customTypeList 里设置,才可以识别出来

c#读取Lua中的表对象,(也是引用拷贝)

LuaTable 的接收到的表变量,是引用拷贝的

委托泛型中的协变逆变,协变要传入父类in,逆变要传入子类out

VScode的环境搭建和相关优化

VScode快捷键

Windows/Linux: Ctrl + /,注释选中的代码(每行前面都加上//)

Windows/Linux: Shift + Alt + A,使用块注释(选区前后加上/*  ....  */)

Windows/Linux: Ctrl + K Ctrl + F,选中代码格式化,包括注释行

 GitHub Copilot 的常用快捷键

  • Tab:
    • 接受 Copilot 提供的代码建议。
  • Alt + [ (向前)Alt + ] (向后):
    • 浏览 Copilot 提供的多种代码建议。
触发建议窗口
  • Ctrl + Enter (Windows/Linux) 
    • 手动触发代码建议,即使没有上下文。

屏幕相关快捷键

Ctrl + Shift + P (Windows/Linux) 

现在学的话也应该针对不到需要的点,还是实际开发的时候想想可以简化的地方吧

youtube的使用插件,在谷歌下载

------------------------------ - YouTube 速度控制: ------

单击,并保持下一次长按,状态保持于2倍速,释放后恢复一倍速

向右拖动以获得更快的速度

向下拖动后再释放以继续以该速度观看

微调速度 - 点击逗号或句号可将速度调高或调低 5%,长按则状态于5倍速

https://chromewebstore.google.com/detail/youtube-ad-accelerator-ea/lmcggcabhocpfkbddekmconplfjmmgmn

VScode快捷键:ctrl+p搜索文件名寻找

按住键盘ctrl键实现所有同名区域的选择,右键更改所有匹配项,也可以重命名全部变量

查找所有引用

c#还有一个自动引用命名空间的插件,但现在也弃用了,不维护

插件生态是很丰富的,平时觉得哪里麻烦的话可以想想插件可不可以解决问题

Unity Snippets下载

然后是unity tool的下载

debugger for unity现在弃用了,所以下另一个,使用直接叫unity的插件

然后在vscode里使用c#就没问题了,接着上面就是vscode和unity的衔接

vscode默认没有三杠注释,所以要再加个这个插件

现在的vscode用c#的话,是用这个扩展

C# for Visual Studio Code (powered by OmniSharp),主要用于提供对 C# 编程语言的支持。它并不是完整的 Visual Studio 集成开发环境(IDE),而是一个轻量级的编辑器插件,旨在帮助开发者在 VSCode 中进行 C# 开发。以下是它的主要功能和用途:

1. 代码高亮和语法支持

  • 代码高亮:C# 代码在编辑器中会自动高亮,帮助开发者更容易阅读和理解代码结构。
  • 智能感知:提供自动补全功能,显示方法、类和变量的建议,减少打字错误。
  • 语法检查:实时显示代码中的语法错误和警告,帮助开发者在编写代码时发现问题。

2. 调试支持

  • 集成调试:C# 插件支持通过 VSCode 的调试器进行调试,允许你设置断点、单步执行、查看变量值等。
  • 调试配置:提供 launch.json 文件的生成和配置功能,支持 .NET Core 和 .NET Framework 应用程序的调试。

3. 项目和解决方案支持

  • 多项目支持:插件支持 .NET 项目文件(如 .csproj)的加载和解析,能够在 VSCode 中识别和管理多项目解决方案。
  • 项目文件操作:可以通过插件进行编译和构建操作(需要配合 .NET SDK)。

4. 代码导航和重构

  • 转到定义和引用:支持右键单击或快捷键操作以快速跳转到方法、类或变量的定义。
  • 查找引用:可以查找和显示当前选中变量或方法的所有引用位置。
  • 重构工具:虽然不如完整 IDE 的重构功能强大,但插件支持一些基本的重构操作,如重命名、提取方法等。

5. 扩展功能

  • OmniSharp 服务器:插件使用 OmniSharp 作为后台服务来解析 C# 代码并提供智能感知、调试等功能。它是一个开源的 .NET 开发环境服务,支持 .NET Core 和 .NET Framework。
  • 其他插件支持:可以与其他 VSCode 插件(如 Git 工具、Docker、Jest 等)协同使用,以便进行多功能开发和调试。

6. 支持 .NET Core 和 .NET Framework

  • 跨平台支持:插件能够在 Windows、Linux 和 macOS 上工作,支持开发 .NET Core 应用程序和 .NET Framework 应用程序(对于非 Windows 平台,主要是 .NET Core)。
  • 兼容性:支持 C# 语言的不同版本(例如 C# 7.x、8.x、9.x 等)。

先搜Chinese设置中文 

找不到AssetBundle的问题

     "com.unity.assetbundlebrowser": "1.7.0"

把这个接在末尾就可以了

AssetBundle Browser ->Build->Advanced Settings -> Compression

打包时的压缩方式


Compression 选项

Compression 是指对打包生成的 AssetBundle 文件应用不同的压缩算法

(1)Uncompressed
  • 特点:
    • AssetBundle 不会进行压缩,文件大小较大。
    • 运行时加载速度快(因为无需解压缩)。
  • 适用场景:存储空间不敏感,但追求快速加载(如本地运行的大型游戏资源)。
(2)LZMA
  • 特点:
    • 最大压缩率,最小文件大小
    • 运行时加载时需要解压缩,占用较高的 CPU 和内存。
    • 解压后的资源会被临时存储到内存或磁盘中。
  • 适用场景:初始下载包的 AssetBundle,追求最小文件大小以节省带宽和存储。
  • 注意: LZMA 下的 AssetBundle 运行时无法直接加载,Unity 会将其转换为 LZ4 格式,耗时较多。
(3)LZ4
  • 特点:
    • 较高的压缩率,但不如 LZMA。
    • 支持运行时直接加载(无需额外解压步骤)。
    • 提供平衡的文件大小和加载速度。
    • 常用

选项对比总结

压缩方式文件大小加载速度适用场景
Uncompressed最大最快本地测试、大型本地资源
LZMA最小慢(需解压)初始安装包、小型资源
LZ4中等热更新资源、运行时频繁加载的资源

开发中的注意事项

  • 如果资源在 运行时频繁加载,推荐选择 LZ4,避免解压缩开销。
  • 如果资源用于 一次性打包下载(如游戏的安装包),可以使用 LZMA 减小文件大小。
  • Uncompressed 适合开发阶段测试,但发布时一般不推荐使用

标签:插件,27,记录,C#,代码,自由,支持,NET,加载
From: https://blog.csdn.net/red_redemption/article/details/144113098

相关文章

  • 记录一个前端景深效果的实现
    参考教程:https://blog.csdn.net/aaaa_aaab/article/details/143949881在上述教程的基础上有一些修改,并非是在banner上的应用:展示代码tsimporttype{CSSProperties}from'vue'conststartX=ref(0);constcurrentX=ref(0);constcloudStyle1=ref<CSSPropertie......
  • 2024.11.27(周三)
    importpandasaspdfromsklearn.datasetsimportload_irisfromsklearn.model_selectionimportcross_val_score,cross_validate,StratifiedKFoldfromsklearn.ensembleimportRandomForestClassifierfromsklearn.metricsimportprecision_score,recall_score,......
  • ALPN复现记录. GAN WGAN .Bilevel Optimization
    titleALPN复现流程GAN与WGAN二阶优化1这篇文章是一篇用于高频遥感图分类的应用型文章,公开数据集程序开源,难度友好,代码清晰程度较好。用'IP'数据集说明,其他类似classAEDataset(Datapath,transform)defgetitem()deflen()--->输出用于生成学习无标签的数据pytorch......
  • 12.2 CW 模拟赛 赛时记录
    前言\(12\)月的第一场,没有大样例这次带了耳塞,注意考试方法其实并不复杂,先看题吧带上耳塞,终于舒服了看题\(\rm{T1}\)结论题?\(\rm{T2}\)\(\rm{HS}\)似乎讲过???但是我忘了,一会看能不能推一下多半是找规律\(\rm{T3}\)性质题?\(\rm{T4}\)数据结构维护吧,......
  • [ABC227D] Project Planning
    算法朴素的贪心从性质上就不可能通过,考虑换一种方式注意到当\(C\)即总项目数确定时,我们是有办法确定是否可行的不难发现,对于确定当前的元素\(a_i\),我们可以分类讨论\(a_i\geqC\)显然的,当\(a_i\geqC\)时,无论如何也只能贡献\(C\),即每个项目贡献一......
  • 记录Vue3中使用pinia可能遇到的问题及解决方法
    1.在安装依赖时容易停留pinia,附带持久化插件使用的地址https://prazdevs.github.io/pinia-plugin-persistedstate/zh/guide/方法:请按照以下步骤:删除C:\Users账户中的.npmrc文件在命令提示符里执行npmcacheverify在命令提示符里执行npmconfigsetregistryhttps://regi......
  • PTAL1-027 出租
    本人第一次写博客,希望分享下自己做这道题的想法哈哈,如有不足,望各位高手批评指正。解题思路:由题意知,输入是11位电话号码,可用字符数组存放,然后观察题目,很容易看出,我们需要用一个数组存放11位电话号码中互不重复的数字,可采用“桶排序”思想,设置一个整型数组存放1~9的数字并进行......
  • 等不到IC-light flux开源,就这样自由控制光影!FLUX模特换背景+模特换衣+光影的新思路解
    更多AI前沿科技资讯,请关注我们:closerAIGCcloserAI,一个深入探索前沿人工智能与AIGC领域的资讯平台,我们旨在让AIGC渗入我们的工作与生活中,让我们一起探索AIGC的无限可能性!closerAI-一个深入探索前沿人工智能与AIGC领域的资讯平台【closerAIComfyUI】等不到IC-lightf......
  • 11.27实验 25:访问者模式
    [实验任务一]:打包员在我们课堂上的“购物车”的例子中,增加一个新的访问者:打包员,负责对购物车中货物装包。实验要求:1. 画出对应的类图;    2. 提交源代码;#include<iostream>#include<string>#include<list>usingnamespacestd; classProduct;classBook......
  • SSM酒店管理系统81279(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、项目背景随着旅游业的蓬勃发展,酒店业竞争日益激烈。为提高酒店运营效率,提升客户体验,开发一套高效、智能的酒店管理系统显得尤为重要。该系统旨......