1. 程式人生 > >strange IOC框架 塔防遊戲例項應用 (一)

strange IOC框架 塔防遊戲例項應用 (一)

原始碼在最後一章放上  主要理解分層

應用場景:進入對應的場景觸發相應的邏輯  

1.載入場景時發出事件

    void OnLevelWasLoaded(int level)
    {
        Args_Scene e = new Args_Scene() { level = level };  //把場景Index傳過去
        dispatcher.Dispatch(EventType.EnterScene, e);
    }


2.對應的Command接收事件進行相應反應處理,並通過Command與遊戲資訊Model進行互動資料

public class Command_EnterScene : EventCommand {


    //遊戲資訊內容
    [Inject]
    public Model_Game Model_Game { get; set; }


    
    //相應處理
    public override void Execute()
    {
        Args_Scene e = evt.data as Args_Scene;
        Debug.Log("Enter Scene : " + e.level);


        switch(e.level)    //根據相應的場景Index來做出相應的反應
        {
            case 1:
                UIManager.Instance.CreateUI(UIPanelType.StartPanel);
                break;
            case 2:
                UIManager.Instance.CreateUI(UIPanelType.SelectPanel);
                Game.Instance.StartCoroutine(InitLevelCard());
                break;
            case 3:
                UIManager.Instance.CreateUI(UIPanelType.BoardPanel);
                UIManager.Instance.CreateUI(UIPanelType.CountDownPanel);
                Game.Instance.StartCoroutine(StartCount());
                break;
            case 4:
                UIManager.Instance.CreateUI(UIPanelType.CompletePanel);
                break;
        }
    }


    IEnumerator InitLevelCard()
    {
        yield return new WaitForSeconds(0f);
        Args_InitLevelCard e = new Args_InitLevelCard()
        {
            levels = Model_Game.AllLevels,
            GameProgress = Model_Game.GameProgress
        };
        dispatcher.Dispatch(ViewEventType.InitLevelCard, e);
    }


    IEnumerator StartCount()
    {
        yield return new WaitForSeconds(0f);
        dispatcher.Dispatch(ViewEventType.StartCount);
        dispatcher.Dispatch(ViewEventType.InitMap, Model_Game.PlayLevel);
    }


}


相關推薦

strange IOC框架 遊戲例項應用

原始碼在最後一章放上  主要理解分層 應用場景:進入對應的場景觸發相應的邏輯   1.載入場景時發出事件 void OnLevelWasLoaded(int level) {

遊戲學習日記之朝敵人發射子彈

one for component targe instant .cn times code 至少   檢測到炮塔內敵人進入以後,當然下一步就是要向他們發射子彈。   接下來我們來做朝敵人發射子彈的相關操作。   分析一下,要向敵人發射子彈,需要有攻擊速度,簡單的計時器,子

關於遊戲的淺析原創

定性 利用 建築 width 耗時 微軟雅黑 移動 出現 人才 塔防遊戲理解 姓名:XXX 學校信息:XXX 撰寫時間:2019.02.20 喜歡遊戲類型: moba遊戲(英雄聯盟) 塔防遊戲(kingdom rush、魔獸TD-綠色循環圈) 建造經營(

Unity《ATD》RPG類3D遊戲架構設計

目錄 《ATD》 遊戲簡介 《ATD》 整體結構 《ATD》 遊戲機制 Buff機制 Skill機制 結語 《ATD》 遊戲簡

最簡單的混合APP開發框架——搭建你的第一個Ionic應用

上次寫了一篇關於Ionic3的文章,但是對於從來沒有接觸過Ionic的開發者來說,可能不是太友好。為了讓更多的人瞭解這個非常好的混合應用開發框架,今天這篇文章主要介紹如何從零用最快的時間做一個Ionic APP。 一)為什麼是Ionic? 如果你以前從來沒有

Redis在三層服務框架應用——Redis與Model的結合

個人宣告:本系列所有文章旨在拋磚引玉,為有興趣深入使用Redis的同學提供一些參考。本系列所有文章純屬原創,均是筆者在實際工作中的總結。本文所有引用的MDB系列元件均由米多網路架構部提供,在此向架構部表示感謝。筆者經驗能力有限,如有不適之處還請多多指教。一、為什麼要使用Red

Shiro框架從入門到實戰程式碼Shiro簡介和基礎應用

一:Shiro是一個功能強大且易於使用的Java安全框架,提供了認證,授權,加密和會話管理。 Authentication:身份認證/登入,驗證使用者是不是擁有相應的身份 Authorization:授權,即許可權驗證,驗證某個已認證的使用者是否擁有某個許可

Maven專案中shiro框架認證授權的應用

<!-- 配置shiro框架的過濾器工廠物件 --><bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"><!-- 注入安全管理器物件 --><propert

Storm概念、原理詳解及其應用BaseStorm

when 結構 tails 並發數 vm 虛擬機 cif 異步 優勢 name 本文借鑒官文,添加了一些解釋和看法,其中有些理解,寫的比較粗糙,有問題的地方希望大家指出。寫這篇文章,是想把一些官文和資料中基礎、重點拿出來,能總結出便於大家理解的話語。與大多數“wordc

WCF學習——構建一個簡單的WCF應用

frame port app 位置 協定 enc splay msdn ons 本文的WCF服務應用功能很簡單,卻涵蓋了一個完整WCF應用的基本結構。希望本文能對那些準備開始學習WCF的初學者提供一些幫助。 在這個例子中,我們將實現一個簡單的計算器和傳統的分布式通信框架一樣

vuex實踐之路——筆記本應用

time 中大 -- this 隔離 思想 一個表 環境搭建 一定的 首先使用vue-cli把環境搭建好。 介紹一下應用的界面。 App.vue根組件,就是整個應用的最外層 Toolbar.vue:最左邊紅色的區域,包括三個按鈕,添加、收藏、刪除。 NoteList.vu

OPENCV----在APP性能測試中的應用

核心 color frame pan ems span urn sqrt || 應用項目: APP的性能測試 應用場景: APP啟動速度 視頻開播速度 加載速度 等~~ 緣來: 基於APP日誌和UiAutomator的測試方案,測試結果不能直白且精確的

ORM框架疏理——廖雪峰實戰系列

命令 delete ica 隱式 orm mod prim 數據結構 lam ORM(Object Relational Mapping,對象關系映射),是一種程序設計技術,用於實現面向對象編程語言裏不同類型系統的數據之間的轉換。從效果上來說,它其實創建了一個可在編程語言裏

活動目錄的綜合應用

windows 侯良金 活動 一、活動目錄相關概念1、使用活動目錄的優點:集中管理、便捷的訪問網絡資源、可擴展性。2、域的概念:活動目錄的一種實現形式,也是活動目錄最核心的管理單位。3、域控制器:就是安裝了活動目錄服務的一臺計算機。活動目錄的數據都儲存在域控制器內!4、名稱空間:是一個區域的名字,

java中的棧Stack的基本使用和應用

string emp tac logs tor str col () bject 棧 定義  棧是一種只能在一端進行插入或刪除操作的線性表。(先進後出表) java中的Stack繼承Vector 實例化 Stack stack=new Stack(); 基本使用 判斷是

git 在windows下的應用 - 本地倉庫代碼管理

軟件研發 研發管理 訪問https://gitforwindows.org/? 下載一個安裝包,一路next下去git config --global user.name "Pcdog" git config --global user.email "[email protected]"cd d:

SSM應用--Spring入門

得到 執行 主動 關系 ted img 我們 ica http Spring是什麽   Spring是一個框架;   Spring是一個容器框架;   Spring用於管理bean(Java類),並維護bean(Java類)之間的關系;   容器框架:整個web都屬

NFS和SAMBA的簡單應用

NFS和SAMBA的簡單應用NFS和SAMBA的簡單應用(一) (1)使用samba和NFS分別共享/data目錄; (2)讓samba客戶端和NFS客戶端分別掛載samba服務器上共享的/data/至本地的/mydata目錄;本地的mysqld或mariadb服務的數據目錄設置為/myda

貝葉斯在機器學習中的應用

需要 基礎 under 情況下 學生 意義 span 公式 ext 貝葉斯在機器學習中的應用(一) 一:前提知識 具備大學概率論基礎知識 熟知概率論相關公式,並知曉其本質含義/或實質意義

Hibernate框架技術視頻課程——筆記

course flush cte found cti 關閉session localhost trace follow 視頻課程鏈接:http://edu.51cto.com/course/10747.html Hibernate框架技術,主講:湯小洋 一、Hibernat