Пример #1
0
    // 更新单个格子 为队伍编辑
    void UpdateTeamItem(CSItem card, Team.EDITTYPE type)
    {
        if (null != card && !SortByOccRace(card.IDInTable))
        {
            // 格子不够增加格子
            if (false == m_gridList.ContainsKey(m_tempIndex))
            {
                ExpandOneGrid();
            }

            UICardItem item = m_gridList[m_tempIndex];

            HeroInfo heroInfo = GameTable.HeroInfoTableAsset.Lookup(card.IDInTable);
            if (null == heroInfo)
            {
                Debug.LogWarning("UpdateTeamItem null == heroInfo item.IDInTable:" + card.IDInTable);
            }
            else
            {
                OperateCardList.Singleton.m_leadShipCost = OperateCardList.Singleton.m_leadShipCost + heroInfo.Cost;
                item.UpdateOperateTeam(card, m_cardSortUI.GetLastSortType(), type, m_tempIndex);
                OperateCardList.Singleton.m_hadItemList.Add(card.Guid);
            }
            m_tempIndex++;
        }
    }
Пример #2
0
    // 为队伍相关编辑 更新格子
    void OnUpdateItemForTeam()
    {
        // 领导力消耗
        OperateCardList.Singleton.m_leadShipCost = 0;

        m_tempIndex = 1;
        // 先显示满足条件的卡牌
        int    teamIndex = Team.Singleton.m_curTeamIndex;
        CSItem card      = null;

        OperateCardList.Singleton.m_hadItemList.Clear();

        // 队伍特殊 顺序特别设置

        // 编辑整个队伍
        if (Team.Singleton.m_curEditType == Team.EDITTYPE.enALL)
        {
            // 主角色
            card = CardBag.Singleton.GetCardByGuid(Team.Singleton.m_bagMainSlotId);
            UpdateTeamItem(card, Team.EDITTYPE.enMain);

            // 副角色
            card = CardBag.Singleton.GetCardByGuid(Team.Singleton.m_bagDeputySlotId);
            UpdateTeamItem(card, Team.EDITTYPE.enDeputy);

            // 支持角色
            card = CardBag.Singleton.GetCardByGuid(Team.Singleton.m_bagSupportSlotId);
            UpdateTeamItem(card, Team.EDITTYPE.enSupport);
        }
        // 编辑队伍中的单个角色
        else
        {
            // 格子不够增加格子
            if (false == m_gridList.ContainsKey(m_tempIndex))
            {
                ExpandOneGrid();
            }

            // 第一个格子 是个X
            UICardItem item = m_gridList[m_tempIndex];
            item.SetXForOperateTeam();
            m_tempIndex++;

            // 已选 主角色
            card = Team.Singleton.GetCard(teamIndex, Team.EDITTYPE.enMain);
            UpdateTeamItem(card, Team.EDITTYPE.enMain);

            // 已选 副角色
            card = Team.Singleton.GetCard(teamIndex, Team.EDITTYPE.enDeputy);
            UpdateTeamItem(card, Team.EDITTYPE.enDeputy);

            // 已选 支持角色
            card = Team.Singleton.GetCard(teamIndex, Team.EDITTYPE.enSupport);
            UpdateTeamItem(card, Team.EDITTYPE.enSupport);
        }
    }
Пример #3
0
 public void UpdateCardDetail(int index)
 {
     if (m_gridList.ContainsKey(index))
     {
         UICardItem item = m_gridList[index];
         if (item.IsHaveCardDetail())
         {
             //更新卡牌详情
             CardBag.Singleton.m_curOptinIndex = index;
             CardBag.Singleton.m_curOptinGuid  = item.m_param.m_guid;
             CardBag.Singleton.OnShowCardDetail();
         }
     }
 }
Пример #4
0
    bool IsHaveCardDetail(int index)
    {
        if (!m_gridList.ContainsKey(index))
        {
            return(false);
        }
        UICardItem item = m_gridList[index];

        if (null == item)
        {
            return(false);
        }
        return(item.IsHaveCardDetail());
    }
Пример #5
0
    // 增加格子 index 格子唯一索引 从1开始,x,y为位置
    void AddGrid(int index)
    {
        // 如果存在 则返回
        if (m_gridList.ContainsKey(index))
        {
            return;
        }

        UICardItem item = UICardItem.Create();

        // 设置 父物体
        item.SetParentWnd(FindChildComponent <UIGrid>("GridList").gameObject);

        string showNumStr = index.ToString("00000");          // String.Format("{0:00000}", index);

        item.SetRootName(showNumStr);

        m_gridList.Add(index, item);
    }
Пример #6
0
    // 增加格子 index 格子唯一索引
    void AddGrid(int index)
    {
        // 如果存在 则返回
        if (m_gridList.ContainsKey(index))
        {
            return;
        }

        UICardItem item = UICardItem.Create();

        // 设置 父物体
        item.SetParentWnd(m_gridItemList.gameObject);
        item.SetRootName(index.ToString());

        // 设置回调函数
        item.SetClickCallback(OnClickItem);
        item.SetPressCallback(OnClickLongPressItem);

        m_gridList.Add(index, item);
    }
Пример #7
0
    // 更新
    void UpdateInfo()
    {
        m_tempIndex = 1;

        // 不同类型显示内容不同
        ShowCurTypeLayout();

        // 排序好的列表
        List <CSItemGuid> cardList = m_cardSortUI.GetSortReslut();
        ENSortType        sortType = m_cardSortUI.GetLastSortType();

        // 显示卡牌列表
        foreach (CSItemGuid itemGuid in cardList)
        {
            CSItem item = CardBag.Singleton.GetCardByGuid(itemGuid);
            if (null == item)
            {
                continue;
            }

            int cardID = item.IDInTable;

            HeroInfo heroInfo = GameTable.HeroInfoTableAsset.Lookup(cardID);

            if (null == heroInfo)
            {
                Debug.LogWarning("heroInfo == NULL heroInfo cardID:" + cardID);
                continue;
            }

            // 筛选
            if (SortConditon(item))
            {
                continue;
            }

            // 格子不够增加格子
            if (false == m_gridList.ContainsKey(m_tempIndex))
            {
                ExpandOneGrid();
            }

            // 更新格子
            UICardItem cardItem = m_gridList[m_tempIndex];

            cardItem.UpdateOperate(item, sortType, m_tempIndex);

            m_tempIndex++;
        }


        // 把剩余的空格子图片置空
        for (; m_tempIndex <= m_gridList.Count; m_tempIndex++)
        {
            UICardItem cardItem = m_gridList[m_tempIndex];
            cardItem.SetEmpty();
            cardItem.HideWindow();
        }

        m_gridItemList.Reposition();
    }
Пример #8
0
 //  点击响应
 public void OnClickItem(UICardItem item, ENSortType sortType)
 {
 }
Пример #9
0
    public int m_index = 0; // 用来分辨在显示列表中的索引位置 用来判断是否是可以显示卡牌详情的标志 >0为 可以显示卡牌详情

    static public UICardItem Create()
    {
        UICardItem self = UIManager.Singleton.LoadUI <UICardItem>("UI/UICardItem", UIManager.Anchor.Center);

        return(self);
    }
 //  点击响应
 public void OnClickItem(UICardItem item, ENSortType sortType)
 {
     CardUpdateProp.Singleton.OnShowCardUpdate(item.m_param.m_guid);
     //MainUIManager.Singleton.OnSwitchSingelUI(MainUIManager.EDUITYPE.enCardUpdate);
 }
Пример #11
0
 //  点击响应
 public void OnClickItem(UICardItem item, ENSortType sortType)
 {
     OperateCardList.Singleton.LevelUpItemOperation(item.m_param.m_guid);
 }
Пример #12
0
    //  点击响应
    public void OnClickTeamItem(UICardItem item, ENSortType sortType)
    {
        int    leadship = 0;
        CSItem card     = null;

        // 编辑全队
        if (Team.Singleton.m_curEditType == Team.EDITTYPE.enALL)
        {
            // 要判断领导力
            // 不在编队中
            if (item.m_param.m_id == (int)Team.EDITTYPE.enNone)
            {
                // 点选角色
                card = CardBag.Singleton.GetCardByGuid(item.m_param.m_guid);

                if (null != card)
                {
                    leadship = Team.Singleton.GetAllCost() + GameTable.HeroInfoTableAsset.Lookup(card.IDInTable).Cost;
                }
                // 如果领导力不够 则返回
                if (leadship > User.Singleton.GetLeadership())
                {
                    return;
                }

                Team.EDITTYPE type = Team.EDITTYPE.enNone;

                if (Team.Singleton.m_bagMainSlotId.Equals(CSItemGuid.Zero))
                {
                    Team.Singleton.m_bagMainSlotId = item.m_param.m_guid;
                    type = Team.EDITTYPE.enMain;
                }

                else if (Team.Singleton.m_bagDeputySlotId == CSItemGuid.Zero)
                {
                    Team.Singleton.m_bagDeputySlotId = item.m_param.m_guid;
                    type = Team.EDITTYPE.enDeputy;
                }

                else if (Team.Singleton.m_bagSupportSlotId == CSItemGuid.Zero)
                {
                    Team.Singleton.m_bagSupportSlotId = item.m_param.m_guid;
                    type = Team.EDITTYPE.enSupport;
                }

                item.m_param.m_id = (int)type;

                item.UpdateOperateTeam(card, sortType, type, item.m_index);
            }
            // 在编队中
            else
            {
                if (item.m_param.m_id == (int)Team.EDITTYPE.enMain)
                {
                    Team.Singleton.m_bagMainSlotId = CSItemGuid.Zero;
                    item.m_param.m_id = (int)Team.EDITTYPE.enNone;
                }
                else if (item.m_param.m_id == (int)Team.EDITTYPE.enDeputy)
                {
                    Team.Singleton.m_bagDeputySlotId = CSItemGuid.Zero;
                    item.m_param.m_id = (int)Team.EDITTYPE.enNone;
                }
                else if (item.m_param.m_id == (int)Team.EDITTYPE.enSupport)
                {
                    Team.Singleton.m_bagSupportSlotId = CSItemGuid.Zero;
                    item.m_param.m_id = (int)Team.EDITTYPE.enNone;
                }

                item.UpdateOperateTeam(card, sortType, Team.EDITTYPE.enNone, item.m_index);
            }
        }
        // 编辑单个队伍
        else
        {
            // 如果是移除标志位 则移除当前 队伍成员
            if (item.m_param.m_id == -1)
            {
                Team.Singleton.RemoveTeamMember(Team.Singleton.m_curTeamIndex, Team.Singleton.m_curEditType);
                Team.Singleton.UpdateTeamBagAllSlotId();
                return;
            }

            // 如果是当前队伍中的队伍成员 则返回
            if (Team.Singleton.IsCardInTheTeam(Team.Singleton.m_curTeamIndex, item.m_param.m_guid))
            {
                return;
            }

            card = CardBag.Singleton.GetCardByGuid(item.m_param.m_guid);
            HeroInfo heroInfo = GameTable.HeroInfoTableAsset.Lookup(card.IDInTable);

            if (null == heroInfo)
            {
                Debug.LogWarning("null == heroInfo card.IDInTable:" + card.IDInTable);
                return;
            }


            // 将要被替换角色的领导力
            CSItem replaceCard = Team.Singleton.GetCard(Team.Singleton.m_curTeamIndex, Team.Singleton.m_curEditType);
            int    replaceCost = 0;
            if (null != replaceCard)
            {
                replaceCost = GameTable.HeroInfoTableAsset.Lookup(replaceCard.IDInTable).Cost;
            }
            // 要判断领导力

            // 如果领导力不够 则返回
            if (OperateCardList.Singleton.m_leadShipCost - replaceCost + heroInfo.Cost > User.Singleton.GetLeadership())
            {
                return;
            }

            // 添加
            if (item.m_param.m_id != -1)
            {
                Team.Singleton.AddTeamMember(Team.Singleton.m_curTeamIndex, Team.Singleton.m_curEditType, item.m_param.m_guid);
            }

            Team.Singleton.UpdateTeamBagAllSlotId();
        }
    }
 //  点击响应
 public void OnClickItem(UICardItem item, ENSortType sortType)
 {
     ShowRepresentativeCardInfo(item.m_param.m_guid);
     m_nowSelectCRGuid = item.m_param.m_guid;
 }