고급의 유니티 : MVC 프로그래밍 아이디어

저작권 :

  • : 블로그 공원 "당신은 메이커 문화를 꿈,"블로그 공간 (URL에 게시 된 원본 기사 http://www.cnblogs.com/raymondking123/와 마이크로 채널 대중 번호 "꿈 메이커 문화")
  • 당신은 무단 전재 무료입니다,하지만 전체 저작권 표시가 포함되어야합니다!

MVC

게임 초기화

연합 스타트 시나리오, 게임 초기화를 만들기 위해, 당신은 빈 객체 생성해야
하는 스크립트 바인딩 널 객체를
MonoBehavior MonoBehavior에서 상속 : MainInitialicer를
먼저하는 PlayerController 컨트롤러 객체를 생성
한 다음 방법을 정의

void start()
{
     控制器初始化
     Controller = new PlayerController();
     调用显示视图界面方法
     Controller.ShowView
}

MVC 연습

, 패널을 만들기 최선에 맞게 조정 공격 다음 패널의 이름을 설정하는 버튼을 만들
EXP 가장 적합한 텍스트 제어 입력을 추가하려면 다음 Mainpanel을
내 폴더를 만들을,이 장면 스크립트
스크립트 응용 프로그램 응용 프로그램 프레임 워크 프레임 워크 폴더가
내부 프레임 워크 MVC의 프레임 워크를 쓰는 것은
여러 스크립트 필요
modelbase 모형 층 기본 클래스를
ViewBase 인터페이스 기본 클래스
ControllerBase 제어 층 기본 클래스는,
MVC 외측 클래스
외관 통해 세 층의 다양한 구성 요소에 통합 될 수있는 액세스
MVC 외부 클래스 내부 클래스는 MVC 프레임 워크 외부 간단한 조작으로 볼 수 없다
같은 세 개의 코드를 작성 하였다

ControllerBase :

public abstract class ControllerBase
{
// 执行命令(一段功能代码)
    public abstract void Execute(object param); // 对谁攻击,用什么技能攻击,技能的id
// 执行一个功能
}
//public class AttackController : ControllerBase
//{
//  public override void Execute()
//  {
//      throw new System.NotImplementedException();
//  }
//}
//var ac = new AttackController();
//ac.Execute()

viewbase :

View 클래스 :
1, 각 뷰는 자신의 이름이 이름을 제공해야합니다 ViewBase에서 상속 각 클래스
2, 그는 그러한 경험의 증가 감각으로 관심 "AttackEvent"이벤트를 등록해야합니다 ViewBase에서 상속 각 클래스 이익
, 각 클래스 ViewBase에서 상속 3 그들은 "attackevent"우려되는 이벤트 처리해야

public abstract class ViewBase : MonoBehaviour
{
    public IList interestedEvents; // 保存关心的事件列表
    public abstract string Name { get; }
// 每个view的名字,把取得name的方法交给子类做
// 属性的方法抽象就不用实现,不然get方法必须要实现,返回一个名字
// Get {return name;}
    public abstract IList GetInterestedEvents(); 
// 方法:返回一个我关心的事件
    public abstract void HandleEvents(string eventName, object eventParam);
// 处理自己关心的事件,关心的事件名(攻击),事件的信息(攻击造成的伤害值)
}

MVC의 클래스에 등록보기, 데이터 변경 알림 인터페이스 업데이트, 메시지가 MVC 클래스를 통해 전송 될 때마다 관심의 이벤트

기본 모델 :

/// <summary>
/// 数据模型,每个模型必须有一个名称
/// </summary>
public abstract class ModelBase {
    public abstract string Name { get; } 
// 背包数据有背包模型,副本数据有副本模型,这是他们的名字
}

추천

출처www.cnblogs.com/raymondking123/p/11355911.html