Unity3D仿星露谷物语开发57之保存库存信息到文件

article/2025/6/10 12:06:24

1、目标

保存下面库存栏中信息到文件中。

2、修改SceneSave.cs脚本

添加2行代码:

3、修改InventoryManager对象

添加Generate GUID组件。

4、修改InventoryManager.cs脚本

添加继承自ISaveable

添加属性信息:

    private string _iSaveableUniqueID;public string ISaveableUniqueID { get { return _iSaveableUniqueID; } set { _iSaveableUniqueID = value; } }private GameObjectSave _gameObjectSave;public GameObjectSave GameObjectSave { get { return _gameObjectSave; } set { _gameObjectSave = value; } }private UIInventoryBar inventoryBar;

在Awake()方法中添加2行代码:

添加如下几个方法:

 private void OnDisable(){ISaveableDeregister();}private void OnEnable(){ISaveableRegister();}private void Start()
{inventoryBar = FindObjectOfType<UIInventoryBar>();
}public void ISaveableRegister(){SaveLoadManager.Instance.iSaveableObjectList.Add(this);}public void ISaveableDeregister(){SaveLoadManager.Instance.iSaveableObjectList.Remove(this);}public GameObjectSave ISaveableSave(){// Create new scene saveSceneSave sceneSave = new SceneSave();// Remove any existing scene save for persistent scene for this gameobjectGameObjectSave.sceneData.Remove(Settings.PersistentScene);// Add inventory lists array to persistent scene savesceneSave.listInvItemArray = inventoryLists;// Add inventory list capacity array to persistent scene savesceneSave.intArrayDictionary = new Dictionary<string, int[]>();sceneSave.intArrayDictionary.Add("inventoryListCapacityArray", inventoryListCapacityIntArray);// Add scene save for gameobjectGameObjectSave.sceneData.Add(Settings.PersistentScene, sceneSave);return GameObjectSave;}public void ISaveableLoad(GameSave gameSave){if(gameSave.gameObjectData.TryGetValue(ISaveableUniqueID, out GameObjectSave gameObjectSave)){GameObjectSave = gameObjectSave;// Need to find inventory lists - start by trying to locate saveScene for game objectif(gameObjectSave.sceneData.TryGetValue(Settings.PersistentScene, out SceneSave sceneSave)){// list inv items array exists for persistent sceneif(sceneSave.listInvItemArray != null){inventoryLists = sceneSave.listInvItemArray;// Send events that inventory has been updatedfor(int i = 0; i < (int)InventoryLocation.count; i++){EventHandler.CallInventoryUpdatedEvent((InventoryLocation)i, inventoryLists[i]);}// Clear any items player was carryingPlayer.Instance.ClearCarriedItem();// Clear any highlights on inventory barinventoryBar.ClearHighlightOnInventorySlots();}// int array dictionary exists for sceneif(sceneSave.intArrayDictionary != null && sceneSave.intArrayDictionary.TryGetValue("inventoryListCapacityArray", out int[] inventoryCapacityArray)){inventoryListCapacityIntArray = inventoryCapacityArray;}}}}public void ISaveableStoreScene(string sceneName){// Nothing required here since the inventory manager is on a persistent scene;}public void ISaveableRestoreScene(string sceneName){// Nothing required here since the inventory manager is on a persistent scene;}

5、运行游戏

角色收集的item放到库存栏中,save game后退出游戏,重新进入游戏后load game,库存栏中的信息保持不变。


http://www.hkcw.cn/article/nyVawptxbd.shtml

相关文章

港大NVMIT开源Fast-dLLM:无需重新训练模型,直接提升扩散语言模型的推理效率

作者&#xff1a;吴成岳&#xff0c;香港大学博士生 原文&#xff1a;https://mp.weixin.qq.com/s/o0a-swHZOplknnNxpqlsaA 最近的Gemini Diffusion语言模型展现了惊人的throughput和效果&#xff0c;但是开源的扩散语言模型由于缺少kv cache以及在并行解码的时候性能严重下降等…

【AGI】Qwen3混合推理模型微调数据集

【AGI】Qwen3混合推理模型微调数据集 &#xff08;1&#xff09;OpenMathReasoning 数据集&#xff08;AIMO-2&#xff09;&#xff08;2&#xff09;FineTome-100k 数据集&#xff08;Maxime Labonne&#xff09; ​ 搭建好基础环境后&#xff0c;开始准备Qwen3混合推理模型微…

联邦学习与深度学习结合

联邦学习&#xff08;Federated Learning&#xff09;与深度学习&#xff08;Deep Learning&#xff09;的结合&#xff0c;是当前人工智能领域的研究热点之一。这种结合既发挥了深度学习在复杂数据建模中的强大能力&#xff0c;又通过联邦学习的分布式框架解决了数据隐私、安全…

特朗普送马斯克白宫钥匙 马斯克将任总统顾问

当地时间30日,美国总统特朗普在白宫举行新闻发布会“欢送”“政府效率部(DOGE)”负责人马斯克。发布会上,两人互道临别感言,特朗普向马斯克赠送了一把金色的白宫钥匙,而马斯克则表示,在从DOGE离职后,将成为特朗普的顾问,继续为其提供建议。当天,在椭圆形办公室举行的新…

日方请求恢复水产品入华,外交部回应 坚持科学安全原则

5月30日,外交部发言人林剑主持例行记者会。会上,日本广播协会的记者提问,询问发言人提到的关于日本水产品安全问题的新一轮技术交流取得实质性进展具体指哪些方面。记者还提到,日方表示双方已就恢复进口日本水产品所需的技术性条件达成一致,并询问中方是否也持有相同的看法…

探索DeepSeek提示词:关键策略与实用场景

在人工智能飞速发展的时代&#xff0c;DeepSeek作为一款备受关注的AI工具&#xff0c;其强大的功能为用户提供了高效便捷的服务。然而&#xff0c;要充分发挥DeepSeek的潜力&#xff0c;掌握提示词的使用策略至关重要。本文将深入探讨DeepSeek提示词的关键策略&#xff0c;并结…

广西官员王雄昌,与蓝天立同时被罢免 代表资格终止引发关注

5月29日,广西壮族自治区十四届人大常委会第十六次会议在广西人民会堂闭幕。会议表决通过了关于个别代表的代表资格的报告。蓝天立和王雄昌分别被百色市人大常委会和钦州市人大常委会罢免自治区第十四届人民代表大会代表职务,他们的代表资格随之终止。会议还通过了罢免蓝天立、…

国乒换血风暴:王励勤铁腕调整,林高远扛男单 权力更迭惊心动魄

美国大满贯名单在乒坛引发热议。王励勤兑现了“年轻化”承诺,25岁的世界冠军钱天一意外落选,而备受争议的林高远成为男单唯一代表。这份名单背后的故事比比赛本身更加引人注目。钱天一在世乒赛女双32强战中与陈幸同苦战五局不敌德国组合,这成为她出局的关键因素。尽管她在单…

[Windows] 本地无损放大软件-realesrgan-gui

Real-ESRGAN 是一款专注于图像和视频修复的强大算法软件&#xff0c;其核心目标是开发出能够广泛应用于实际场景的高效修复技术。它基于 ESRGAN&#xff08;增强型超分辨率生成对抗网络&#xff09;进行深度优化与拓展&#xff0c;在图像修复领域实现了质的飞跃。 在技术实现上…

AnyTXT Searcher 文档内容搜索工具 v1.3.2034 官方版

软件介绍 AnyTXT Searcher是一款高效的本地文档搜索工具&#xff0c;堪称电脑文件版的Google搜索引擎。作为一款免费的桌面全文搜索软件&#xff0c;它能完美满足您的文档检索需求。 该软件内置了强大的文档解析引擎&#xff0c;无需安装额外程序即可读取常见文件内容。配合高…

LabVIEW杂草识别与精准喷洒

基于LabVIEW构建了一套集成机器视觉、智能决策与精准控制的农业杂草识别系统。通过高分辨率视觉传感器采集作物图像&#xff0c;利用 LabVIEW 的 NI Vision 模块实现图像颜色匹配与特征分析&#xff0c;结合 Arduino 兼容的工业级控制硬件&#xff0c;实现杂草定位与除草剂精准…

强化学习入门笔记

Review&#xff1a;两种机器学习类型 预测 根据数据预测所需输出&#xff08;有监督学习&#xff09; 生成数据实例&#xff08;无监督学习&#xff09; 决策 在动态环境中采取行动&#xff08;强化学习&#xff09; 转变到新的状态 获得即时奖励 随着时间的推移最大化累计…

数据治理中的伦理沙盒与算法进化责任机制

——从数据采集到模型演化的“伦理试验区”设计 摘要 随着AI模型在城市低空经济中的部署频率、响应速度与自适应能力不断提升&#xff0c;其背后的算法演化逻辑已不再是“单次部署、静态运行”&#xff0c;而转向“动态更新、自主学习、连续演进”的自治模式。在这一过程中&a…

使用Python绘制节日祝福——以端午节和儿童节为例

端午节 端午节总算是回家了&#xff0c;感觉时间过得真快&#xff0c;马上就毕业了&#xff0c;用Python弄了一个端午节元素的界面&#xff0c;虽然有点不像&#xff0c;祝大家端午安康。端午节粽子&#xff08;python&#xff09;_python画粽子-CSDN博客https://blog.csdn.net…

中央纪委国家监委通报:张建华主动投案!涉嫌严重违纪违法接受调查

国家国防科技工业局原党组成员、副局长张建华涉嫌严重违纪违法,主动投案,目前正接受中央纪委国家监委纪律审查和监察调查。张建华,男,汉族,1961年8月生,江苏宜兴人。1983年8月参加工作,1986年5月加入中国共产党,北京理工大学毕业,研究生学历,工商管理硕士,高级会计师…

国际乒联选举,缘何成了“一地鸡毛”? 线上投票争议不断

当地时间5月27日,国际乒联在多哈举行2025年代表大会,选举新的国际乒联主席和执行委员。经投票后,佩特拉索林当选为国际乒联主席。然而,现场参会人员对投票结果提出质疑:点名投票时线上数量为16人,但最终公布的线上票数却出现了21人。这一争议导致国际乒联执委的选举延期。…

县政府不作为引重大舆情 25人被处理 督办信访诉求不力

5月30日,吉林省纪委监委公开通报了四起形式主义、官僚主义典型问题。其中一起涉及农安县政府办公室在督办解决群众信访诉求方面存在不作为慢作为的问题。2023年11月至2024年5月期间,农安县政府收到上级转办的关于合隆镇“桃花源著”回迁房二期项目建设存在的质量问题和逾期回…

北京:2025年全市防汛抗旱相关责任人公示名单 接受社会监督

北京市人民政府防汛抗旱指挥部决定,全市于2025年6月1日8时上汛。殷勇担任总指挥。为做好2025年防汛抗旱工作,确保责任落实到位,推动各项任务有效实施,市防汛抗旱指挥部对全市防汛抗旱相关责任人进行公示,接受社会监督。责任编辑:zx0001

两天收到同案相反“判决”?官方:纪委监委已介入调查 股权转让纠纷案引关注

近日,网上关于“律师称两天收到同案相反‘判决’”一事引起网民关注。经核实,该案件是平桥区人民法院审理的一起股权转让纠纷案件。律师王良斌代理的这起民事股权纠纷案连续两天收到了结果相反的“判决书”。第一天原告胜诉,第二天则变为原告败诉。对此,河南省信阳市平桥区…

Win10 doccano pip安装笔记

试了一下win10 doccano安装&#xff0c;遇到了一些问题&#xff0c;这儿记录一下。 一、创建一个新环境 conda create -n doccano python3.12 进入doccano环境 conda activate doccano 二、查看官网教程 https://github.com/doccano/doccano/tree/release-1.8.0 三、执行…