当前位置: 首页 > news >正文

网站后台如何更新seo扣费系统

网站后台如何更新,seo扣费系统,手机端网站如何做排名,仪征建设银行官方网站引言 ILRuntime是一款基于C#的热更新框架,使用IL2CPP技术将C#代码转换成C代码,支持动态编译和执行代码,适用于Unity3D的所有平台,包括Android、iOS、Windows、Mac等。本文将详细介绍ILRuntime在Unity3D中的开发原则及接口绑定技术…

引言

ILRuntime是一款基于C#的热更新框架,使用IL2CPP技术将C#代码转换成C++代码,支持动态编译和执行代码,适用于Unity3D的所有平台,包括Android、iOS、Windows、Mac等。本文将详细介绍ILRuntime在Unity3D中的开发原则及接口绑定技术,并提供相关代码示例。

对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀!

ILRuntime基本开发原则

  1. 理解两个不同执行环境
  • ILRuntime的逻辑热更项目中的类不能直接继承Unity C#项目中的类,Unity C#项目中也不能直接识别逻辑热更项目中开发的“组件类”。
  • Unity C#的对象实例与接口在逻辑热更项目中不能直接new出来,需要通过Unity C#项目传递过来或直接调用Unity C#项目的接口生成。
  • 逻辑热更项目的功能
  • 逻辑热更项目主要负责代码逻辑,使用Unity做好的资源、Unity引擎与Unity C#项目提供的基础服务。
  • 热更新时,将逻辑热更项目生成的.dll当作二进制资源进行更新。

  1. ILRuntime项目的启动流程
  • 启动Unity C#的代码,下载并加载最新的逻辑代码.dll(逻辑热更项目生成)。
  • ILRuntime解释器解释执行逻辑代码.dll,进入逻辑代码的入口。
  • 逻辑代码使用底层的资源、Unity组件与底层C#开发的接口。

接口绑定技术详解

ILRuntime通过生成绑定代码,使得逻辑热更项目可以调用Unity引擎的API。这一技术主要依赖于.NET的.dll和ILRuntime的绑定机制。

  1. 绑定代码生成
  • 在进行.dll开发时,如果调用了其他.dll库,生成.dll时会为调用的接口做一个“符号”。
  • 运行时,根据符号加载依赖的.dll,然后重定向这些符号,使得在调用时能够跳到正确的函数。
  • 具体实现步骤
  • 安装ILRuntime插件,导入Unity3D。
  • 创建一个热更新脚本,继承ILRuntime.Runtime.CLRBinding.BindingCodeGenerator,并实现GenerateBindingCode方法。
  • 在Unity3D中,通过菜单栏的Tools->ILRuntime->Generate CLR Binding Code生成绑定代码。

代码实现

以下是一个简单的例子,演示如何使用ILRuntime进行热更新及接口绑定。

  1. 创建热更新脚本
using System;
using System.Collections.Generic;
using ILRuntime.Runtime.CLRBinding;
public class HotfixCodeGenerator : BindingCodeGenerator
{
public override IEnumerable<Type> GetTypesToGenerate()
{
return new Type[] { typeof(int), typeof(string) };
}
public override IEnumerable<MethodInfo> GetMethodsToGenerate()
{
return null;
}
public override IEnumerable<PropertyInfo> GetPropertiesToGenerate()
{
return null;
}
public override IEnumerable<FieldInfo> GetFieldsToGenerate()
{
return null;
}
public override IEnumerable<EventInfo> GetEventsToGenerate()
{
return null;
}
public override IEnumerable<Type> GetCrossBindingTypes()
{
return null;
}
}
  1. 生成绑定代码
  • 在Unity3D中,打开菜单栏的Tools->ILRuntime->Generate CLR Binding Code,选择刚才创建的热更新脚本HotfixCodeGenerator.cs,点击Generate按钮生成绑定代码。
  • 创建HotfixManager脚本
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using ILRuntime.Runtime.Enviorment;
public class HotfixManager : MonoBehaviour
{
private static HotfixManager instance;
public static HotfixManager Instance
{
get
{
if (instance == null)
{
instance = FindObjectOfType<HotfixManager>();
}
return instance;
}
}
private AppDomain appDomain;
private void Awake()
{
instance = this;
}
public void Init()
{
appDomain = new AppDomain();
string dllPath = Application.streamingAssetsPath + "/Hotfix.dll";
if (File.Exists(dllPath))
{
byte[] dllBytes = File.ReadAllBytes(dllPath);
MemoryStream dllStream = new MemoryStream(dllBytes);
appDomain.LoadAssembly(dllStream);
}
}
public object Invoke(string typeName, string methodName, object[] args)
{
object obj = appDomain.Instantiate(typeName);
return appDomain.Invoke(methodName, obj, args);
}
}
  1. 在游戏启动时初始化ILRuntime并加载DLL
void Start()
{
HotfixManager.Instance.Init();
// 其他初始化代码
}
  1. 调用热更新代码
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
// 假设有一个热更新中的方法名为"HotfixMethod",没有参数
HotfixManager.Instance.Invoke("Namespace.ClassName", "HotfixMethod", null);
}
}

结论

ILRuntime为Unity3D提供了一种高效的热更新方案,通过生成绑定代码,使得逻辑热更项目能够调用Unity引擎的API。本文详细介绍了ILRuntime的基本开发原则、接口绑定技术,并提供了具体的代码实现示例,希望能够帮助开发者更好地理解和应用ILRuntime。

更多教学视频

Unity3D​

www.bycwedu.com/promotion_channels/2146264125

http://www.dinnco.com/news/54494.html

相关文章:

  • 公司想建立一个网站吗营销自动化工具
  • 网站界面用什么软件做优化营商环境工作开展情况汇报
  • 网站开发实战项目seo关键词推广话术
  • 淮安做网站 卓越凯欣百度经验app
  • 南阳做网站优化的公司网站推广和精准seo
  • 网站建设 专家关键字排名查询
  • 东莞微联建站百度seo入驻
  • 网站费用预算邯郸seo营销
  • b2b2c o2o商城系统深圳seo招聘
  • 建立一个网站赚钱了seo网络推广课程
  • 如何删除自己建的网站小程序开发系统
  • 做网站用什手机一键优化
  • 如何做拍卖网站全国疫情最新消息今天新增
  • 怎样做公司网站内容营销是什么意思
  • 长春seo排名公司微信公众号seo
  • 新公司成立建设网站域名在线查询
  • 优才网站建设正规seo排名外包
  • 网站开发 播放音频amr引流获客工具
  • 房产如何做网站足球比赛直播2021欧冠决赛
  • 合肥网站建设哪家公司好百度网络推广
  • 动态网站建设 期末考试网络营销推广公司简介
  • 建立网站时什么可以使用中文关键词挖掘工具
  • 阿里云建站百度收录吗高质量外链购买
  • 南京美容网站建设十大seo免费软件
  • 自己做网站要不要租服务器优化一下
  • 江阴市党风廉政建设网站汕头网站建设方案开发
  • 怎样建设一个网站赚钱我们seo
  • 外贸网站优化在线推广专业技能培训机构
  • 做网站学的什么专业互联网推广员是做什么的
  • 网站开发如何洽谈客户网站怎么优化搜索