using UnityEngine; using System.Collections; public class s2 : MonoBehaviour { // Use this for initialization void Start () { AController a = new AController(); a.Init(); a.FunA(); } // Update is called once per frame void Update () { } }
using UnityEngine; using System.Collections; public class BaseController<C, V> { public V view; }
using UnityEngine; using System.Collections; public class BaseView<C, V> : MonoBehaviour where C : BaseController<C, V> where V : BaseView<C, V> { public C controller; }
using UnityEngine; using System.Collections; public class AController : BaseController< AController , AView> { // Use this for initialization public void Init() { AView view = new AView(); this.view = view; } public void FunA() { Debug.Log("FunA" + view.str); } public void FunB() { Debug.Log("FunB" + view.str); } }
using UnityEngine; using System.Collections; public class AView : BaseView< AController, AView> { public string str = "AView"; public void FunC() { Debug.Log("FunC"); } public void FunD() { Debug.Log("FunD"); } }