Ejemplo n.º 1
0
    public override void HandleEvent(string eventName, object data)
    {
        switch (eventName)
        {
        case Consts.E_ShowSpawnPanel:
            ShowSpawnPanelArgs showSpawn = data as ShowSpawnPanelArgs;
            if (showSpawn != null)
            {
                ShowSpawnPanel(showSpawn.Pos, showSpawn.UpSide);
            }
            break;

        case Consts.E_ShowUpgradePanel:
            ShowUpgradePanelArgs showUpgrade = data as ShowUpgradePanelArgs;
            if (showUpgrade != null)
            {
                ShowUpgradePanel(showUpgrade.Tower);
            }
            break;

        case Consts.E_HiedPopup:
            HiedPopup();
            break;

        default:
            break;
        }
    }
Ejemplo n.º 2
0
    /// <summary>
    /// 点击地图格子事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="tileClickEventArgs"></param>
    private void MapOnOnTileClick(object sender, TileClickEventArgs tileArgs)
    {
        GameModel gameModel = GetModel <GameModel>();

        if (gameModel.IsPlaying && tileArgs.Tile.CanHold)
        {
            Tile tile = tileArgs.Tile;

            if (tile.Data == null)
            {
                //空格子,可以放塔
                ShowSpawnPanelArgs show = new ShowSpawnPanelArgs {
                    Pos = _map.GetPosition(tile), UpSide = tile.Y < Map.RowCount / 2
                };
                SendEvent(Consts.E_ShowSpawnPanel, show);
            }
            else
            {
                //有塔,可以操作塔
                Tower tower = tile.Data as Tower;
                ShowUpgradePanelArgs show = new ShowUpgradePanelArgs {
                    Tower = tower
                };
                SendEvent(Consts.E_ShowUpgradePanel, show);
            }
        }
    }
Ejemplo n.º 3
0
    void Map_OnTileClick(object sender, TileClickEventArgs e)
    {
        GameModel gm = GetModel <GameModel>();


        //游戏还未开始,那么不操作菜单

        if (!gm.IsPlaying)
        {
            return;
        }
        //如果有菜单显示,那么隐藏菜单
        if (TowerPopup.Instance.IsPopShow)
        {
            SendEvent(Consts.E_HidePopups);
            return;
        }
        if (!e.Tile.CanHold)
        {
            SendEvent(Consts.E_HidePopups);
        }
        if (e.Tile.Data == null)
        {
            ShowSpawnPanelArgs e1 = new ShowSpawnPanelArgs()
            {
                // Position = null,
                Position = m_Map.GetPosition(e.Tile),
                UpSide   = e.Tile.Y < (m_Map.RowCount / 2),
            };

            //
            SendEvent(Consts.E_ShowSpawnPanel, e1);
        }
        else
        {
            ShowUpgradePanelArgs e2 = new ShowUpgradePanelArgs()
            {
                Tower = e.Tile.Data as Tower,
            };
            SendEvent(Consts.E_ShowUpgradePanel, e2);
        }
    }
Ejemplo n.º 4
0
    public override void HandleEvent(string eventName, object data)
    {
        switch (eventName)
        {
        case Consts.E_ShowSpawnPanel:
            ShowSpawnPanelArgs e1 = data as ShowSpawnPanelArgs;
            ShowSpawnPanel(e1.Position, e1.UpSide);
            break;

        case Consts.E_ShowUpgradePanel:
            ShowUpgradePanelArgs e2 = data as ShowUpgradePanelArgs;
            ShowUpgradePanel(e2.Tower);
            break;

        case Consts.E_HidePopups:
            HideAllPopups();
            break;

        default:
            break;
        }
    }