コード例 #1
0
 public GuideBtnParam(int btnId, GameObject guideBtn, bool isCollider, UIType uiType, BtnMapId_Sub subUIType)
 {
     this.IsCollider       = isCollider;
     BtnCollider           = guideBtn.GetComponent <BoxCollider>();
     this.UIType           = uiType;
     this.SubUIType        = subUIType;
     this.GuideBtn         = guideBtn;
     BtnBehaviour          = GuideBtn.GetComponent <GuideBtnBehaviour>();
     m_cacheColliderEnable = BtnCollider == null?false: BtnCollider.enabled;
 }
コード例 #2
0
 /// <summary>
 /// 给背包右边的按钮加引导
 /// </summary>
 /// <param name="packBtnType"></param>
 /// <param name="uiType"></param>
 /// <param name="btnMapId_Sub"></param>
 public void RegisterGuideBtn(PackBtnType packBtnType, UIType uiType, BtnMapId_Sub btnMapId_Sub)
 {
     #region `    引导注入代码
     var btnBehaviour = GetBtn(packBtnType);
     if (btnBehaviour != null)
     {
         btnBehaviour.gameObject.RegisterBtnMappingId(uiType, btnMapId_Sub);
     }
     #endregion
 }
コード例 #3
0
    /// <summary>
    /// 获得所有BtnId的对应,用于给策划填表
    /// </summary>
    /// <returns></returns>
    public string GetBtnId()
    {
        StringBuilder btnIdStringBuilder = new StringBuilder();
        var           uiTypeNames        = Enum.GetNames(typeof(UIType));

        byte[] uiTypeValues      = (byte[])Enum.GetValues(typeof(UIType));
        var    btnMapId_SubNames = Enum.GetNames(typeof(BtnMapId_Sub));

        int[] btnMapId_SubValues = (int[])Enum.GetValues(typeof(BtnMapId_Sub));
        int   btnMapIdLength     = btnMapId_SubNames.Length;
        int   uiTypeLength       = uiTypeNames.Length;

        string uiTypeName = string.Empty, subTypeName = string.Empty, uiTypeDesc = string.Empty, subTypeDesc = string.Empty;
        int    btnId = 0, subTypeEnumValue = 0;

        for (int j = 0; j < uiTypeLength; j++)
        {
            uiTypeName = uiTypeNames[j];
            UIType uiTypeVal = (UIType)uiTypeValues[j];
            uiTypeDesc  = uiTypeVal.ToDescription <UIType>();
            btnId       = CalcBtnId((UIType)uiTypeValues[j], BtnMapId_Sub.Empty, true);
            subTypeDesc = BtnMapId_Sub.Empty.ToDescription <BtnMapId_Sub>();

            btnIdStringBuilder.AppendFormat("{0},{1},{2},{3},{4},{5} \n", uiTypeDesc, uiTypeName, subTypeDesc, "", btnId, subTypeEnumValue);
        }

        for (int i = 0; i < btnMapIdLength; i++)
        {
            subTypeName = btnMapId_SubNames[i];
            string[] nameArray = subTypeName.Split('_');
            for (int j = 0; j < uiTypeLength; j++)
            {
                if (uiTypeNames[j] == nameArray[0])
                {
                    uiTypeName = uiTypeNames[j];
                    UIType uiTypeVal = (UIType)uiTypeValues[j];
                    uiTypeDesc = uiTypeVal.ToDescription <UIType>();
                    BtnMapId_Sub btnMapId_Sub = (BtnMapId_Sub)btnMapId_SubValues[i];
                    subTypeEnumValue = btnMapId_SubValues[i];
                    subTypeDesc      = btnMapId_Sub.ToDescription <BtnMapId_Sub>();
                    btnId            = CalcBtnId(uiTypeVal, btnMapId_Sub, true);
                    break;
                }
            }
            btnIdStringBuilder.AppendFormat("{0},{1},{2},{3},{4},{5} \n", uiTypeDesc, uiTypeName, subTypeDesc, subTypeName, btnId, subTypeEnumValue);

            /*if (subTypeEnumValue == 904)  //  技能装配项 另外三个位置
             * {
             *  btnIdStringBuilder.AppendFormat("{0},{1},{2},{3},{4},{5} \n", uiTypeDesc, uiTypeName, subTypeDesc, subTypeName, btnId + 1, subTypeEnumValue);
             *  btnIdStringBuilder.AppendFormat("{0},{1},{2},{3},{4},{5} \n", uiTypeDesc, uiTypeName, subTypeDesc, subTypeName, btnId + 2, subTypeEnumValue);
             *  btnIdStringBuilder.AppendFormat("{0},{1},{2},{3},{4},{5} \n", uiTypeDesc, uiTypeName, subTypeDesc, subTypeName, btnId + 3, subTypeEnumValue);
             * }*/
        }
        return(btnIdStringBuilder.ToString());
    }
コード例 #4
0
        public virtual IEnumerator RefreshList(JewelState tab, BtnMapId_Sub btnMapId_Sub)
        {
            ItemTable.transform.ClearChild();
            ItemList.Clear();
            InitItemFileinfoList(tab);
            int columnAmount = Mathf.CeilToInt(ItemFileinfoList.Count / 3.0f);
            int j            = 0;

            if (ItemFileinfoList.Count > 0)
            {
                m_shouldMove = ItemFileinfoList.Count > 9;
                for (int i = 0; i < ItemFileinfoList.Count(); i++)
                {
                    if (i % 3 == 0) //3项一排
                    {
                        j++;
                    }
                    Item_go      = NGUITools.AddChild(ItemTable.gameObject, JewelBeset_ContainerItemProfab);
                    Item_go.name = JewelBeset_ContainerItemProfab.name + i;
                    JewelBset_ContainerItem Sc_item = Item_go.GetComponent <JewelBset_ContainerItem>();
                    Sc_item.DragAmount = j / columnAmount;
                    Sc_item.InitItemData(ItemFileinfoList[i]);
                    Sc_item.OnItemClick = ItemSelectedEventHandle;
                    ItemList.Add(Sc_item);
                }
                if (ItemList.Count > 0)
                {
                    ItemList[0].OnBeSelected();
                }
                yield return(null);

                ItemTable.Reposition();
                yield return(null);

                //引导
                if (ItemList != null)
                {
                    ItemList.ApplyAllItem(P =>
                    {
                        if (P != null)
                        {
                            //P.gameObject.RegisterBtnMappingId(P.ItemFielInfo.LocalItemData._goodID, MainUI.UIType.Gem, BtnMapId_Sub.Gem_JewelContainerListPanel_Item, NoticeToDragSlerp, P.DragAmount);
                            P.gameObject.RegisterBtnMappingId(MainUI.UIType.Gem, BtnMapId_Sub.Gem_JewelBesetPanel_Weapon + P.ItemFielInfo.LocalItemData._GoodsSubClass - 1,
                                                              NoticeToDragSlerp, P.DragAmount);
                        }
                    });
                }
                if (m_noticeToDragAmount != 0)
                {
                    StartCoroutine(DragAmountSlerp(m_noticeToDragAmount));
                    m_noticeToDragAmount = 0;
                }
            }
        }
コード例 #5
0
 public void RegisterBtnMappingId(int mappingId, UIType mainUiType, BtnMapId_Sub subBtnIdType
                                  , Action <float> noticeToDragSlerp, float itemAmount)
 {
     TaskBtnManager.Instance.DelGuideButton(BtnId);
     MainUiType          = mainUiType;
     SubBtnIdType        = subBtnIdType;
     MappingId           = mappingId;
     BtnId               = TaskBtnManager.Instance.RegGuideButton(gameObject, mainUiType, subBtnIdType);
     m_noticeToDragSlerp = noticeToDragSlerp;
     m_itemAmount        = itemAmount;
     SetBtnColliderState();
 }
コード例 #6
0
 //public static void RegisterBtnMappingId(this GameObject btnObj, UIType mainType, BtnMapId_Sub subType)
 //{
 //    RegisterBtnMappingId(btnObj,mainType,subType,true);
 //}
 public static void RegisterBtnMappingId(this GameObject btnObj, UIType mainType, BtnMapId_Sub subType)
 {
     if (btnObj != null)
     {
         var guideBtnBehaviour = btnObj.GetComponent <GuideBtnBehaviour>();
         if (guideBtnBehaviour == null)
         {
             guideBtnBehaviour = btnObj.AddComponent <GuideBtnBehaviour>();
         }
         guideBtnBehaviour.RegisterBtnMappingId(mainType, subType);
     }
 }
コード例 #7
0
    private int CalcBtnId(UIType btnMapId_Main, BtnMapId_Sub btnMapId_Sub, bool autoSequence)
    {
        int btnID = (byte)btnMapId_Main * 1000000 + (int)btnMapId_Sub * 100;

        if (autoSequence)
        {
            while (m_guideBtnParam.ContainsKey(btnID))
            {
                btnID++;
            }
        }
        return(btnID);
    }
コード例 #8
0
 //public static void RegisterBtnMappingId(this GameObject btnObj, int mappingId, UIType mainUiType
 //    , BtnMapId_Sub subBtnIdType, Func<UIDraggablePanel, float, IEnumerator> dragAmountSlerpAct, UIDraggablePanel panel, float itemAmount)
 //{
 //    RegisterBtnMappingId(btnObj, mappingId, mainUiType, subBtnIdType, dragAmountSlerpAct, panel, itemAmount, true);
 //}
 public static void RegisterBtnMappingId(this GameObject btnObj, int mappingId, UIType mainUiType
                                         , BtnMapId_Sub subBtnIdType, Action <float> noticeToDragSlerp, float itemAmount)
 {
     if (btnObj != null)
     {
         var guideBtnBehaviour = btnObj.GetComponent <GuideBtnBehaviour>();
         if (guideBtnBehaviour == null)
         {
             guideBtnBehaviour = btnObj.AddComponent <GuideBtnBehaviour>();
         }
         guideBtnBehaviour.RegisterBtnMappingId(mappingId, mainUiType, subBtnIdType
                                                , noticeToDragSlerp, itemAmount);
     }
 }
コード例 #9
0
    public int RegGuideButton(GameObject btnGO, UIType uiType, BtnMapId_Sub subUIType, Action <bool> customerActHandler)
    {
        int btnID = CalcBtnId(uiType, subUIType);

        if (btnID != 0)
        {
            if (!m_guideBtnParam.ContainsKey(btnID))
            {
                m_guideBtnParam.Add(btnID, new GuideBtnParam(btnID, btnGO, btnGO.collider.enabled, uiType, subUIType));

                if (!this.m_isEndGuide)
                {
                    SetGuideBtnStatus(m_guideBtnParam[btnID], false, false);
                }
            }
        }

        return(btnID);
    }
コード例 #10
0
 /// <summary>
 /// 按钮注册,为按钮添加GuideButtonEvent组件
 /// </summary>
 /// <param name="btnGO"></param>
 /// <param name="uiType"></param>
 /// <param name="subUIType"></param>
 /// <returns></returns>
 public int RegGuideButton(GameObject btnGO, UIType uiType, BtnMapId_Sub subUIType)
 {
     return(RegGuideButton(btnGO, uiType, subUIType, null));
 }
コード例 #11
0
    private int CalcBtnId(UIType btnMapId_Main, BtnMapId_Sub btnMapId_Sub)
    {
        int btnID = CalcBtnId(btnMapId_Main, btnMapId_Sub, true);

        return(btnID);
    }
コード例 #12
0
 public void RegisterBtnMappingId(int mappingId, UIType mainUiType, BtnMapId_Sub subBtnIdType)
 {
     RegisterBtnMappingId(mappingId, mainUiType, subBtnIdType, null, 0);
 }
コード例 #13
0
    public void Init(int?selectedEctype)
    {
        m_selectedDefenceItem = null;
        m_posAnim.Reset();
        m_posAnim.Play(true);
        EnableItemPoints.ApplyAllItem(P => P.transform.ClearChildImmediate());
        DisableItemPoints.ApplyAllItem(P => P.transform.ClearChildImmediate());

        var heroPlayerDataModel = PlayerManager.Instance.FindHeroDataModel();
        //副本类型为8  指防守副本
        var defenceEctypes = EctypeConfigManager.Instance.EctypeContainerConfigFile.ectypeContainerDataList.Where(P => P.lEctypeType == 8);
        var playerLev      = heroPlayerDataModel.GetUnitValue().sMsgPropCreateEntity_SC_UnitVisibleValue.UNIT_FIELD_LEVEL;
        //获得能挑战的防守副本
        var sortedList = defenceEctypes.ToList();

        sortedList.Sort((x, y) => {
            if (x.lMinActorLevel == y.lMinActorLevel)
            {
                return(0);
            }
            else if (x.lMinActorLevel < y.lMinActorLevel)
            {
                return(1);
            }
            else
            {
                return(-1);
            }
            //return x.lMinActorLevel<y.lMinActorLevel?1:-1;
        });
//		for(int i=0;i<sortedList.Count;i++)
//		{
//			Debug.Log(sortedList[i].lMinActorLevel);
//		}
        EctypeContainerData[] canChallengeEctypes = new EctypeContainerData[3];

        //EctypeConfigManager.Instance.EctypeSelectConfigList.Values.ApplyAllItem(P=>P.DefenceChallengeRemainNum=2);

        canChallengeEctypes[0] = sortedList.FirstOrDefault(P => P.lMinActorLevel <= playerLev && P.lEctypePos[2] == "1");
        canChallengeEctypes[1] = sortedList.FirstOrDefault(P => P.lMinActorLevel <= playerLev && P.lEctypePos[2] == "2");
        canChallengeEctypes[2] = sortedList.FirstOrDefault(P => P.lMinActorLevel <= playerLev && P.lEctypePos[2] == "3");

        for (int i = 0; i < 3; i++)
        {
            if (canChallengeEctypes[i] == null)
            {
                continue;
            }
            var enableItem    = NGUITools.AddChild(EnableItemPoints[i], DefenceEctypeEnableItemPrefab);
            var itemBehaviour = enableItem.GetComponent <DefenceEctypeEnableItemBehaviour>();
            itemBehaviour.Init(canChallengeEctypes[i]);

            #region 引导代码
            BtnMapId_Sub defence_Stage = BtnMapId_Sub.Defence_Stage1;
            int          remainNum     = 0;
            switch (i)
            {
            case 0:
                defence_Stage = BtnMapId_Sub.Defence_Stage1;
                remainNum     = heroPlayerDataModel.PlayerValues.PLAYER_FIELD_EXPDEFIEND_VALUE;
                break;

            case 1:
                defence_Stage = BtnMapId_Sub.Defence_Stage2;
                remainNum     = heroPlayerDataModel.PlayerValues.PLAYER_FIELD_COINDEFINED_VALUE;
                break;

            case 2:
                defence_Stage = BtnMapId_Sub.Defence_Stage3;
                remainNum     = heroPlayerDataModel.PlayerValues.PLAYER_FIELD_GOLDDEFINED_VALUE;
                break;
            }
            itemBehaviour.CallBackBtn.gameObject.RegisterBtnMappingId(UIType.Defence, defence_Stage);
            #endregion


            //var selectEct=EctypeConfigManager.Instance.EctypeSelectConfigList.Values.SingleOrDefault(P=>P._vectContainer.Contains(canChallengeEctypes[i].lEctypeContainerID));
            if (m_selectedDefenceItem == null && remainNum > 0)
            {
                itemBehaviour.SetFocus(true);
                m_selectedDefenceItem = itemBehaviour;
            }
            else
            {
                itemBehaviour.SetFocus(false);
            }
            m_enableItems[i] = itemBehaviour;
            //监听点击事件处理
            itemBehaviour.CallBackAct = DefenceItemClick;
        }
        if (selectedEctype != null)
        {
            for (int m = 0; m < m_enableItems.Length; m++)
            {
                if (m_enableItems[m] != null && m_enableItems[m].EctypeContainerData.lEctypeContainerID == selectedEctype.Value)
                {
                    if (m_selectedDefenceItem != null)
                    {
                        m_selectedDefenceItem.SetFocus(false);
                    }
                    m_selectedDefenceItem = m_enableItems[m];
                    m_selectedDefenceItem.SetFocus(true);
                    break;
                }
            }
        }
        //没有一个副本可以挑战,按钮不可用
        if (m_selectedDefenceItem == null)
        {
            ChallengeBtn.Enable = false;
            //置灰
            m_challengeBtnSpriteSwitch.ChangeSprite(3);
        }
        else
        {
            ChallengeBtn.Enable = true;
            m_challengeBtnSpriteSwitch.ChangeSprite(1);
        }


        //下一级挑战副本
        EctypeContainerData[] CntnChallengeEctypes = new EctypeContainerData[3];

        CntnChallengeEctypes[0] = sortedList.LastOrDefault(P => P.lMinActorLevel > playerLev && P.lEctypePos[2] == "1");
        CntnChallengeEctypes[1] = sortedList.LastOrDefault(P => P.lMinActorLevel > playerLev && P.lEctypePos[2] == "2");
        CntnChallengeEctypes[2] = sortedList.LastOrDefault(P => P.lMinActorLevel > playerLev && P.lEctypePos[2] == "3");

        for (int i = 0; i < 3; i++)
        {
            if (CntnChallengeEctypes[i] == null)
            {
                continue;
            }
            var enableItem    = NGUITools.AddChild(DisableItemPoints[i], DefenceEctypeDisableItemPrefab);
            var itemBehaviour = enableItem.GetComponent <defenceEctypedisableItemBehaviour>();
            itemBehaviour.Init(CntnChallengeEctypes[i]);
        }
    }
コード例 #14
0
    IEnumerator CreatListItem()
    {
        // grid.transform.ClearChild();
        //  ContainerList.Clear();
        Init();
        ContainerList.ApplyAllItem(c => c.gameObject.SetActive(false));

        for (int i = 0; i < ItemDatas.Count; i++)
        {
            if (ItemDatas[i].LocalItemData._GoodsSubClass == 2)
            {
                continue;
            }
            if (ItemPrefab == null)
            {
                Debug.LogError("ItemPrefab=null");
                // return ;
            }
            GameObject go;
            if (ContainerList.Count > i)
            {
                go = ContainerList[i].gameObject;
                go.SetActive(true);
                ContainerList[i].Init(ItemDatas[i]);
            }
            else
            {
                go      = UI.CreatObjectToNGUI.InstantiateObj(ItemPrefab, grid.transform) as GameObject;
                go.name = ItemPrefab.name + i;
                ContainerItem scContainerItem = go.GetComponent <ContainerItem>();
                scContainerItem.SetSelcetCallBack(OnSelect);
                ContainerList.Add(scContainerItem);
                scContainerItem.Init(ItemDatas[i]);
            }
            bool isBtnMapMark = true;

            if (isBtnMapMark)
            {
                int index = i;
                if (i == 0)
                {
                    index = -1;
                }
                float        dragAmount = (index + 1) / (float)ItemDatas.Count;
                BtnMapId_Sub subType    = BtnMapId_Sub.EquipmentUpgrade_Stren_Weapon;
                bool         isSpecial  = false;
                switch (EquipmentUpgradeDataManger.Instance.CurrentType)
                {
                case UpgradeType.Strength:
                    subType = BtnMapId_Sub.EquipmentUpgrade_Stren_Weapon;
                    break;

                case UpgradeType.StarUp:
                    subType = BtnMapId_Sub.EquipmentUpgrade_Star_Weapon;
                    break;

                case UpgradeType.Upgrade:
                {
                    isSpecial = true;
                    subType   = BtnMapId_Sub.EquipmentUpgrade_Upgrade_Item;
                }
                break;
                }
                if (isSpecial)
                {
                    go.RegisterBtnMappingId(ItemDatas[i].LocalItemData._goodID, UIType.EquipmentUpgrade, subType, NoticeToDragSlerp, dragAmount);
                }
                else
                {
                    subType = subType + ItemDatas[i].LocalItemData._GoodsSubClass - 1;
                    go.RegisterBtnMappingId(UIType.EquipmentUpgrade, subType, NoticeToDragSlerp, dragAmount);
                }
            }
        }
        yield return(null);

        grid.sorted = true;
        grid.Reposition();
        Panel.ResetPosition();
        if (m_noticeToDragAmount != 0)
        {
            Panel.transform.localPosition = new Vector3(Panel.transform.localPosition.x, startMarkDragpanelPosY, Panel.transform.localPosition.z);
            StartCoroutine(DragAmountSlerp(m_noticeToDragAmount));
            m_noticeToDragAmount = 0;
        }
    }