コード例 #1
0
    /// <summary>
    /// 初始化函数,加载文件路径
    /// </summary>
    public void Init()
    {
        PlayerStatusManager.Instance.LvUP += StartUpdateUI;
        List <BaseSkill> SkillInfoList = new List <BaseSkill>();

        SkillItemList = new List <SkillListItem>();
        string sql = "select * from skill_information";

        DataTable dt = MysqlHelper.ExecuteTable(sql, CommandType.Text, null);

        foreach (DataRow item in dt.Rows)
        {
            Type     type       = Type.GetType(item["skill_type"].ToString());
            object[] parameters = new object[1];
            parameters[0] = item;
            object    obj = Activator.CreateInstance(type, parameters);
            BaseSkill bs  = obj as BaseSkill;
            SkillInfoList.Add(bs);
        }
        for (int i = 0; i < SkillInfoList.Count; i++)
        {
            if (SkillInfoList[i].PlayerType == PlayerStatusManager.Instance.playerInfo.PlayerType)
            {
                SkillListItem si = (SkillListItem)UIPackage.CreateObject("SkillMenu", "SkillListItem");
                si.SkillInfo = SkillInfoList[i];
                si.SetValues();
                SkillItemList.Add(si);
            }
        }
    }
コード例 #2
0
    private void OnDragStart(EventContext context)
    {
        SkillListItem si = (SkillListItem)context.sender;

        context.PreventDefault();
        //DragDropManager.inst.StartDrag(sb, sb.icon, sb.icon, (int)context.data);
        DragDropManager.inst.StartDrag(si, si.Icon.icon, si, (int)context.data);
    }
コード例 #3
0
        /// <summary>
        /// Carrega todas as skills ativas do heroi que está em seu turno no menu de skills.
        /// </summary>
        /// <param name="skills"> Lista com todas as skills do heroi. </param>
        public void UpdateSkillsContent(List <Skill> skills)
        {
            // Deleta todos os itens previamente alocados no content
            foreach (SkillElement element in skillsContent.GetComponentsInChildren <SkillElement>())
            {
                Destroy(element.gameObject);
            }

            // Variável auxiliar para a ordenação dos itens
            AxisInteractableItem lastItem = null;

            // Passa por todas as skills da lista, adicionando as ativas no menu e as ordenando
            foreach (PlayerSkill skill in skills)
            {
                if (skill.active)
                {
                    // Instancia um novo item e o coloca no content
                    GameObject newSkill = Instantiate(skillObject, skillsContent);
                    newSkill.GetComponent <SkillElement>().skill = skill;

                    newSkill.GetComponent <Image>().sprite = skill.skillImage;

                    // Define este script como responsável pelo item criado
                    SkillListItem newSkillListItem = newSkill.GetComponent <SkillListItem>();
                    newSkillListItem.skillList = this;

                    // Adiciona a decisão de clique no item criado
                    ClickableItem newClickableItem = newSkill.GetComponent <ClickableItem>();
                    newClickableItem.BCD = clickDecision;

                    // Adiciona a skill no item que a ativará
                    SkillItem newSkillItem = newSkill.GetComponent <SkillItem>();
                    newSkillItem.skill = skill;

                    // Ordena o item na lista
                    AxisInteractableItem newItem = newSkill.GetComponent <AxisInteractableItem>();
                    if (lastItem != null)
                    {
                        newItem.upItem    = lastItem;
                        lastItem.downItem = newItem;
                    }
                    else
                    {
                        manager.firstItem = newItem;
                    }
                    lastItem = newItem;
                }
            }
            manager.Active();
        }
コード例 #4
0
    /// <summary>
    /// 拖拽释放
    /// </summary>
    /// <param name="context"></param>
    private void OnDrop(EventContext context)
    {
        int i = Int32.Parse(((GButton)context.sender).data.ToString());

        //ShortCutList[i-1].icon = (string)context.data;
        try
        {
            SkillListItem si = (SkillListItem)context.data;
            //foreach (var item in shortCutList)
            //{
            //    if(item.Skillinfo== si.SkillInfo)
            //        return;
            //}
            shortCutList[i].ShortCutInfo.SkillID = si.SkillInfo.SkillID;
            shortCutList[i].Skillinfo            = si.SkillInfo;
            shortCutList[i].icon = si.Icon.icon;
        }
        catch (Exception)
        {
        }
    }