Ejemplo n.º 1
0
 private void OnEnable()
 {
     UIManager.Instance.KeyUpHandle    += Instance_KeyUpHandle;
     UIManager.Instance.KeyPressHandle += Instance_KeyPressHandle;
     GameState.Instance.Registor <IPlayerState>(IPlayerStateChanged);
     iPlayerStateRun = GameState.Instance.GetEntity <IPlayerState>();
     playerState     = DataCenter.Instance.GetEntity <PlayerState>();
     //读取数据并初始化控件
     //给List控件重新填充数据
     uiDepostiList.Init();
     PlayGoods[] playGoodsArray = playerState.PlayerAllGoods.Where(temp => temp.GoodsLocation == GoodsLocation.Package).ToArray();//玩家所有包括中的物品
     foreach (PlayGoods playGoods in playGoodsArray)
     {
         UIListItem uiListItem = uiDepostiList.NewItem();
         uiListItem.childText.text = playGoods.GoodsInfo.GoodsName + "   X" + playGoods.Count;
         uiListItem.value          = playGoods;
     }
     uiDepostiList.UpdateUI();
     focusUIListItem = uiDepostiList.GetAllImtes().FirstOrDefault();
     if (focusUIListItem)
     {
         if (focusUIListItem.childImage)
         {
             focusUIListItem.childImage.enabled = true;
         }
     }
 }
Ejemplo n.º 2
0
    /// <summary>
    /// 修改物品的显示(一般用于药品的数量变化)
    /// </summary>
    /// <param name="playGoods"></param>
    protected virtual void ChangeItemsShow(PlayGoods playGoods)
    {
        UIListItem[] uiListItems    = ItemUIList.GetAllImtes();
        UIListItem   thisUIListItem = uiListItems.FirstOrDefault(temp =>
        {
            PlayGoods thisPlayGoods = temp.value as PlayGoods;
            if (thisPlayGoods != null && thisPlayGoods == playGoods)
            {
                return(true);
            }
            return(false);
        });

        if (thisUIListItem != null)
        {
            thisUIListItem.childText.text = playGoods.GoodsInfo.GoodsName + "    X" + playGoods.Count;
        }
    }
 private void OnDisable()
 {
     UIManager.Instance.KeyUpHandle -= Instance_KeyUpHandle;
     if (nowUISkilCombineLattice)
     {
         nowUISkilCombineLattice.LostForcus();
     }
     //保存数据
     UIListItem[] allUIListItems = uiCombineSkillList.GetAllImtes();
     playerState.CombineSkills.Clear();
     foreach (UIListItem uiListItem in allUIListItems)
     {
         if (uiListItem != null && uiListItem.value != null && uiListItem.value.GetType().Equals(typeof(EnumSkillType[])))
         {
             EnumSkillType[] enumSkillTypes = uiListItem.value as EnumSkillType[];
             if (enumSkillTypes.Count(temp => temp == EnumSkillType.None) != 4)
             {
                 playerState.CombineSkills.Add(enumSkillTypes);
             }
         }
     }
 }
Ejemplo n.º 4
0
    /// <summary>
    /// 按键检测
    /// </summary>
    /// <param name="keyType"></param>
    /// <param name="rockValue"></param>
    private void Instance_KeyUpHandle(UIManager.KeyType keyType, Vector2 rockValue)
    {
        Action <int> MoveListAction = (addOffset) =>
        {
            UIListItem[] tempArrays = uiTaskList.GetAllImtes();
            if (tempArrays.Length == 0)
            {
                return;
            }
            int index = 0;
            if (nowTaskItem)
            {
                index = tempArrays.ToList().IndexOf(nowTaskItem);
            }
            if (index < 0)
            {
                index = 0;
            }
            index += addOffset;
            index  = Mathf.Clamp(index, 0, tempArrays.Length - 1);
            if (index < tempArrays.Length)
            {
                uiTaskList.ShowItem(tempArrays[index]);
                if (nowTaskItem && nowTaskItem.childImage)
                {
                    nowTaskItem.childImage.enabled = false;
                }
                nowTaskItem = tempArrays[index];
                if (nowTaskItem && nowTaskItem.childImage)
                {
                    nowTaskItem.childImage.enabled = true;
                }
                ExplanNowItem();
            }
        };

        switch (keyType)
        {
        case UIManager.KeyType.Y:    //任务追踪
            MarkTaskToMap();
            break;

        case UIManager.KeyType.UP:
            MoveListAction(-1);
            break;

        case UIManager.KeyType.DOWN:
            MoveListAction(1);
            break;
        }
    }
    /// <summary>
    /// 按键检测
    /// </summary>
    /// <param name="keyType"></param>
    /// <param name="rockValue"></param>
    private void Instance_KeyUpHandle(UIManager.KeyType keyType, Vector2 rockValue)
    {
        switch (enumUISkillCombine)
        {
        case EnumUISkillCombine.CombineSkillItem:    //处于左侧状态
            switch (keyType)
            {
            case UIManager.KeyType.A:
                if (nowCombineSkillItem)
                {
                    //设置技能框的边框显示
                    nowUISkilCombineLattice = uiFocusPath.GetFirstFocus <UIFocusSkillCombineLattice>();
                    if (nowUISkilCombineLattice)
                    {
                        nowUISkilCombineLattice.SetForcus();
                    }
                    //同时将模式更改为CombineSkillLattice
                    enumUISkillCombine = EnumUISkillCombine.CombineSkillLattice;
                    uiCombineSkillList.CanClickListItem = false;
                }
                break;

            case UIManager.KeyType.UP:
            case UIManager.KeyType.DOWN:
            {
                UIListItem[] tempArrays = uiCombineSkillList.GetAllImtes();
                int          index      = 0;
                if (nowCombineSkillItem)
                {
                    index = tempArrays.ToList().IndexOf(nowCombineSkillItem);
                }
                if (index < 0)
                {
                    index = 0;
                }
                switch (keyType)
                {
                case UIManager.KeyType.UP: index--; break;

                case UIManager.KeyType.DOWN: index++; break;
                }
                index = Mathf.Clamp(index, 0, tempArrays.Length - 1);
                if (index < tempArrays.Length)
                {
                    uiCombineSkillList.ShowItem(tempArrays[index]);
                    if (nowCombineSkillItem && nowCombineSkillItem.childImage)
                    {
                        nowCombineSkillItem.childImage.enabled = false;
                        nowCombineSkillItem.childImage.gameObject.SetActive(false);
                    }
                    nowCombineSkillItem = tempArrays[index];
                    if (nowCombineSkillItem && nowCombineSkillItem.childImage)
                    {
                        nowCombineSkillItem.childImage.enabled = true;
                        nowCombineSkillItem.childImage.gameObject.SetActive(true);
                    }
                    if (nowCombineSkillItem)
                    {
                        SetSkillCombineLatticeAndShowVadio((EnumSkillType[])nowCombineSkillItem.value);
                    }
                }
            }
            break;
            }
            break;

        case EnumUISkillCombine.CombineSkillLattice:    //处于右侧状态
            switch (keyType)
            {
            case UIManager.KeyType.A:
                SetSelectSkill();
                break;

            case UIManager.KeyType.B:
                if (nowUISkilCombineLattice)
                {
                    nowUISkilCombineLattice.LostForcus();
                }
                enumUISkillCombine = EnumUISkillCombine.CombineSkillItem;        //切换模式到组合技能集合
                uiCombineSkillList.CanClickListItem = true;
                break;

            case UIManager.KeyType.LEFT:
            case UIManager.KeyType.RIGHT:
                if (nowUISkilCombineLattice)
                {
                    UIFocusSkillCombineLattice tempUIFocuesSkillCombineLattice =
                        uiFocusPath.GetNewNextFocus(nowUISkilCombineLattice, keyType == UIManager.KeyType.LEFT ? UIFocusPath.MoveType.LEFT : UIFocusPath.MoveType.RIGHT) as UIFocusSkillCombineLattice;
                    //uiFocusPath.GetNextFocus(nowUISkilCombineLattice, keyType == UIManager.KeyType.LEFT ? UIFocusPath.MoveType.LEFT : UIFocusPath.MoveType.RIGHT) as UIFocusSkillCombineLattice;
                    if (tempUIFocuesSkillCombineLattice)
                    {
                        nowUISkilCombineLattice.LostForcus();
                        nowUISkilCombineLattice = tempUIFocuesSkillCombineLattice;
                        nowUISkilCombineLattice.SetForcus();
                    }
                }
                break;
            }
            break;

        case EnumUISkillCombine.CombineSkillSelect:    //处于选择技能状态
            switch (keyType)
            {
            case UIManager.KeyType.A:
                ResetCombineSkillLattice();
                break;

            case UIManager.KeyType.B:
                //切换状态
                uiSelectSkillList.gameObject.SetActive(false);
                enumUISkillCombine = EnumUISkillCombine.CombineSkillLattice;
                break;

            case UIManager.KeyType.UP:
            case UIManager.KeyType.DOWN:
            {
                UIListItem[] tempArrays = uiSelectSkillList.GetAllImtes();
                int          index      = 0;
                if (nowCombineSkillItem)
                {
                    index = tempArrays.ToList().IndexOf(nowSelectSkillItem);
                }
                if (index < 0)
                {
                    index = 0;
                }
                switch (keyType)
                {
                case UIManager.KeyType.UP: index--; break;

                case UIManager.KeyType.DOWN: index++; break;
                }
                index = Mathf.Clamp(index, 0, tempArrays.Length - 1);
                if (index < tempArrays.Length)
                {
                    uiSelectSkillList.ShowItem(tempArrays[index]);
                    if (uiSelectSkillList && nowSelectSkillItem.childImage)
                    {
                        nowSelectSkillItem.childImage.enabled = false;
                        nowSelectSkillItem.childImage.gameObject.SetActive(false);
                    }
                    nowSelectSkillItem = tempArrays[index];
                    if (uiSelectSkillList && nowSelectSkillItem.childImage)
                    {
                        nowSelectSkillItem.childImage.enabled = true;
                        nowSelectSkillItem.childImage.gameObject.SetActive(true);
                    }
                }
            }
            break;
            }
            break;
        }
    }
Ejemplo n.º 6
0
    /// <summary>
    /// 接收输入
    /// </summary>
    /// <param name="keyType"></param>
    /// <param name="rockValue"></param>
    private void Instance_KeyUpHandle(UIManager.KeyType keyType, Vector2 rockValue)
    {
        if (!nowKeySettingLattice && keySettingFocusPath)
        {
            nowKeySettingLattice = keySettingFocusPath.GetFirstFocus() as UIFocusKeySettingLattice;
        }
        switch (enumKeySettingType)
        {
        case EnumKeySettingType.Lattice:    //此时可以移动和确认
            Action <UIFocusPath.MoveType> MoveNExtEndAction = (moveType) =>
            {
                if (keySettingFocusPath)
                {
                    //UIFocusKeySettingLattice currentKeySettingLattice = keySettingFocusPath.GetNextFocus(nowKeySettingLattice, moveType) as UIFocusKeySettingLattice;
                    //UIFocusKeySettingLattice currentKeySettingLattice = keySettingFocusPath.GetNextFocus(nowKeySettingLattice, moveType, UIFocusPath.EnumFocusCheckModel.Vertical) as UIFocusKeySettingLattice;
                    UIFocusKeySettingLattice currentKeySettingLattice = keySettingFocusPath.GetNewNextFocus(nowKeySettingLattice, moveType) as UIFocusKeySettingLattice;
                    if (currentKeySettingLattice != null && !object.Equals(currentKeySettingLattice, nowKeySettingLattice))
                    {
                        nowKeySettingLattice.LostForcus();
                        nowKeySettingLattice = currentKeySettingLattice;
                        nowKeySettingLattice.SetForcus();
                    }
                }
            };
            switch (keyType)
            {
            case UIManager.KeyType.A:        //进入选择
                //显示集合
                ShowUIList();
                break;

            case UIManager.KeyType.LEFT:
                MoveNExtEndAction(UIFocusPath.MoveType.LEFT);
                break;

            case UIManager.KeyType.RIGHT:
                MoveNExtEndAction(UIFocusPath.MoveType.RIGHT);
                break;

            case UIManager.KeyType.UP:
                MoveNExtEndAction(UIFocusPath.MoveType.UP);
                break;

            case UIManager.KeyType.DOWN:
                MoveNExtEndAction(UIFocusPath.MoveType.DOWN);
                break;
            }
            break;

        case EnumKeySettingType.Select:    //此时可以选择技能
            Action <int> MoveListSelect = (addOffset) =>
            {
                UIListItem[] tempArrays = uiKeySettingList.GetAllImtes();
                int          index      = 0;
                if (nowKeySettingListItem)
                {
                    index = tempArrays.ToList().IndexOf(nowKeySettingListItem);
                }
                if (index < 0)
                {
                    index = 0;
                }
                index += addOffset;
                index  = Mathf.Clamp(index, 0, tempArrays.Length - 1);
                if (index < tempArrays.Length && tempArrays.Length > 0)
                {
                    uiKeySettingList.ShowItem(tempArrays[index]);
                    if (nowKeySettingListItem && nowKeySettingListItem.childImage)
                    {
                        nowKeySettingListItem.childImage.enabled = false;
                    }
                    nowKeySettingListItem = tempArrays[index];
                    if (nowKeySettingListItem && nowKeySettingListItem.childImage)
                    {
                        nowKeySettingListItem.childImage.enabled = true;
                    }
                }
            };
            switch (keyType)
            {
            case UIManager.KeyType.A:        //确认选择
                SelectAction();
                break;

            case UIManager.KeyType.UP:
                MoveListSelect(-1);
                break;

            case UIManager.KeyType.DOWN:
                MoveListSelect(1);
                break;
            }
            break;
        }
    }