C# &引用;不允许从MonoBehavior构造函数调用Load“;在不从MonoBehavior继承的脚本上

C# &引用;不允许从MonoBehavior构造函数调用Load“;在不从MonoBehavior继承的脚本上,c#,class,unity3d,inheritance,runtime-error,C#,Class,Unity3d,Inheritance,Runtime Error,我有两个班可构建对象和临时对象。出于某种原因,Unity将TempObject视为一个单行为类,如果我使用构造函数中的Resources.Load(),它会在该类中抛出一个错误 为什么会这样,我该如何修复它 公共抽象类BuildableObject{ 公共抽象向量2输入空间{get;set;} 公共抽象游戏对象主体{get;set;} 公共void Init(网格空间[,]世界,矢量2int位置){ Vector3 Pos=世界[Pos.x,Pos.y].Pos; //TODO:优化 //TOD

我有两个班<代码>可构建对象和
临时对象
。出于某种原因,Unity将
TempObject
视为一个单行为类,如果我使用构造函数中的
Resources.Load()
,它会在该类中抛出一个错误

为什么会这样,我该如何修复它

公共抽象类BuildableObject{
公共抽象向量2输入空间{get;set;}
公共抽象游戏对象主体{get;set;}
公共void Init(网格空间[,]世界,矢量2int位置){
Vector3 Pos=世界[Pos.x,Pos.y].Pos;
//TODO:优化
//TODO:添加多个磁贴大小的可用性
Pos.x+=Body.transform.lossyScale.x/6;
Pos.y+=Body.transform.lossyScale.y/6;
Body.transform.position=Pos;
Body.transform.position=新向量3(Body.transform.position.x,Body.transform.position.y,-5);
实例化(Body);
OnPlace();
}
public void OnPlace(){}
public void OnUpdate(){}
移除()上的公共void{}
public void OnInteract(InteractData){}
}
公共类TempObject:BuildableObject{
公共覆盖向量2int空间{get;set;}=新向量2int(2,2);
公共覆盖游戏对象主体{get;set;}
公共临时对象(){
Body=(GameObject)Resources.Load(“buildprefables/Test”,typeof(GameObject));//错误
}
}

我出错的原因是因为我从
monobhavior
类实例化了
TempObject

使用UnityEngine;
公共课示例:单一行为{
public BuildableObject Selected=new TempObject();//实际错误
}