实例介绍
graphQL-client-unity是一个为Unity游戏引擎设计的GraphQL客户端,旨在简化GraphQL查询的创建,并使订阅等GraphQL特性尽可能直接。导入后,graphQL-client-unity允许在Unity编辑器内创建查询。客户端利用GraphQL的Introspection特性获取所有查询、变更、订阅、类型和参数。一个易用的编辑器布局让用户可以简单地从编辑器中可用选项选择来创建查询。每个创建的查询都存储在一个可脚本化对象中,可以通过一行代码多次使用。
UnityWebRequest request = await exampleApi.Post("QueryName", GraphApi.Query.Type.Query);此外,客户端还利用不同的事件,这些事件可以被任何函数订阅。当请求完成、从订阅获取数据或其他有用情况时,会调用这些事件。
要使用API引用实际查询API,需要在脚本中引用它
using GraphQlClient.Core; public GraphApi pokemonReference;这允许您将API引用拖放到检查器中创建的公共字段中。有了引用,您可以使用Post函数轻松查询API
public async void GetPokemons(){ UnityWebRequest request = await pokemonReference.Post("GetAllPokemons", GraphApi.Query.Type.Query); }Post函数返回一个UnityWebRequest对象,可以通过
string data = request.downloadHandler.text;以JSON格式获取数据,并可以使用Unity的内置JsonUtility类或第三方JSON解析器如JSON.Net For Unity轻松解析。
【实例截图】
【核心代码】
文件清单
└── graphQL-client-unity-a9640fa6a75b4bd15db192cc93260b9392f780f7
├── Assets
│ ├── graphQl-client
│ │ ├── Demo
│ │ │ ├── Pokemon
│ │ │ │ ├── exampleQuery.unity
│ │ │ │ ├── exampleQuery.unity.meta
│ │ │ │ ├── Pokemon.asset
│ │ │ │ ├── Pokemon.asset.meta
│ │ │ │ ├── Pokemon.cs
│ │ │ │ └── Pokemon.cs.meta
│ │ │ ├── Pokemon.meta
│ │ │ ├── Users
│ │ │ │ ├── User.asset
│ │ │ │ ├── User.asset.meta
│ │ │ │ ├── User.cs
│ │ │ │ ├── User.cs.meta
│ │ │ │ ├── userExample.unity
│ │ │ │ └── userExample.unity.meta
│ │ │ └── Users.meta
│ │ ├── Demo.meta
│ │ ├── Scripts
│ │ │ ├── Core
│ │ │ │ ├── GraphApi.cs
│ │ │ │ ├── GraphApi.cs.meta
│ │ │ │ ├── HttpHandler.cs
│ │ │ │ ├── HttpHandler.cs.meta
│ │ │ │ ├── Introspection.cs
│ │ │ │ └── Introspection.cs.meta
│ │ │ ├── Core.meta
│ │ │ ├── Editor
│ │ │ │ ├── GraphApiEditor.cs
│ │ │ │ └── GraphApiEditor.cs.meta
│ │ │ ├── Editor.meta
│ │ │ ├── EventCallbacks
│ │ │ │ ├── AllEventInfo.cs
│ │ │ │ ├── AllEventInfo.cs.meta
│ │ │ │ ├── Event.cs
│ │ │ │ └── Event.cs.meta
│ │ │ └── EventCallbacks.meta
│ │ └── Scripts.meta
│ ├── graphQl-client.meta
│ ├── JsonDotNet
│ │ ├── Assemblies
│ │ │ ├── AOT
│ │ │ │ ├── Newtonsoft.Json.dll
│ │ │ │ ├── Newtonsoft.Json.dll.meta
│ │ │ │ ├── Newtonsoft.Json.XML
│ │ │ │ └── Newtonsoft.Json.XML.meta
│ │ │ ├── AOT.meta
│ │ │ ├── Standalone
│ │ │ │ ├── Newtonsoft.Json.dll
│ │ │ │ ├── Newtonsoft.Json.dll.meta
│ │ │ │ ├── Newtonsoft.Json.XML
│ │ │ │ └── Newtonsoft.Json.XML.meta
│ │ │ ├── Standalone.meta
│ │ │ ├── Windows
│ │ │ │ ├── Newtonsoft.Json.dll
│ │ │ │ ├── Newtonsoft.Json.dll.meta
│ │ │ │ ├── Newtonsoft.Json.XML
│ │ │ │ └── Newtonsoft.Json.XML.meta
│ │ │ └── Windows.meta
│ │ ├── Assemblies.meta
│ │ ├── Documentation
│ │ │ ├── Json Net for Unity 2.0.1.pdf
│ │ │ └── Json Net for Unity 2.0.1.pdf.meta
│ │ ├── Documentation.meta
│ │ ├── JsonDotNet201Source.zip
│ │ ├── JsonDotNet201Source.zip.meta
│ │ ├── link.xml
│ │ └── link.xml.meta
│ ├── JsonDotNet.meta
│ ├── plugins
│ │ ├── AsyncAwaitUtil
│ │ │ ├── Documentation
│ │ │ │ ├── ReadMe_files
│ │ │ │ │ ├── 22d474190b1889d3373fa4f9334e979c
│ │ │ │ │ ├── 22d474190b1889d3373fa4f9334e979c.meta
│ │ │ │ │ ├── a276129472f6ad4719e01704016e6f73
│ │ │ │ │ ├── a276129472f6ad4719e01704016e6f73.meta
│ │ │ │ │ ├── cmdline_frame.html
│ │ │ │ │ ├── cmdline_frame.html.meta
│ │ │ │ │ ├── comment-reply.min.js.download
│ │ │ │ │ ├── comment-reply.min.js.download.meta
│ │ │ │ │ ├── default.min.css
│ │ │ │ │ ├── default.min.css.meta
│ │ │ │ │ ├── font-awesome.min(1).css
│ │ │ │ │ ├── font-awesome.min(1).css.meta
│ │ │ │ │ ├── font-awesome.min.css
│ │ │ │ │ ├── font-awesome.min.css.meta
│ │ │ │ │ ├── jquery.js.download
│ │ │ │ │ ├── jquery.js.download.meta
│ │ │ │ │ ├── jquery-migrate.min.js.download
│ │ │ │ │ ├── jquery-migrate.min.js.download.meta
│ │ │ │ │ ├── shBrushCSharp.js.download
│ │ │ │ │ ├── shBrushCSharp.js.download.meta
│ │ │ │ │ ├── shCore.css
│ │ │ │ │ ├── shCore.css.meta
│ │ │ │ │ ├── shCore.js.download
│ │ │ │ │ ├── shCore.js.download.meta
│ │ │ │ │ ├── shThemeDefault.css
│ │ │ │ │ ├── shThemeDefault.css.meta
│ │ │ │ │ ├── style.min.css
│ │ │ │ │ ├── style.min.css.meta
│ │ │ │ │ ├── style.min.js.download
│ │ │ │ │ ├── style.min.js.download.meta
│ │ │ │ │ ├── wp-embed.min.js.download
│ │ │ │ │ ├── wp-embed.min.js.download.meta
│ │ │ │ │ ├── wp-emoji-release.min.js.download
│ │ │ │ │ ├── wp-emoji-release.min.js.download.meta
│ │ │ │ │ ├── wp-slimstat.min.js.download
│ │ │ │ │ └── wp-slimstat.min.js.download.meta
│ │ │ │ ├── ReadMe_files.meta
│ │ │ │ ├── ReadMe.html
│ │ │ │ └── ReadMe.html.meta
│ │ │ ├── Documentation.meta
│ │ │ ├── Source
│ │ │ │ ├── Awaiters.cs
│ │ │ │ ├── Awaiters.cs.meta
│ │ │ │ ├── AwaitExtensions.cs
│ │ │ │ ├── AwaitExtensions.cs.meta
│ │ │ │ ├── IEnumeratorAwaitExtensions.cs
│ │ │ │ ├── IEnumeratorAwaitExtensions.cs.meta
│ │ │ │ ├── Internal
│ │ │ │ │ ├── AsyncCoroutineRunner.cs
│ │ │ │ │ ├── AsyncCoroutineRunner.cs.meta
│ │ │ │ │ ├── SyncContextUtil.cs
│ │ │ │ │ └── SyncContextUtil.cs.meta
│ │ │ │ ├── Internal.meta
│ │ │ │ ├── TaskExtensions.cs
│ │ │ │ ├── TaskExtensions.cs.meta
│ │ │ │ ├── WaitForBackgroundThread.cs
│ │ │ │ ├── WaitForBackgroundThread.cs.meta
│ │ │ │ ├── WaitForUpdate.cs
│ │ │ │ └── WaitForUpdate.cs.meta
│ │ │ ├── Source.meta
│ │ │ ├── Tests
│ │ │ │ ├── AsyncTests.unity
│ │ │ │ ├── AsyncTests.unity.meta
│ │ │ │ ├── AsyncUtilTests.cs
│ │ │ │ ├── AsyncUtilTests.cs.meta
│ │ │ │ ├── Util
│ │ │ │ │ ├── TestButtonHandler.cs
│ │ │ │ │ └── TestButtonHandler.cs.meta
│ │ │ │ └── Util.meta
│ │ │ ├── Tests.meta
│ │ │ ├── UniRx.zip
│ │ │ └── UniRx.zip.meta
│ │ └── AsyncAwaitUtil.meta
│ ├── plugins.meta
│ ├── Pokemonschema.txt
│ ├── Pokemonschema.txt.meta
│ ├── Userschema.txt
│ └── Userschema.txt.meta
├── Gifs
│ ├── CreateApiReference.gif
│ ├── CreateQuery.gif
│ └── PreviewQuery.gif
├── LICENSE
├── Packages
│ └── manifest.json
├── ProjectSettings
│ ├── AudioManager.asset
│ ├── ClusterInputManager.asset
│ ├── DynamicsManager.asset
│ ├── EditorBuildSettings.asset
│ ├── EditorSettings.asset
│ ├── GraphicsSettings.asset
│ ├── InputManager.asset
│ ├── NavMeshAreas.asset
│ ├── NetworkManager.asset
│ ├── Physics2DSettings.asset
│ ├── PresetManager.asset
│ ├── ProjectSettings.asset
│ ├── ProjectVersion.txt
│ ├── QualitySettings.asset
│ ├── TagManager.asset
│ ├── TimeManager.asset
│ ├── UnityConnectSettings.asset
│ ├── VFXManager.asset
│ └── XRSettings.asset
├── README.md
└── UnityPackages
└── graphQl-client-unity-v2.unitypackage
28 directories, 156 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论