Unity热更新方案C#Like(廿二)-详解内置的例子C#Like Demo:飞机大战,简易聊天室,简易账号/物品/邮件系统

C#Like是Unity的热更方案,使用纯C#语言写出可以热更新的代码,就像可以在所有平台使用DLL(动态链接库)文件一样.遵从KISS设计原则,让用户轻松构建或升级成Unity的热更新项目.

简介

本篇主要介绍C#Like的内置的例子:C#Like Demo. 可以让你熟悉本热更新方案的框架,方便你后面构建新的热更新项目或把已有非热更新的旧项目升级为热更新项目.

搭建的详细步骤

  • 创建一个空白的2D/3D项目为CSharpLikeFree
  • 到Unity资源商店购买相关的免费资源: 如果已购买的则跳过
  • 导入相关的免费资源:
    • 先打开Package Manager界面 : 菜单'Window'->'Package Manager'
    • 导入'C#Like免费版' : 'Packages: My Assets'->'C#LikeFree Hot Update Framework'->'Import'
  • 修改产品名称:
    • 菜单'Edit'->'Project Settings'->'Player'->'Product Name' 设置为 'CsharpLike'
  • 编辑器测试调试
    • 如需Visual Studio断点调试代码, 菜单"Window"->"C#Like"->"C#Like Setting"->勾上"is debug mode" 来开启调试模式.
    • 调试模式:实际上就是非热更新的模式,采用反射方式调用非热更新的代码,本质就是纯C#代码,所以支持C#的全语法. C#Like完整版因为比免费支持更多C#特性,更加接近调试模式. 即免费版会出现更多调试模式下没问题但非调试模式下有问题的情况.
    • 在编辑器里, 打开场景"Assets\C#Like\Scenes\BuildInDemoScene.unity", 然后点'▶'按钮就可以正常运行调试可热更新的场景了.
    • 详细测试例子:
      • 测试WebSocket或Socket. 一进入场景,就会自动登录到服务器(简易版账号系统),然后服务器发回玩家数据(物品系统和邮件系统),并且打印出来,服务器的源代码在GitHub,客户端的源代码在目录"Assets\C#Like\HotUpdateScripts\Sample\NetObjects"和文件"Assets\C#Like\HotUpdateScripts\Sample\SampleSocket.cs",更详尽介绍在Unity热更新方案C#Like(廿一)-详解KissFrameworkServer:对应的示范例子和官网所用的服务器框架
      • "Hello World"按钮. 对应脚本文件:"Assets\C#Like\HotUpdateScripts\Sample\SampleHelloWorld.cs". 最简洁的MonoBehaviour和LikeBehaviour对比,展示基本的生命周期函数:
      • "Interactive Prefab"按钮. 对应脚本文件:"Assets\C#Like\HotUpdateScripts\Sample\SampleInteractivePrefabData.cs". 热更脚本和Unity场景或预制体是如何交互数据的:
      • "Test C#"按钮. 展示所支持的C#语法和特性,对应脚本文件:"Assets\C#Like\HotUpdateScripts\Sample\SampleC#\*.cs". 详细请点击下面链接:
      • "Aircraft Battle"按钮. 对应脚本目录:"Assets\C#Like\HotUpdateScripts\Sample\AircraftBattle\",对应预制体目录:"Assets\C#Like\Sample\AircraftBattle\". 最早期做的一个飞机大战例子:
        • "BattleField.cs" : 是战场场景脚本,基类为LikeBehaviour,负责加载战斗和管理玩家飞机和敌机.
        • "Aircraft.cs" : 是对应玩家操控的飞机脚本,基类为LikeBehaviour,负责跟随玩家触碰的位置和发射子弹.
        • "Enemy.cs" : 是对应敌机脚本,基类为LikeBehaviour,负责按指定方向飞行和向玩家发射子弹.
        • "Bullet.cs" : 是对应子弹脚本,基类为LikeBehaviour,由玩家飞机或敌机射出,碰撞检测后扣血量.
        • "Money.cs" : 是对应金钱战利品脚本,基类为LikeBehaviour,由敌机扣血死亡后生成的战利品.和玩家战机靠近后将计算玩家金钱.
      • "Chat Room"按钮. 对应脚本文件:"Assets\C#Like\HotUpdateScripts\Sample\SampleChatRoom.cs.cs". 一个简单的聊天室,与服务器交互的例子.进入聊天室获取若干近期的聊天信息并且显示,可以输入聊天信息发送到服务器,服务器广播给在线玩家.
      • "Exit"按钮. 退出当前界面,实际上就是加载0号场景
  • 导出最终产品AssetBundle
    • 菜单"Window"->"C#Like"->"C#Like Setting"->点击按钮"Rebuild Scripts"
    • 最终生成目录"CSharpLikeFree\AssetBundles\CsharpLike",同时也会复制到目录"StreamingAssets"
      • "CSharpLikeFree\AssetBundles\CsharpLike\WebGL\code.ab" : 是包含二进制代码文件的AssetBundle
      • "CSharpLikeFree\AssetBundles\CsharpLike\WebGL\cslike.ab" : 是包含资源(预制体)的AssetBundle
      • "CSharpLikeFree\AssetBundles\CsharpLike\WebGL\demoscene.ab" : 是包含资源(场景)的AssetBundle
      • "CSharpLikeFree\AssetBundles\CsharpLike\WebGL\config.json" : 是ResourceManager用到的配置JSON文件,作用类似manifest文件

 本系列文章导读:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C#Like

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值