zoukankan      html  css  js  c++  java
  • 项目记录23--unity-tolua框架MediatorManager

    我还存在!。!!!

    这个类是管理全部模块,没什么好说就是个单例,之后还须要UIManager,SceneManager,DataManager。。。

    。慢慢来。不是还要上班做死的嘛,坑爹。




    MediatorManager = class("MediatorManager")


    --构造方法
    function MediatorManager:ctor(  )
    self._mediators = {}
    end


    --单例
    function MediatorManager:Instance()
    if self.instance == nil then
    self.instance = self.new()
    end
    return self.instance
    end


    --添加一个mediator通过Type dataq : int 或者 GameEvent
    function MediatorManager:AddMediator(mediatorType,data)
    local tempMediator = self._mediators[mediatorType]
    --创建mediator
    if tempMediator == nil then
    if mediatorType == MediatorType.LoginMeditor then
    tempMediator = require("Mediator.LoginMediator.LoginMediator").new()
    else
    print("no this MediatorType : "..mediatorType)
    --不存在type直接返回
    return
    end
    --将medator存起来
    if tempMediator ~= nil then
    self._mediators[mediatorType] = tempMediator
    end
    end
    --发送消息
    if tempMediator ~= nil and data ~= nil then
    self:SendEvent(data)
    end
    end


    --发送消息
    function  MediatorManager:SendEvent(data)
    print("SendData type : " .. type(data))
    --是否发送消息: int GameEvent
    if type(data) == "number" then
    local e = GameEvent.New(data)
    Notifier.Instance:SendEvent(e)
    elseif type(data) == "userdata" then
    Notifier.Instance:SendEvent(data)
    end
    end


    --移除:注意不能再AddMediator命令里面做RemoverMediator
    function MediatorManager:RemoveMediator(moduleType)
    local tempMediator = self._mediators[moduleType]
    if tempMediator ~= nil then
    tempMediator:Exit()  --先调用mediator
    self._mediators[moduleType] = nil   --设置为空
    end
    end


  • 相关阅读:
    mysql in 的两种使用方法
    Cocos2d-x游戏中默认的AndroidManifest.xml的解析
    UVA 11551
    本周游戏体验:卧虎藏龙
    Android.mk各种文件编译汇总
    hdu 寒冰王座
    树的专题整理(二)
    leetcode 题解 || Swap Nodes in Pairs 问题
    接上SQL SERVER的锁机制(一)——概述(锁的种类与范围)
    SQL SERVER的锁机制(一)——概述(锁的种类与范围)
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/7149884.html
Copyright © 2011-2022 走看看