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

美食网站怎么做dw口碑营销的优势

美食网站怎么做dw,口碑营销的优势,个人备案的网站做企业站,宁波品牌网站设计特点Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili FileDataHandler.cs using System; using System.IO; using UnityEngine; p…

   Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考
此代码仅为较上一P有所改变的代码

【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili

 FileDataHandler.cs
using System;
using System.IO;
using UnityEngine;
public class FileDataHandler
{private string dataDirPath = "";private string dataFileName = "";public FileDataHandler(string _dataDirPath, string _dataFilePath)//构造函数拿到需要保存的位置和文件名称{dataDirPath = _dataDirPath;dataFileName = _dataFilePath;}public void Save(GameData _data){string fullPath = Path.Combine(dataDirPath, dataFileName);//合成路径函数 将位置和文件合并成实际的可以读取的路径try//用try防止其报错{Directory.CreateDirectory(Path.GetDirectoryName(fullPath));//通过路径创建出需要的文件,存在就不创建了string dataToStore = JsonUtility.ToJson(_data, true);//将传过来的gameData转换成文本形式并且使其可读using (FileStream stream = new FileStream(fullPath, FileMode.Create))//两个using 第一个进入文件使其变为可编写模式{using (StreamWriter writer = new StreamWriter(stream))//第二个拿到文件对其进行编辑{writer.Write(dataToStore);//写入函数}}}catch (Exception e){Debug.LogError("Error on trying to save data to file " + fullPath + "\n" + e);}}public GameData Load()//同上{string fullPath = Path.Combine(dataDirPath, dataFileName);GameData loadData = null;if (File.Exists(fullPath)){try{string dataToLoad = "";using (FileStream stream = new FileStream(fullPath, FileMode.Open)){using (StreamReader reader = new StreamReader(stream)){dataToLoad = reader.ReadToEnd();}}loadData = JsonUtility.FromJson<GameData>(dataToLoad);//转换为游戏需要的类型}catch (Exception e){Debug.LogError(e);}}return loadData;}
}

ISaveManager.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public interface ISaveManager
{void LoadData(GameData _data);void SaveData(ref GameData _data);
}

SaveManager.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Linq;public class SaveManager : MonoBehaviour
{public static SaveManager instance;[SerializeField] private string fileName;GameData gameData;private List<ISaveManager> saveManagers;private FileDataHandler dataHandler;private void Awake(){if (instance != null)Destroy(instance);elseinstance = this;}private void Start(){dataHandler = new FileDataHandler(Application.persistentDataPath, fileName);saveManagers = FindAllSaveManagers();LoadGame();}public void NewGame(){gameData = new GameData();}public void LoadGame(){gameData = dataHandler.Load();if(this.gameData == null){Debug.Log("No data");NewGame();}foreach(ISaveManager saveManager in saveManagers)//循环调用所有的找到脚本的LoadData和SaveData到,这样便可以将所有的数据汇聚到gameData中,并从中拿到data{saveManager.LoadData(gameData);}Debug.Log("Loaded currency " + gameData.currency);}public void SaveGame()循环调用所有的找到脚本的LoadData和SaveData到,这样便可以将所有的数据汇聚到gameData中,并从中拿到data{foreach(ISaveManager saveManager in saveManagers){saveManager.SaveData(ref gameData);}dataHandler.Save(gameData);}private void OnApplicationQuit(){SaveGame();}private List<ISaveManager> FindAllSaveManagers()//全局寻找带ISave的脚本的函数{IEnumerable<ISaveManager> saveManager = FindObjectsOfType<MonoBehaviour>().OfType<ISaveManager>();return new List<ISaveManager>(saveManager);}
}

GameData.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[System.Serializable]
public class GameData
{public int currency;public GameData(){this.currency = 0;}
}
PlayerManager.cs
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;public class PlayerManager : MonoBehaviour, ISaveManager
{public static PlayerManager instance;public Player player;//这是通过在外部设置了一个组件,让这个组件能够直接把Player找到,从而减少FInd的方式所带来的高负载public int currency;private void Awake(){if(instance != null){Destroy(instance.gameObject);}elseinstance = this;}public bool HaveEnoughMoney(int _price){if(_price > currency){Debug.Log("Not enough money");return false;}currency -= _price;return true;}public int GetCurrency() => currency;public void LoadData(GameData _data){currency = _data.currency;}public void SaveData(ref GameData _data){_data.currency = this.currency;}
}

http://www.mmbaike.com/news/36248.html

相关文章:

  • 怎么注册网自己的网站吗合肥seo推广外包
  • 电子商务网站建设课程设计报告上海今天发生的重大新闻
  • 做钢材的都用什么网站哈尔滨网站制作软件
  • 网站建设saas百度推广靠谱吗
  • 个人网站 域名选择百度搜索风云榜小说排行榜
  • 梅林网站建设全媒体广告代理加盟靠谱吗
  • 网站备案类型有哪些天津做网站的
  • 成都网站建设联系电话裂变营销
  • wordpress 调用代码seo网络推广方法
  • 广州网站建设哪家技术好超云seo优化
  • 做彩票网站需要学习什么360免费建站系统
  • 网站建设工作会议讲话发布任务注册app推广的平台
  • 网络营销哪家比较专业竞价关键词优化软件
  • 做展示型网站网站点击软件排名
  • 电脑网游杭州市优化服务
  • 色系网站.app推广拉新工作可靠吗
  • 佛山做网站建设抖音关键词用户搜索排名靠前
  • flash网站源代码百度经验官网
  • 如何做网站容易收录营销推广方案
  • 建设网站需申请什么资料上海网站推广系统
  • 哪个公司可以做网站芭蕉视频app无限次数
  • 国外做旅游攻略的网站好b2b自动发布信息软件
  • iis 网站301重定向如何进行seo搜索引擎优化
  • 网站建设维护员是做什么的网站自动推广软件
  • 电子商务网站网站建设帮我搜一下长沙做网络销售
  • 上海网站建设公司招聘seo网站推广杭州
  • 做防伪的网站无经验能做sem专员
  • 电器 东莞网站建设开发做一个网站需要多少钱
  • 猫眼网站建设百度经验悬赏令
  • 网站建设青岛百度推广有哪些售后服务