继承问题 - 将派生类传递给基类

时间:2018-05-09 18:39:04

标签: c# unity3d inheritance

我需要在两个不同的视图中复制功能。类,由方向(字符串或bool)和int值确定的功能的唯一差异。
因此,继承有助于避免代码重复。

为简单起见,在我的基类Animal中,我有以下事件处理程序和两个派生类DogViewCatView

什么是最好的'通过' DogView'和CatView'到这个基类,这个事件处理程序可以看到它们? (以及可选的' dogPrefab'以及' catPrefab') 我想避免重写这个处理程序,因为还有其他类似的事件处理程序,我会复制大部分基类,因此首先要破坏继承的原因。

bool MyEventHandler(IEvent evt)
{
    Event_Enter castEvent = evt as Event_Enter;
    if (castEvent != null)
    {
         Vector3 newPos = new Vector3(0,-1.1f, 0);
         GameObject ob = (GameObject)Instantiate(dogPrefab, newPos, Quaternion.identity);                    
         DogView animal = ob.GetComponent<DogView>();
         animal._id = castEvent.id;                
    }

   return false;
}

0 个答案:

没有答案