更新
好的,所以我正在玩类和继承,我正在尝试做一些我以前在一个源代码是C++的游戏中做过的事情,我想知道这里是否有人可以帮助我理解如何用C#来做.
我想做的是两件事:
首先当我创建某个类的对象时,我想将一个整数传递给构造函数,并使用该整数来确定将初始化哪个sublcass.
像这样:职业newVoc = new Vocation(1); 并且1将选择具有该VocationId的第一个sublcass或子类.
第二件事,我已经有一个从Creature Class继承的Player类,但是我希望Player Class本身包含一个Vocation对象.所以我可以设置职业,当我进行属性更改并且播放器具有不同的属性时...这是示例代码,试图用我所说的,希望有人理解我的意思.
好的,我现在收到错误.无法隐式转换类型Mage' toVocation'
这就是我得到的......
Vocation.cs
using UnityEngine;
using System.Collections;
public enum VocationType { Mage, Warrior }
public class Vocation
{
}
public static class VocationFactory
{
public static Vocation CreateVocation(VocationType type)
{
switch (type)
{
case VocationType.Mage:
{
return new Mage();
break;
}
}
}
}
public class Mage
{
public string Name = "Mage";
public Mage()
{
}
}
Run Code Online (Sandbox Code Playgroud)
Player.cs
using UnityEngine;
using System.Collections;
public class …Run Code Online (Sandbox Code Playgroud)