コード例 #1
0
    public IEnumerator Init()
    {
        SingleSkillInfoList = new SingleSkillInfoList();
        if (m_createInstance)
        {
            m_createInstance    = false;
            m_skillListInstance = NGUITools.AddChild(gameObject, Prefab_SkillList);
            m_skillListInstance.transform.localPosition = Prefab_SkillList.transform.localPosition;
            SkillList = m_skillListInstance.GetComponent <SkillListBehaviour>();

            m_skillAssemblyInstance = NGUITools.AddChild(gameObject, Prefab_AssemblySkill);
            m_skillAssemblyInstance.transform.localPosition = Prefab_AssemblySkill.transform.localPosition;
            AssemblySkill = m_skillAssemblyInstance.GetComponent <AssemblySkillPanel>();

            m_viewSkillInstance = NGUITools.AddChild(gameObject, Prefab_ViewSkill);
            m_viewSkillInstance.transform.localPosition = Prefab_ViewSkill.transform.localPosition;
            ViewSkill = m_viewSkillInstance.GetComponent <ViewSkillPanel>();

            SkillList.OnItemClick = (skillItem) =>
            {
                //通知ViewSkillPanel更新
                //通知AssemblySkillPanel待装备处理
                ViewSkill.InitViewInfo(skillItem.ItemFielInfo);
                AssemblySkill.SkillInListBeSelected(skillItem);
            };
            AssemblySkill.EquipItemClickAct = (skillsItem, index) =>
            {
                if (SkillList.CurrentSelectedItem != null)               //技能列表栏有选中技能的处理
                {
                    if (SkillList.CurrentSelectedItem.ItemFielInfo != skillsItem.ItemFielInfo)
                    {
                        //提交装备请求
                        SetSkillEquipInfoToSever(skillsItem.ItemFielInfo, SkillList.CurrentSelectedItem.ItemFielInfo, index);
                    }
                    else
                    {
                        SkillList.CurrentSelectedItem = null;
                        SkillList.FocusSkillItem(skillsItem.ItemFielInfo);
                    }
                }
                else                   //技能列表栏没有选中技能的处理
                {
                    if (skillsItem.ItemFielInfo != null)
                    {
                        ViewSkill.InitViewInfo(skillsItem.ItemFielInfo);
                        SkillList.FocusSkillItem(skillsItem.ItemFielInfo);
                        AssemblySkill.SkillInListBeSelected(skillsItem);
                    }
                }
            };
            ViewSkill.SkillUpgradeAct = (skillInfo) =>
            {
                NetServiceManager.Instance.EntityService.SendSkillUpgrade((byte)skillInfo.localSkillData.m_skillId);
            };
        }
        yield return(null);

        AssemblySkill.Init(SingleSkillInfoList.EquipSkillsList);
        SkillList.Init(SingleSkillInfoList);
    }
コード例 #2
0
        //void OnGUI()
        //{
        //    if (GUILayout.Button("EnablePvp"))
        //    {
        //        ShowAtkInfo();
        //    }
        //}

        //int i = 1;
        ///// <summary>
        ///// 显示战力信息
        ///// </summary>


        void InitSkillData()
        {
            var playerLv = PlayerManager.Instance.FindHeroDataModel().UnitValues.sMsgPropCreateEntity_SC_UnitVisibleValue.UNIT_FIELD_LEVEL;

            if (playerLv <= CommonDefineManager.Instance.CommonDefine.SkillTipsStartLevel)  //当玩家等级小于指定等级,不弹出新技能面板
            {
                return;
            }

            m_playerSkillList = new SingleSkillInfoList();

            foreach (SingleSkillInfo item in m_playerSkillList.singleSkillInfoList)
            {
                if (!item.Lock)
                {
                    m_curUnlockList.Add(item);
                }
            }

            foreach (SingleSkillInfo item in m_playerSkillList.EquipSkillsList)
            {
                if (item != null)
                {
                    m_curEquipList.Add(item);
                }
            }

            NewSkillTipsCheck();
        }
コード例 #3
0
    private void ResetSkillPanel()
    {
        if (m_upgradePanel != null)
        {
            m_upgradePanel.ResetUpgradePanel();
        }

        ShowAssemblySkillBtn(null);

        m_playerSkillList = new SingleSkillInfoList();
        ItemPagerManager.InitPager(m_playerSkillList.singleSkillInfoList.Count);
    }
コード例 #4
0
    /// <summary>
    /// 1、记下选择装备
    /// 2、从背包数据中取出装备数据,进行排序
    /// 3、遍历装备数据集,实例化SingleEquipDragPanel预设件,把装备数据传入预设件实例处理
    /// 4、选中之前记下的装备项
    /// </summary>
    public void InitSkillList()
    {
        m_playerSkillList = new SingleSkillInfoList();
        //m_assemblyPanel.GetComponent<AssemblySkillPanel>().InitSkillEquip(m_playerSkillList.EquipSkillsList);

        //foreach (var item in m_playerSkillList.singleSkillInfoList)
        //{
        //    m_playSkillGo.AddSkillBase(item.localSkillData.m_skillId);
        //}

        ItemPagerManager.InitPager(m_playerSkillList.singleSkillInfoList.Count);
    }
コード例 #5
0
 public void Init(SingleSkillInfoList singleSkillInfoList)
 {
     StartCoroutine(RefreshItem(singleSkillInfoList));
 }
コード例 #6
0
    private IEnumerator RefreshItem(SingleSkillInfoList singleSkillInfoList)
    {
        m_singleSkillInfoList = singleSkillInfoList;
        Layout.transform.ClearChild();
        var           playerSkillList = m_singleSkillInfoList.singleSkillInfoList;// .CanUpdateSkillInfos;
        List <UIGrid> dragUnitGrid    = new List <UIGrid>();
        GameObject    dragUnit        = null;
        GameObject    skillItem;
        UIGrid        dragUnitLayout = null;

        m_skillsItems.Clear();
        int columnAmount = Mathf.CeilToInt(playerSkillList.Count / 3.0f);

        m_shouldMove = playerSkillList.Count > 9;
        int j = 0;

        for (int i = 0; i < playerSkillList.Count; i++)
        {
            if (i % 3 == 0)  //3项一排
            {
                dragUnit       = NGUITools.AddChild(Layout.gameObject, Prefab_SkillDragUnit);
                dragUnitLayout = dragUnit.GetComponentInChildren <UIGrid>();
                dragUnitGrid.Add(dragUnitLayout);
                j++;
            }
            skillItem = NGUITools.AddChild(dragUnitLayout.gameObject, Prefab_SkillItem);
            var item = skillItem.GetComponent <SkillsItem>();
            item.DragAmount = j / columnAmount;
            //监听Item事件
            item.OnItemClick = ItemSelectedEventHandle;
            item.InitItemData(playerSkillList[i]);

            m_skillsItems.Add(item);
            //默认项选择
            if (CurrentSelectedItem == null)
            {
                if (i == 0)
                {
                    item.OnBeSelected();
                }
            }
            else if (CurrentSelectedItem.ItemFielInfo == playerSkillList[i])
            {
                item.OnBeSelected();
            }
        }
        yield return(null);

        //UIGRID里面的Item重排
        dragUnitGrid.ApplyAllItem(P => P.Reposition());
        Layout.Reposition();
        #region `    引导注入代码
        m_skillsItems.ApplyAllItem(P =>
        {
            if (P.ItemFielInfo.localSkillData.m_skillId == 3)
            {
                TraceUtil.Log(SystemModel.Rocky, "开始实例化技能3");
            }
            //P.gameObject.RegisterBtnMappingId(P.ItemFielInfo.localSkillData.m_skillId, UIType.Skill, BtnMapId_Sub.Skill_ListItem
            //    , NoticeToDragSlerp, P.DragAmount);
        });
        #endregion

        yield return(null);

        if (m_noticeToDragAmount != 0)
        {
            StartCoroutine(DragAmountSlerp(m_noticeToDragAmount));
            m_noticeToDragAmount = 0;
        }
        else
        {
            if (HasGuideArrow)
            {
                m_dragPanelComp.LockDraggable = true;
            }
            else
            {
                m_dragPanelComp.LockDraggable = false;
            }
        }
    }