Пример #1
0
    /// <summary>
    /// 初始化
    /// </summary>
    void Initialize()
    {
        BaseBehaviour.Initialize();
        DontDestroyOnLoad(gameObject);  //防止销毁自己

        var gameMgr = ManagementCenter.GetManager <GameManager>();

        if (gameMgr != null)
        {
            gameMgr.Initialize();   //初始化游戏管理器
        }
    }
Пример #2
0
    protected override void Enter()
    {
        base.Enter();

        Find <Button>(gameObject, "Button").onClick.AddListener(() =>
        {
            var sceneMgr = ManagementCenter.GetManager <CSceneManager>();
            sceneMgr.ChangeScene("BattleScene", "Map_1");

            var panelMgr = ManagementCenter.GetManager <PanelManager>();
            panelMgr.ClosePanel("UI_Prop");
        });
    }
Пример #3
0
    /// <summary>
    /// 进入战斗UI
    /// </summary>
    protected override void Enter()
    {
        Find <Button>(gameObject, "Btn1").onClick.AddListener(delegate()
        {
            var panelMgr = ManagementCenter.GetManager <PanelManager>();
            panelMgr.OpenPanel <UI_Prop>(UILayer.Fixed);


            //CTimer timeMgr = ManagementCenter.GetExtManager("TimerManager") as CTimer;
            //timeMgr.AddTimer(3, 0, (obj)=>
            //{
            //    panelMgr.OpenPanel<UI_Second>(UILayer.Fixed);
            //});
        });
    }
 static int GetManager(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         string arg0 = ToLua.CheckString(L, 1);
         FirClient.Manager.BaseManager o = ManagementCenter.GetManager(arg0);
         ToLua.PushObject(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
Пример #5
0
    /// <summary>
    /// 加载地图
    /// </summary>
    protected void LoadMap(string mapName, Action callback)
    {
        var resPath = "Maps/" + mapName;
        var resMgr  = ManagementCenter.GetManager <ResourceManager>();

        resMgr.LoadAssetAsync <GameObject>(resPath, new string[] { mapName }, delegate(UnityEngine.Object[] prefabs)
        {
            if (prefabs != null && prefabs[0] != null)
            {
                var gameObj = Instantiate <GameObject>(prefabs[0] as GameObject);
                gameObj.transform.SetParent(battleScene);
                gameObj.transform.localScale    = Vector3.one;
                gameObj.transform.localPosition = Vector3.zero;

                callback?.Invoke();
            }
        });
    }
Пример #6
0
    public override void Initialize()
    {
        GameObject startPoint = GameObject.Find("Scene_0/PathObject/PathPoint/startPoint");

        var npcMgr = ManagementCenter.GetManager <NpcManager>();

        var     npcModule = moduleMgr.GetModule <NpcModule>();
        NpcData npcData   = npcModule.CreateNpcData(1000);

        npcData.roleid = 1000;
        npcData.fsm    = new NpcFSM();
        npcModule.AddNpcData(npcData);

        //var roleView = npcMgr.CreateNpc<NpcView>(npcData, IdleScene.transform);
        //npcMgr.AddNpc(npcData.npcid, roleView);
        //roleView.Initialize(npcData, startPoint.transform.position, ()=>
        //{
        //    npcData.fsm.Initialize(npcData.npcid);
        //});
    }
Пример #7
0
    /// <summary>
    /// UI自定义事件列表
    /// </summary>
    /// <returns></returns>
    public override Dictionary <GameEvent, Callback <object[]> > CtorEvent()
    {
        Dictionary <GameEvent, Callback <object[]> > eventDic = new Dictionary <GameEvent, Callback <object[]> >();

        //加载进度条事件
        eventDic[GameEvent.SCENE_LOAD_PROGRESS] = delegate(object[] param)
        {
            SetProgress((float)param[0]);
        };
        //加载完成
        eventDic[GameEvent.SCENE_LOAD_COMPLETE] = delegate(object[] param)
        {
            var timeMgr = ManagementCenter.GetExtManager("TimerManager") as CTimer;
            timeMgr.AddTimer(0.5f, 0, (obj) =>
            {
                var panelMgr = ManagementCenter.GetManager <PanelManager>();
                panelMgr.ClosePanel("UI_Loading");
            });
        };

        return(eventDic);
    }
Пример #8
0
    /// <summary>
    /// 打开面板
    /// </summary>
    public void OpenPanel <T>(UILayer layer, object[] param = null) where T : UIBase
    {
        var panelName = typeof(T).Name;
        var uiMgr     = ManagementCenter.GetManager <UIManager>();
        var parent    = uiMgr.GetLayer(layer).transform;

        if (parent.Find(panelName) != null)
        {
            return;
        }


        var resPath = "Prefabs/UI/" + panelName;
        var resMgr  = ManagementCenter.GetManager <ResourceManager>();

        resMgr.LoadAssetAsync <GameObject>(resPath, new string[] { panelName }, delegate(UnityEngine.Object[] prefabs)
        {
            if (prefabs != null && prefabs[0] != null)
            {
                GameObject panelObj = CreatePanelInternal <T>(panelName, prefabs[0] as GameObject, parent, param);
                panelObj.GetComponent <Canvas>().sortingOrder = (int)layer + parent.childCount;
            }
        });
    }