我正在创建一个系统,在这个系统中,我在ScriptableObject中有我的卡片,但是每张卡片都有一个独特的功能。我所想到的是为每个从“skills”继承的技能创建一个新类。所以我把每个字母的这个脚本放在我的ScriptableObject中,但是现在我试图访问它,但是我不能,因为我不能使用AddComponent。
public class Cards : ScriptableObject
{
public Sprite cardSprite;
public int cardAttack;
public int cardHealth;
public int cardCost;
public Object cardAbility;
}
2条答案
按热度按时间5uzkadbs1#
正如您所意识到的,您不能将AddComponent与ScriptableObjects一起使用,因为它只能用于将组件附加到GameObjects。
然而,ScriptableObjects确实支持主资源和子资源的某种类似概念。
您可以使用AssetDatabase.AddObjectToAsset添加新的子资源,这些子资源将在“项目”视图中显示为主资源下面的嵌套子资源。
cbjzeqam2#
可脚本化对象是一个数据容器。素材或灯光设置都是可脚本化对象。您可以将它们保存为资源并将它们用作其他脚本的设置,但不能将它们附加到GameObjects. Read more here。
若要在资源浏览器中创建ScriptableObjects,需要在开始类之前添加以下内容。
若要将它们添加到脚本,请使用
public Cards cards;
,然后可以将它们从资源浏览器拖到检查器中的脚本。你唯一可以添加到游戏对象的是单一行为