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

网站开发设计工程师岗位职责六安建六安建设网站

网站开发设计工程师岗位职责,六安建六安建设网站,wordpress豆瓣小站,公司网站开发主流语言文章目录 前言GodotProjectDir is null解决方法解决警告问题根本解决代码问题测试引用其实其它库的输出路径无所谓。 工程化范例环境命名规范Nuget项目结构架构代码ISceneModelIOC服务 测试GD_Extension 通用扩展TestUtils GD_ProgramTestServiceMainSceneModel Godot对应的脚本… 文章目录 前言GodotProjectDir is null解决方法解决警告问题根本解决代码问题测试引用其实其它库的输出路径无所谓。 工程化范例环境命名规范Nuget项目结构架构代码ISceneModelIOC服务 测试GD_Extension 通用扩展TestUtils GD_ProgramTestServiceMainSceneModel Godot对应的脚本实体 测试 总结 前言 Godot 项目工程化上有一朵乌云我看Godot的Visual Studio 项目的时候发现如果是手动新建项目导入Godot包会导致编译的warning这个虽然不影响正常运行但是有warining还是不不爽这次彻底解决他。 GodotProjectDir is null 出现这个问题的原因是我想分项目开发 然后会报warning 所以我之前的项目封装是放在一个文件家里的非常的丑陋 解决方法 先把这三个先装上 解决警告问题 GitHub上面找了一圈找到了解决方案 C# Godot project with MSTest - Error: Generator ‘ScriptPathAttributeGenerator’ failed to generate source. #87753 这个是解决警告问题。 PropertyGroupIsGodotToolsProjecttrue/IsGodotToolsProject /PropertyGroup根本解决代码问题 添加输出路径 $(GodotProjectDir).godot\mono\temp\bin\PropertyGroupGodotProjectDir../Godot//GodotProjectDir/PropertyGroup测试引用 外面这里做一个做简单的测试 其实其它库的输出路径无所谓。 我们看这两个项目的输出路径 1------ 已启动全部重新生成: 项目: ClassLibrary1, 配置: Debug Any CPU ------ 已还原 D:\workspace\program\Godot Game\Train\Test18\Godot\Test18.csproj (用时 12 毫秒)。 已还原 D:\workspace\program\Godot Game\Train\Test18\ClassLibrary1\ClassLibrary1.csproj (用时 16 毫秒)。 1ClassLibrary1 - D:\workspace\program\Godot Game\Train\Test18\Godot\.godot\mono\temp\bin\Debug\net6.0\ClassLibrary1.dll 2------ 已启动全部重新生成: 项目: Test18, 配置: Debug Any CPU ------ 2Test18 - D:\workspace\program\Godot Game\Train\Test18\Godot\.godot\mono\temp\bin\Debug\Test18.dll“全部重新生成”: 2 成功0 失败0已跳过 重新生成 于 0:09 完成耗时 01.830 秒 其实只要Godot的输出路径是对的就可以了 工程化范例 既然已经成功可以项目分离了我就做个我心中的工程化范例好了 环境 Godot 4.2.1.net core 8.0(需要手动更改)window10visual studio 2022 命名规范 Nuget 项目结构 依赖关系从底层开始 Godot_Extension-Godot_Program-Godot 架构代码 架构代码主要是在GD_Program里面。因为IOC容器时在GD_Program里面。 ISceneModel /// summary /// SceneModel的基类 /// /summary public abstract class ISceneModel {/// summary/// 挂载场景强制Node2D/// /summarypublic Node2D? Sence { get; set; }/// summary/// 打包场景用于生成/// /summarypublic PackedScene? PackedScene { get; set; }/// summary/// 重载Ready事件/// /summarypublic abstract void Ready();/// summary/// 重载Process事件/// /summary/// param namedelta/parampublic abstract void Process(double delta);/// summary/// 方便加载场景/// /summary/// param namesceneName/parampublic virtual void SetPackedScene(string sceneName){var targetName sceneName.Replace(Scene, );var url $res://Scenes//{targetName}.tscn;GD.Print($加载PackedScene,{sceneName}:{url});PackedScene ResourceLoader.LoadPackedScene(url);}}IOC服务 public class Program{/// summary/// IOC容器/// /summarypublic static IServiceProvider Services ConfigureServices();/// summary/// Configures the services for the application./// /summaryprivate static IServiceProvider ConfigureServices(){var builder new ServiceCollection();AddServices(builder);AddSceneModel(builder);return builder.BuildServiceProvider();}/// summary/// 添加服务应以Singleton形式添加/// /summary/// param nameservice/parampublic static void AddServices(ServiceCollection builder){builder.AddSingletonTestService();}/// summary/// 添加SceneModel应以Transient添加/// /summary/// param nameservice/parampublic static void AddSceneModel(ServiceCollection builder){//比如//builder.AddTransientMainSceneModel();}}测试 GD_Extension 通用扩展 TestUtils 测试类 public class TestUtils{public TestUtils(){}public void Test(){GD.Print(我是Utils方法);}}GD_Program TestService public class TestService {public TestService() { }public void Test(){GD.Print(我是TestService方法);} }MainSceneModel public class MainSceneModel : ISceneModel {private TestService testService;private TestUtils testUtils new TestUtils();public MainSceneModel(TestService testService){this.testService testService;}public override void Process(double delta){}public override void Ready(){GD.Print(Hello Godot!);//在Ready中测试IOCtestService.Test();testUtils.Test();} }Godot对应的脚本实体 public partial class MainScene : Node2D {public MainSceneModel Model { get; set; }public MainScene(){Model Program.Services.GetServiceMainSceneModel();Model.Sence this;Model.SetPackedScene(nameof(MainScene));}public override void _Ready(){Model.Ready();base._Ready();}public override void _Process(double delta){base._Process(delta);} }测试 总结 看来确实是设置IsGodotToolsProject就可以用了,这样我们终于能标准化开发Godot项目了
http://www.hkea.cn/news/14399747/

相关文章:

  • 建网站教程视频下载南京网站建设价格
  • 外贸网站如何做外链做营销看的网站有哪些内容
  • 英文旅游网站建设江苏网页定制
  • 辛集seo网站优化电话网站seo流程
  • 娱乐平台网站开发免费网站定制开发流程和功能
  • 海力建设集团有限公司网站工业设计招聘
  • 石景山建网站产品营销策略包括哪些内容
  • 沙漠风网站建设怎么样朔州网站建设公司
  • 柳州网站建设数公式大全公证网站建设管理
  • 企业官网网站模板下载wordpress数据表开头
  • 产品价格的网站建设大同百度做网站多少钱
  • 可以做ppt的网站有哪些内容个人做网站公司
  • 网站开发费用明细网站开发需求分析内容
  • 虚拟技术对网站建设维护的影响网站开发如何做账务处理
  • 深圳专业建网站网站建设哪家好xm37
  • 至尊传奇手游官方正版下载手机优化助手
  • 网站建设猫腻做网站时字幕怎么做
  • 什么网站可以做微官网网站开发费走什么科目
  • 太原网站建设价格行业网站开发公司
  • ppt中网站布局图怎么做做外贸网站策划
  • 长春模板自助建站项目建设规划
  • 网站设计制作收费明细外贸多语种网站推广
  • 如何在手机上做网站网站如何做分享
  • 国内做led灯网站有怀化住建部网站
  • 常见网站类型昆明做网站公司哪家好
  • 毕节做网站优化四川高速公路建设集团网站
  • 安康做网站公司牡丹江定制软件开发
  • 大连网站建设流程图展厅设计案例
  • 成都专业网站设计免费咨询大尺度做爰床视频网站
  • 辽宁朝阳哪家做网站好品牌建设全面升级