我有这些错误时,试图写这个脚本保存和加载在我的游戏。
资源\脚本\保存系统\保存数据.cs(62,40):错误CS0246:找不到型别或命名空间名称'StreamingContext'(您是否遗漏using指示词或组件指涉?)
资源\脚本\保存系统\保存数据.cs(13,31):错误CS0246:未能找到类型或命名空间名称“PlaceableObjectData”(是否缺少using指令或程序集引用?)
资源\脚本\保存系统\保存数据.cs(61,6):错误CS0246:未能找到类型或命名空间名称“OnDeserializedAttribute”(是否缺少using指令或程序集引用?)
资源\脚本\保存系统\保存数据.cs(61,6):错误CS0246:未能找到类型或命名空间名称“OnDeserialized”(是否缺少using指令或程序集引用?)
这是我正在写的剧本
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Runtime.Serialization;
[Serializable]
public class SaveData
{
public static int IdCount;
public Dictionary<string, PlaceableObjectsData> placeableObjectDatas =
new Dictionary<string, PlaceableObjectsData>();
public static string GenerateId()
{
IdCount++;
return IdCount.ToString();
}
public void AddData(Data data)
{
if (data is placeableObjectDatas plObjData)
{
if (placeableObjectDatas.ContainsKey(plObjData.ID))
{
placeableObjectDatas[plObjData.ID] = plObjData;
}
else
{
placeableObjectDatas.Add(plObjData.ID, plObjData);
}
}
}
public void RemoveData(Data data)
{
if (data is placeableObjectDatas plObjData)
{
if (placeableObjectDatas.ContainsKey(plObjData.ID))
{
placeableObjectDatas.Remove(plObjData.ID);
}
}
}
[OnDeserialized]
internal void OnDeserializedMethod(StreamingContext context)
{
placeableObjectDatas ??= new Dictionary<string, PlaceableObjectsData>();
}
}
编辑:
这是PlaceableObjectData的指令码:
using System;
using UnityEngine;
public class PlaceableObjectsData : Data
{
public string assetName;
public Vector3 position;
}
编辑2
资源\脚本\保存系统\保存系统.cs(17,13):错误CS0103:当前上下文中不存在名称“Directory”
资源\脚本\保存系统\保存系统.cs(20,13):错误CS0103:当前上下文中不存在名称“Directory”
资源\脚本\保存系统\保存数据.cs(26,21):错误CS0246:未能找到类型或命名空间名称“placeableObjectDatas”(是否缺少using指令或程序集引用?)
资源\脚本\保存系统\保存系统.cs(31,28):错误CS0246:找不到类型或命名空间名称“JsonSerializerSettings”(是否缺少using指令或程序集引用?)
资源\脚本\保存系统\保存系统.cs(32,42):错误CS0103:目前内容中不存在名称'ReferenceLoopHandling'
资源\脚本\保存系统\保存系统.cs(34,29):错误CS0103:当前上下文中不存在名称“JsonConvert”
资源\脚本\保存系统\保存系统.cs(36,19):错误CS1061:'string'不包含'WriteAllText'的定义,而且找不到可接受第一个'string'型别参数的可存取扩充方法'WriteAllText'(您是否遗漏using指示词或组件指涉?)
资源\脚本\保存系统\保存数据.cs(48,21):错误CS0246:未能找到类型或命名空间名称“placeableObjectDatas”(是否缺少using指令或程序集引用?)
资源\脚本\保存系统\保存系统.cs(42,22):错误CS1061:'string'不包含'Exists'的定义,而且找不到可接受第一个'string'型别参数的可存取扩充方法'Exists'(您是否遗漏using指示词或组件指涉?)
资源\脚本\保存系统\保存系统.cs(45,42):错误CS1061:'string'不包含'ReadAllText'的定义,而且找不到可接受第一个'string'型别参数的可存取扩充方法'ReadAllText'(您是否遗漏using指示词或组件指涉?)
资源\脚本\保存系统\保存系统.cs(47,13):错误CS0246:找不到类型或命名空间名称“saveData”(是否缺少using指令或程序集引用?)
资源\脚本\保存系统\保存系统.cs(47,31):错误CS0103:当前上下文中不存在名称“JsonConvert”
资源\脚本\保存系统\保存系统.cs(47,61):错误CS0246:找不到类型或命名空间名称“saveData”(是否缺少using指令或程序集引用?)
1条答案
按热度按时间ryevplcw1#
您可以通过在文件顶部添加
using System.Runtime.Serialization;
来修复错误1、3和4。但是我从来没有听说过PlaceableObjectData,它可能是您在其他名称空间中创建的自定义类吗?那么您还必须使用
using
关键字导入该名称空间。