示例#1
0
    public override void HandleEvent(string eventName, object data)
    {
        switch (eventName)
        {
        case Consts.E_EnterScene:
            SceneArgs sce = data as SceneArgs;
            if (sce.SceneIndex == 3)
            {
                MapV = GetComponent <MapV>();
                MapModel MapM = GetModel <MapModel>();
                MapV.MapVInit(MapM);
                MapV.Draw();
                MapV.CompleteMap += Complete;
            }

            break;

        case Consts.E_SpawnMonster:
            SpawnMonsterArgs s = data as SpawnMonsterArgs;
            Debug.Log("生成怪物:" + s.MonsterID);
            SpawnMonster(s.MonsterID);
            break;

        case Consts.E_SpawnTower:
            Debug.Log("生成塔");
            break;
        }
    }
    public override void Execute(object data)
    {
        SceneArgs e = data as SceneArgs;

        // 注册视图(View)
        switch (e.SceneIndex)
        {
        case 0:     // Init

            break;

        case 1:     // Start
            RegisterView(GameObject.Find("UIStart").GetComponent <UIStart>());
            break;

        case 2:     // Select
            RegisterView(GameObject.Find("UISelect").GetComponent <UISelect>());
            break;

        case 3:     // Level
            RegisterView(GameObject.Find("UIBoard").GetComponent <UIBoard>());
            RegisterView(GameObject.Find("Map").GetComponent <Spawner>());
            RegisterView(GameObject.Find("Canvas").transform.Find("UICountDown").GetComponent <UICountDown>());
            RegisterView(GameObject.Find("Canvas").transform.Find("UIWin").GetComponent <UIWin>());
            RegisterView(GameObject.Find("Canvas").transform.Find("UILost").GetComponent <UILost>());
            RegisterView(GameObject.Find("Canvas").transform.Find("UISystem").GetComponent <UISystem>());
            break;

        case 4:     // Complete
            RegisterView(GameObject.Find("UIComplete").GetComponent <UIComplete>());
            break;
        }
    }
    public override void Execute(object data)
    {
        SceneArgs e = data as SceneArgs;

        switch (e.SceneIndex)
        {
        case 0:
            break;

        case 1:
            RegisterView(GameObject.Find("UIStart").GetComponent <UIStart>());
            break;

        case 2:
            RegisterView(GameObject.Find("UISelect").GetComponent <UISelect>());
            break;

        case 3:
            GameObject go = null;
            go = GameObject.Find("Canvas");
            RegisterView(GameObject.Find("UIBoard").GetComponent <UIBoard>());
            RegisterView(go.transform.Find("UICountDown").GetComponent <UICountDown>());
            RegisterView(go.transform.Find("UIWin").GetComponent <UIWin>());
            RegisterView(go.transform.Find("UILose").GetComponent <UILose>());
            RegisterView(go.transform.Find("UISystem").GetComponent <UISystem>());
            break;

        case 4:
            RegisterView(GameObject.Find("UIComplete").GetComponent <UIComplete>());
            break;
        }
    }
示例#4
0
    public override void Execute(object data)
    {
        SceneArgs e = data as SceneArgs;

        //Register View
        switch (e.SceneIndex)
        {
        case 0:    //Init
            break;

        case 1:    //Menu
            RegisterView(GameObject.FindObjectOfType <UIMenu>());
            break;

        case 2:    //Game
            GetModel <GameModel>().Initialize();

            RegisterView(GameObject.FindObjectOfType <UIInsBtn>());
            RegisterView(GameObject.FindObjectOfType <UISkillBtn>());
            RegisterView(GameObject.FindObjectOfType <UIEnergy>());
            RegisterView(GameObject.Find("Canvas").transform.Find("UIShop").GetComponentInChildren <UIShop>());
            RegisterView(GameObject.Find("Canvas").transform.Find("UIWin").GetComponentInChildren <UIWin>());
            RegisterView(GameObject.Find("Canvas").transform.Find("UILose").GetComponentInChildren <UILose>());

            RegisterView(GameObject.FindObjectOfType <Spawner>());
            break;

        case 3:    //Complete
            //RegisterView(GameObject.FindObjectOfType<UIComplete>());
            break;

        default:
            break;
        }
    }
示例#5
0
    public override void HandleEvent(string eventName, object data)
    {
        switch (eventName)
        {
        case Consts.E_EnterScene:
            SceneArgs e        = data as SceneArgs;
            int       scenceID = e.SceneIndex;
            if (scenceID == 2)
            {
                initialize();
            }
            break;

        case Consts.E_ShowSkillInfo:
            int skillID = (int)data;
            ShowSkillInfo(skillID);
            break;

        case Consts.E_AddFightSkill:
            AddFightSkill addskill = data as AddFightSkill;
            AddFightSkill(addskill);
            break;

        case Consts.E_MoveFightSkill:
            AddFightSkill moveskill = data as AddFightSkill;
            MoveFightSkill(moveskill);
            break;
        }
    }
示例#6
0
    public override void Execute(object data)
    {
        //注册view
        SceneArgs sceneArgs = data as SceneArgs;

        Debug.Log("进入场景:" + sceneArgs.SceneId);
        switch (sceneArgs.SceneId)
        {
        case 0:
            break;

        case 1:
            RegisterView(GameObject.Find("UIStart").GetComponent <UIStart>());
            break;

        case 2:
            RegisterView(GameObject.Find("UISelect").GetComponent <UISelect>());
            break;

        case 3:
            RegisterView(GameObject.Find("UIBoard").GetComponent <UIBoard>());
            RegisterView(GameObject.Find("Map").GetComponent <Spawner>());
            RegisterView(GameObject.Find("TowerPopup").GetComponent <TowerPopup>());
            RegisterView(GameObject.Find("Canvas").transform.Find("UICountDown").GetComponent <UICountDown>());
            RegisterView(GameObject.Find("Canvas").transform.Find("UIWin").GetComponent <UIWin>());
            RegisterView(GameObject.Find("Canvas").transform.Find("UILost").GetComponent <UILost>());
            RegisterView(GameObject.Find("Canvas").transform.Find("UISystem").GetComponent <UISystem>());
            break;

        case 4:
            RegisterView(GameObject.Find("UICompletes").GetComponent <UICompletes>());
            break;
        }
    }
示例#7
0
    public override void HandleEvent(string eventName, object data)
    {
        switch (eventName)
        {
        case Consts.E_EnterScene:
            SceneArgs sceneArgs = data as SceneArgs;
            if (sceneArgs.SceneId == 3)
            {
                //加载数据
                GameModel gameModel = GetModel <GameModel>();

                //加载地图
                _map = GetComponent <Map>();
                _map.LoadLevel(gameModel.PlayLevel);
                _map.OnTileClick += MapOnOnTileClick;

                //加载萝卜
                SpawnLuobo(_map.Path[_map.Path.Length - 1]);
            }
            break;

        case Consts.E_SpawnMonster:
            SpawnMonsterArgs spawnMonsterArgs = data as SpawnMonsterArgs;
            SpawnMonster(spawnMonsterArgs.MosterType);
            break;

        case Consts.E_SpawnTower:
            SpawnTowerArgs spawnTower = data as SpawnTowerArgs;
            SpawnTower(spawnTower.TowerId, spawnTower.Pos);
            break;

        default:
            break;
        }
    }
示例#8
0
    [HideInInspector] public StaticData StaticData = null; //静态数据

    //全局方法
    public void LoadScene(int level, bool Asynchronous = false)
    {
        if (Asynchronous)
        {
            //---异步加载新场景
            LoadScene(4, false);
            SceneArgs As = new SceneArgs()
            {
                SceneIndex = level //当前场景索引
            };
            Debug.Log(level);
            SendEvent(Consts.E_AsynchronousLoading, As);
        }
        else
        {
            //---退出旧场景
            //造一个事件参数
            SceneArgs e = new SceneArgs()
            {
                SceneIndex = SceneManager.GetActiveScene().buildIndex //当前场景索引
            };
            //发布事件
            SendEvent(Consts.E_ExitScene, e);
            //---同步加载新场景
            SceneManager.LoadScene(level, LoadSceneMode.Single);
            SceneManager.sceneLoaded += LoadedEve;
        }
    }
示例#9
0
    public void LevelLoaded(Scene scene, LoadSceneMode mod)
    {
        SceneArgs e = new SceneArgs();

        e.sceneIndex = scene.buildIndex;
        SendEvent(Const.E_EnterScene, e);
    }
示例#10
0
    public override void HandleEvent(string eventName, object data)
    {
        switch (eventName)
        {
        case Consts.E_EnterScene:
            SceneArgs e        = data as SceneArgs;
            int       scenceID = e.SceneIndex;
            if (scenceID == 2)
            {
                GetEquipList();
            }
            break;

        case Consts.E_ItemUse:
            if (isopen)
            {
                ClosePanel();
            }
            break;

        case Consts.E_EquipUpdate:
            UpdateEquipList();
            GetEquipList();
            break;
        }
    }
示例#11
0
    public override void HandleEvent(string eventName, object data)
    {
        switch (eventName)
        {
        case Consts.E_EnterScene:
            SceneArgs e0 = data as SceneArgs;
            if (e0.SceneIndex == 3)
            {
                //获取数据
                GameModel gModel = GetModel <GameModel>();

                //加载地图
                m_Map = GetComponent <Map>();
                m_Map.LoadLevel(gModel.PlayLevel);

                //加载萝卜
                Vector3[] path = m_Map.Path;
                Vector3   pos  = path[path.Length - 1];
                SpawnLuobo(pos);
            }
            break;

        case Consts.E_SpawnMonster:
            SpawnMonsterArgs e1 = data as SpawnMonsterArgs;
            SpawnMonster(e1.MonsterType);
            break;
        }
    }
示例#12
0
    public void OnLevelWasLoaded(int level)
    {
        SceneArgs e = new SceneArgs();

        e.SceneIndex = level;

        SendEvent(Constant.E_EnterScene, e);
    }
示例#13
0
    public void LoadScene(int level)
    {
        SceneArgs e = new SceneArgs();

        e.sceneIndex = SceneManager.GetActiveScene().buildIndex;
        SendEvent(Const.E_ExitScene, e);
        SceneManager.LoadScene(level, LoadSceneMode.Single);
    }
示例#14
0
    IEnumerator StartNextLessonAfterPause(int seconds)
    {
        yield return(new WaitForSeconds(seconds));

        SceneArgs.clear();
        SceneArgs.addArg("level", (currentLevel + 1).ToString());
        SceneManager.LoadScene("Lessons");
    }
示例#15
0
    //退出了场景就回收所有对象
    public override void Execute(object data)
    {
        SceneArgs sceneArgs = data as SceneArgs;

        if (sceneArgs.SceneIndex == 3)
        {
            Game.Instance.ObjectPool.UnspawnAll();
        }
    }
示例#16
0
    private void OnLevelFinishedLoading(Scene scene, LoadSceneMode mode)
    {
        SceneArgs e = new SceneArgs()
        {
            SceneIndex = scene.buildIndex
        };

        SendEvent(Consts.E_EnterScene, e);
    }
    /// <summary>
    /// 当加载对应场景完成后
    /// </summary>
    void OnLevelWasLoaded(int sceneLevel)
    {
        SceneArgs e = new SceneArgs();

        e.SceneIndex = sceneLevel;

        //发送进入该场景事件,UICountDown脚本接受并处理
        SendEvent(Consts.E_EnterScene, e);
    }
示例#18
0
    //场景加载时发送消息给MVC
    private void OnLevelWasLoaded(int level)
    {
        //构建事件
        SceneArgs e = new SceneArgs();

        e.Level = level;

        SendEvent(Consts.E_EnterScene, e);
    }
示例#19
0
    void Send()
    {
        SceneArgs e = new SceneArgs()
        {
            SceneIndex = 3
        };

        SendEvent(Consts.E_EnterScene, e);
    }
示例#20
0
    //用于给
    void OnSceneLoaded(Scene scene, LoadSceneMode Mode)
    {
        //事件参数
        SceneArgs e = new SceneArgs();

        e.SceneIndex = scene.buildIndex;
        //发布事件
        SendEvent(Consts.E_EnterScene, e);
    }
示例#21
0
    // 当前场景加载完成后触发
    void OnLevelWasLoaded(int level)
    {
        // 事件参数
        SceneArgs e = new SceneArgs();

        e.SceneIndex = level;
        // 发布事件
        SendEvent(Consts.E_EnterScene, e);
    }
示例#22
0
文件: Game.cs 项目: rzlovewyd/Luobo
    void OnLevelWasLoaded(int level)
    {
        Debug.Log("OnLevelWasLoaded:" + level);

        //事件参数
        SceneArgs e = new SceneArgs(level);

        SendEvent(Consts.E_EnterScene, e);
    }
示例#23
0
    public void LoadScene(int level)
    {
        SceneArgs e = new SceneArgs();

        e.sceneIndex = SceneManager.GetActiveScene().buildIndex;
        SendEvent(Const.E_ExitScene, e);
        SceneManager.LoadScene(level, LoadSceneMode.Single);
        //language
        GameEvents.Instance.LanguageChange();
    }
示例#24
0
    //进入新场景
    private void OnLevelWasLoaded(int level)
    {
        Debug.Log("进入新场景:" + level);
        //发送进入场景事件
        SceneArgs e = new SceneArgs()
        {
            scenesIndex = level
        };

        SendEvent(Consts.E_EnterScenes, e);
    }
示例#25
0
    /// <summary>
    /// 进入一个场景会调用
    /// </summary>
    /// <param name="level"></param>
    private void OnLevelWasLoaded(int level)
    {
        //Debug.Log("OnLevelWasLoaded:" + level);

        //事件参数
        SceneArgs e = new SceneArgs();

        e.SceneId = level;
        //发布事件
        SendEvent(Consts.E_EnterScene, e);
    }
示例#26
0
 public override void HandleEvent(string eventName, object data)
 {
     if (eventName == Consts.E_EnterScene)
     {
         SceneArgs sceneArgs = data as SceneArgs;
         if (sceneArgs != null && sceneArgs.SceneId == 2)
         {
             _gameModel = GetModel <GameModel>();
             LoadCards();
         }
     }
 }
示例#27
0
    public override void Execute(object data)
    {
        SceneArgs e = data as SceneArgs;

        switch (e.scenesIndex)
        {
        case 1:

        default:
            break;
        }
    }
示例#28
0
    public void LoadNewLevel()
    {
        Load.SetActive(true);
        StartCoroutine(UILoad());
        SceneArgs sceneArgs = new SceneArgs
        {
            SceneIndex = 3
        };

        SendEvent(Consts.E_ExitScene, sceneArgs);
        SendEvent(Consts.E_CreatMap);
    }
示例#29
0
    //加载场景发送消息给MVC
    public void LoadScene(int Level)
    {
        //获取事件参数
        SceneArgs e = new SceneArgs();

        e.Level = SceneManager.GetActiveScene().buildIndex;

        //退出当前场景发布事件
        SendEvent(Consts.E_ExitScene, e);

        //加载新场景
        SceneManager.LoadScene(Level, LoadSceneMode.Single);
    }
示例#30
0
    //TODO:@Zidong 接手的项目之前是这样写的,没有直接利用operation.progress的值,或者可以尝试优化一下?因为现在读条到100%后还要等一小段时间
    public void LoadScene(int level)
    {
        //--退出上一场景
        //事件参数
        SceneArgs e = new SceneArgs();

        e.SceneIndex = SceneManager.GetActiveScene().buildIndex;
        //发布
        SendEvent(Consts.E_ExitScene, e);

        //--加载新场景
        SceneManager.LoadScene(level, LoadSceneMode.Single);
    }