.NetCore + Unity = 未来

Unity服务器端代码的选择问题,有很多。本人比较喜欢用Golang。

但是从写了ZP框架之后,写BackEnd时,发现很多情况要把Client的C#代码使用Go翻译一遍,很是浪费时间。如果C#代码直接复用到BackEnd是最高效的了。在.NetCore之前其实已经有很多方案。mono.Net就是.Net的开源实现,它就是为了支持不同平台而诞生的。但它由不是MS的亲儿子,性能常常被诟病。(Unity也是使用mono.Net才实现支持不同平台的,比如Android/IOS等)

.NetCore由MS开发,可以理解为.NetFramework的跨平台版本,性能也有很大的提升,相关也可以百度一下。如果使用它做为Unity的BackEnd是啥效果呢?

本文重点测试了以下几个方面:

反射

大部分反射方法都是支持。

            var t = Activator.CreateInstance(typeof(Test1));

            FieldInfo[] typeInfo = t.GetType().GetFields();
            foreach (var tt in typeInfo) {
                var attr =  tt.GetCustomAttribute<PropertyRuntimeAttribute>();
            }

UnityEngine库的引入

Unity的开发很多逻辑都是使用UnityEngine库的,那后端也有很多功能能用到,比如Vector3等几何方法。我们先找到库的所在位置 ,可以在任何Unity工程中看到如下。

  <ItemGroup>
    <Reference Include="UnityEngine.CoreModule">
      <HintPath>/Applications/Unity/Unity.app/Contents/Managed/UnityEngine/UnityEngine.CoreModule.dll</HintPath>
    </Reference>
    <Reference Include="UnityEngine.UI">
      <HintPath>/Applications/Unity/Unity.app/Contents/UnityExtensions/Unity/GUISystem/UnityEngine.UI.dll</HintPath>
    </Reference>
    <Reference Include="LitJson">
      <HintPath>Assets\Plugins\LitJson.dll</HintPath>
    </Reference>
  </ItemGroup>
  <ItemGroup>

我们把以上可以直接Copy到.NetC

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值