Exemplo n.º 1
0
    /// <summary>
    /// 生成全部类别UI以及类别下的具体材料UI.
    /// </summary>
    private void CreateAllCategory()
    {
        for (int i = 0; i < categoryNum; ++i)
        {
            // 生成类别UI.
            CategoryItemController cic = GameObject.Instantiate <GameObject>(
                m_BuildPanelView.Prefab_CategoryItem, m_BuildPanelView.WheelBG_Transform).
                                         GetComponent <CategoryItemController>();
            cic.InitCategoryItem(i, m_BuildPanelView.CategoryIconsList[i]);
            categoryItemList.Add(cic);

            // 对应类别下的材料UI.
            for (int j = 0; m_BuildPanelView.MaterialIconList[i] != null &&
                 j < m_BuildPanelView.MaterialIconList[i].Length; ++j)
            {
                GameObject materialItem = GameObject.Instantiate <GameObject>(
                    m_BuildPanelView.Prefab_MaterialItem, m_BuildPanelView.WheelBG_Transform);

                Quaternion rotation = Quaternion.Euler(new Vector3(0, 0, materialRoatationZ));
                materialItem.GetComponent <MaterialItemController>().InitMaterialItem(
                    m_BuildPanelView.MaterialIconList[i][j],
                    rotation, cic.GetComponent <Transform>());
                materialRoatationZ += 13.3f;

                cic.AddMaterial(materialItem);
                cic.NormalItem();
            }
        }

        currentItem = categoryItemList[0];
        m_BuildPanelView.M_CategoryNameText.text = categoryNames[0];
    }
Exemplo n.º 2
0
    /// <summary>
    /// 环形UI重置.
    /// </summary>
    public void ResetUI()
    {
        if (currentItem != null)
        {
            // 隐藏当前类别二级菜单.
            currentItem.NormalItem();

            // 重置, 显示默认空项目.
            currentItem = categoryItemList[0];
            currentItem.ActiveItem();
        }

        // 索引重置.
        categoryIndex     = 0;
        categoryScrollNum = 9000.0f;

        // 重置二级菜单项目.
        materialIndex     = 0;
        materialScrollNum = 3000.0f;
        if (currentMaterial != null)
        {
            currentMaterial.NormalItem();
        }
        currentMaterial = null;
    }
Exemplo n.º 3
0
    /// <summary>
    /// 鼠标滚轮操作切换建造类别.
    /// </summary>
    private void MouseScrollWheelCategory(float scrollValue)
    {
        // 滚轮切换建造类别.
        categoryScrollNum += scrollValue * 3;
        categoryIndex      = Mathf.Abs((int)categoryScrollNum % categoryNum);

        targetItem = categoryItemList[categoryIndex];
        if (currentItem != targetItem)
        {
            currentItem.NormalItem();
            targetItem.ActiveItem();
            m_BuildPanelView.M_CategoryNameText.text = categoryNames[categoryIndex];

            currentItem = targetItem;
        }
    }