Ejemplo n.º 1
0
    public SingleSkillInfo[] EquipSkillsList;//装配到战斗技能区的技能
    public SingleSkillInfoList()
    {
        //TraceUtil.Log("获取职业技能信息:"+HeroVocation);
        this.singleSkillInfoList = new List <SingleSkillInfo>();
        this.CanUpdateSkillInfos = new List <SingleSkillInfo>();
        List <SSkillInfo> sSkilInfo = PlayerManager.Instance.HeroSMsgSkillInit_SC.sInfos;

        foreach (SkillConfigData child in SkillDataManager.Instance.m_skillConfigDataBase._dataTable)
        {
            if (child.m_vocation == HeroVocation && child.m_skillType == (int)SkillType.General)
            {
                var item = new SingleSkillInfo(child);
                foreach (var sskill in sSkilInfo)
                {
                    if (sskill.wSkillID == child.m_skillId)
                    {
                        CanUpdateSkillInfos.Add(item);
                        break;
                    }
                }
                this.singleSkillInfoList.Add(item);
            }
        }
        CanUpdateSkillInfos.Sort(delegate(SingleSkillInfo a, SingleSkillInfo b) { return((a.localSkillData.m_skillId).CompareTo(b.localSkillData.m_skillId)); });

        SetEquipSkills();
    }
Ejemplo n.º 2
0
    private void CloneSkillItem(SingleSkillInfo skillInfo, GameObject item)
    {
        var transPos = this.transform.localPosition;

        transPos.z = -1;

        var cloneGo = Instantiate(item.gameObject) as GameObject;

        cloneGo.transform.parent     = this.transform.parent;
        cloneGo.transform.localScale = Vector3.one;
        cloneGo.GetComponent <SkillUIDragBox>().enabled = false;

        SkillsItem cloneItem = cloneGo.GetComponent <SkillsItem>();

        cloneItem.InitGuideID(2);
        cloneItem.OnLoseFocus();

        TweenPosition tweenComponent = cloneItem.GetComponent <TweenPosition>();

        if (tweenComponent != null)
        {
            tweenComponent.from = transPos;
            tweenComponent.to   = transPos;
        }
        else
        {
            cloneGo.transform.localPosition = transPos;
        }

        cloneItem.IsUpgradeState(false);
        cloneItem.InitItemData(skillInfo);

        EquipSkill(cloneItem);
    }
Ejemplo n.º 3
0
    void EquipSkill(SkillsItem skillItem)
    {
        int             skillID = skillItem.ItemFielInfo.localSkillData.m_skillId;
        SingleSkillInfo RemovesingleSkillInfo = null;
        SingleSkillInfo AddsingleSkillInfo    = null;

        if (m_curEquipSkill != null)
        {
            RemovesingleSkillInfo = m_curEquipSkill.ItemFielInfo;
            Destroy(m_curEquipSkill.gameObject);
            //AssemblySkillPanel.Instance.m_skillListForID.Remove(m_curEquipSkill.ItemFielInfo.localSkillData.m_skillId);
        }

        m_curEquipSkill = skillItem;

//        if (AssemblySkillPanel.Instance.m_skillListForID.ContainsKey(skillID))
//        {
//            RemovesingleSkillInfo = AssemblySkillPanel.Instance.m_skillListForID[skillID].ItemFielInfo;
//            DestroyImmediate(AssemblySkillPanel.Instance.m_skillListForID[skillID].gameObject);
//            AssemblySkillPanel.Instance.m_skillListForID.Remove(skillID);
//        }

        //AssemblySkillPanel.Instance.m_skillListForID.Add(skillID, skillItem);
        AddsingleSkillInfo = skillItem.ItemFielInfo;

        if (AddsingleSkillInfo == null)
        {
            return;
        }

        if (m_isNewEquipSkill)
        {
            SetChuangeButtonToSever(RemovesingleSkillInfo, AddsingleSkillInfo);
        }
    }
Ejemplo n.º 4
0
    //private bool IsSkillCanUpgrade(SingleSkillInfo selectedSkillInfo)
    //{
    //    bool canUpgrade = selectedSkillInfo.CanUpgrade;

    //    int consumeMoneyValue = selectedSkillInfo.localSkillData.m_upgradeMoneyParams.Length < selectedSkillInfo.SkillLevel ? selectedSkillInfo.localSkillData.m_upgradeMoneyParams[selectedSkillInfo.SkillLevel - 1] : 0;//升级所需钱币

    //    int levelNeed = selectedSkillInfo.localSkillData.m_unlockLevel + selectedSkillInfo.SkillLevel * selectedSkillInfo.localSkillData.m_UpdateInterval;

    //    if (levelNeed > PlayerManager.Instance.FindHeroDataModel().UnitValues.sMsgPropCreateEntity_SC_UnitVisibleValue.UNIT_FIELD_LEVEL||//等级判断
    //        consumeMoneyValue>PlayerManager.Instance.FindHeroDataModel().PlayerValues.PLAYER_FIELD_HOLDMONEY)//消耗钱币判读
    //    {
    //        //UI.MessageBox.Instance.ShowTips(3, LanguageTextManager.GetString("IDS_H2_6"), 1); //提示等级不足
    //        canUpgrade = false;
    //    }
    //    return canUpgrade;
    //}

    private UpgradeSkillType GetSkillCanUpgradeType(SingleSkillInfo selectedSkillInfo)
    {
        UpgradeSkillType upgradeSkillType = UpgradeSkillType.True;

        int UpgradeItemCount = selectedSkillInfo.localSkillData.m_upgradeItemCount;

        if (UpgradeItemCount > 0)
        {
            upgradeSkillType = UI.MainUI.ContainerInfomanager.Instance.GetItemNumber(selectedSkillInfo.localSkillData.m_upgradeItemId) >= UpgradeItemCount ? upgradeSkillType : UpgradeSkillType.NeedItem;
            //canUpgrade &= ContainerInfomanager.Instance.GetItemNumber(selectedSkillInfo.localSkillData.m_upgradeItemId) >= UpgradeItemCount;
        }
        //int UpgradeMoney = SkillValue.GetSkillValue(selectedSkillInfo.SkillLevel, selectedSkillInfo.localSkillData.m_upgradeMoneyParams);
        int UpgradeMoney = selectedSkillInfo.localSkillData.m_upgradeMoneyParams.Length >= selectedSkillInfo.SkillLevel ? selectedSkillInfo.localSkillData.m_upgradeMoneyParams[selectedSkillInfo.SkillLevel - 1] : 0;//升级所需钱币

        if (UpgradeMoney > 0)
        {
            upgradeSkillType = PlayerManager.Instance.FindHeroDataModel().PlayerValues.PLAYER_FIELD_HOLDMONEY >= UpgradeMoney ? upgradeSkillType : UpgradeSkillType.NeedMoney;
            //canUpgrade &= PlayerManager.Instance.FindHeroDataModel().PlayerValues.PLAYER_FIELD_HOLDMONEY > UpgradeMoney;
        }

        int UpgradeLevel = selectedSkillInfo.localSkillData.m_unlockLevel + selectedSkillInfo.SkillLevel * selectedSkillInfo.localSkillData.m_UpdateInterval;

        upgradeSkillType = UpgradeLevel > PlayerManager.Instance.FindHeroDataModel().UnitValues.sMsgPropCreateEntity_SC_UnitVisibleValue.UNIT_FIELD_LEVEL?UpgradeSkillType.NeedLevel:upgradeSkillType;

        upgradeSkillType = selectedSkillInfo.SkillLevel >= selectedSkillInfo.localSkillData.m_maxLv ? UpgradeSkillType.FullLevel : upgradeSkillType;

        return(upgradeSkillType);
    }
Ejemplo n.º 5
0
    public void UpgradeSkillItem(SingleSkillInfo upgradedItem)
    {
        //StartCoroutine(RefreshItem(singleSkillInfoList, upgradedItem));
        var targetSkillItem = m_skillsItems.SingleOrDefault(P => P.ItemFielInfo.localSkillData.m_skillId == upgradedItem.localSkillData.m_skillId);

        if (targetSkillItem != null)
        {
            targetSkillItem.InitItemData(upgradedItem);
            targetSkillItem.SkillUpgradeSuccess(true);
        }
    }
Ejemplo n.º 6
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="selectedSkill">Selected skill.</param>
    public void FocusSkillItem(SingleSkillInfo selectedSkill)
    {
        //所有项LoseFocus
        m_skillsItems.ApplyAllItem(P => { P.OnLoseFocus(); P.EquipChange(); });
        var selectItem = m_skillsItems.SingleOrDefault(P => P.ItemFielInfo == selectedSkill);

        if (selectItem != null)
        {
            //当前项GetFocus
            selectItem.OnGetFocus();
            StartCoroutine(DragAmountSlerp(selectItem.DragAmount));
        }
    }
Ejemplo n.º 7
0
 public void UpgradeSkillItem(SingleSkillInfo upgradeSkillInfo)
 {
     foreach (var item in AssemblySkillItems)
     {
         if (item != null && item.ItemFielInfo != null)
         {
             if (item.ItemFielInfo.localSkillData.m_skillId == upgradeSkillInfo.localSkillData.m_skillId)
             {
                 item.InitItemData(upgradeSkillInfo);
                 break;
             }
         }
     }
 }
Ejemplo n.º 8
0
    private void SetSpriteState(SingleSkillInfo selectedSkillInfo)
    {
        //int consumeMoneyValue = SkillValue.GetSkillValue(selectedSkillInfo.SkillLevel, selectedSkillInfo.localSkillData.m_upgradeMoneyParams);
        int consumeMoneyValue  = selectedSkillInfo.localSkillData.m_upgradeMoneyParams.Length >= selectedSkillInfo.SkillLevel?selectedSkillInfo.localSkillData.m_upgradeMoneyParams[selectedSkillInfo.SkillLevel - 1]:0;
        int skillHurtValue     = SkillValue.GetSkillValue(selectedSkillInfo.SkillLevel, selectedSkillInfo.localSkillData.m_mightParams);
        int nextSkillHurtValue = SkillValue.GetSkillValue(selectedSkillInfo.SkillLevel + 1, selectedSkillInfo.localSkillData.m_mightParams);
        //int needLv = selectedSkillInfo.SkillLevel + 1;
        int needLv = selectedSkillInfo.localSkillData.m_unlockLevel + selectedSkillInfo.SkillLevel * selectedSkillInfo.localSkillData.m_UpdateInterval;

        if (consumeMoneyValue > 0)
        {
            if (PlayerManager.Instance.FindHeroDataModel().PlayerValues.PLAYER_FIELD_HOLDMONEY < consumeMoneyValue)
            {
                ConsumeLabel.color = Color.red;
            }
            else
            {
                ConsumeLabel.color = Color.white;
            }
        }

        if (needLv > 0)
        {
            if (PlayerManager.Instance.FindHeroDataModel().UnitValues.sMsgPropCreateEntity_SC_UnitVisibleValue.UNIT_FIELD_LEVEL < needLv)
            {
                NeedLabel.color        = Color.red;
                ArrowSprite.enabled    = false;
                MightLeftLabel.enabled = false;
                MightRightLabel.color  = Color.white;
                MightRightLabel.text   = skillHurtValue.ToString();
            }
            else
            {
                NeedLabel.color        = Color.white;
                MightLeftLabel.enabled = true;
                ArrowSprite.enabled    = true;
                MightRightLabel.color  = Color.green;
                MightRightLabel.text   = nextSkillHurtValue.ToString();
            }
        }


        NeedLabel.text      = needLv.ToString();
        MightLeftLabel.text = skillHurtValue.ToString();
        ConsumeLabel.text   = consumeMoneyValue.ToString();
    }
Ejemplo n.º 9
0
        public void Show(SingleSkillInfo itemFielInfo)
        {
            Init();
            //transform.localPosition = new Vector3(-204,-250,50);
            this.itemFielInfo = itemFielInfo;
            CreatItemPoint.ClearChild();
            GameObject skillIcon = NGUITools.AddChild(CreatItemPoint.gameObject, itemFielInfo.localSkillData.m_icon);

            skillIcon.transform.localScale = new Vector3(90, 90, 1);
            labelLevel.text = (itemFielInfo.localSkillData.m_breakLevel - 1).ToString();

            /*SkillsItem item = CreatObjectToNGUI.InstantiateObj(DragItemPrefab, CreatItemPoint).GetComponent<SkillsItem>();
             * item.gameObject.layer = 26;
             * item.gameObject.GetChildTransforms().ApplyAllItem(P => P.gameObject.layer = 26);
             * //item.FocusBGSwitch.ChangeSprite(0);
             * //item.ViewSkillButton.gameObject.SetActive(false);
             * item.InitItemData(itemFielInfo);
             * item.InitGuideID(3);*/
        }
Ejemplo n.º 10
0
    public void UpgradeSkillData(SingleSkillInfo selectedSkillInfo)
    {
        UpgradeSucessEffect();

        SetSpriteState(selectedSkillInfo);

        if (m_skillItem != null)
        {
            //m_skillItem.GetComponent<SkillsItem>().UpdateSkillItem(selectedSkillInfo);
        }

        SetButtonState(GetSkillCanUpgradeType(selectedSkillInfo));

        //if (!IsSkillCanUpgrade(selectedSkillInfo))
        //if (GetSkillCanUpgradeType(selectedSkillInfo) == UpgradeSkillType.FullLevel)
        //{
        //    UpgradeBtnLabel.text = LanguageTextManager.GetString("IDS_H2_75");
        //    SetButtonState(false);
        //}
    }
Ejemplo n.º 11
0
    void SetSkillEquipInfoToSever(SingleSkillInfo RemovesingleSkillInfo, SingleSkillInfo AddsingleSkillInfo, int index)
    {
        SkillEquipEntity skillEquipEntity = new SkillEquipEntity();

        skillEquipEntity.Skills = new System.Collections.Generic.Dictionary <byte, ushort>();

        SingleSkillInfo[] equipSkillsList = SingleSkillInfoList.EquipSkillsList;

        int addPreIndex = -1;

        for (int i = 0; i < equipSkillsList.Length; i++)
        {
            if (AddsingleSkillInfo == equipSkillsList[i])
            {
                addPreIndex = i;
            }
        }
        //替换与被替换都不为空。由两个技能位置互换位置
        if (addPreIndex != -1)
        {
            equipSkillsList[addPreIndex] = RemovesingleSkillInfo;
        }
        equipSkillsList[index] = AddsingleSkillInfo;

        for (int i = 0; i < equipSkillsList.Length; i++)
        {
            if (equipSkillsList[i] != null)
            {
                skillEquipEntity.Skills.Add((byte)i, (byte)equipSkillsList[i].localSkillData.m_skillId);
            }
            else
            {
                skillEquipEntity.Skills.Add((byte)i, 0);
            }
        }
        skillEquipEntity.Skills.ApplyAllItem(P =>
        {
            TraceUtil.Log(SystemModel.Rocky, "Send:" + P.Key + ":" + P.Value);
        });
        NetServiceManager.Instance.EntityService.SendSkillEquip(skillEquipEntity);
    }
Ejemplo n.º 12
0
    /// <summary>
    /// 根据传入数据实体,初始化技能
    /// </summary>
    /// <param name="itemFielInfo">Item fiel info.</param>
    public void InitItemData(SingleSkillInfo itemFielInfo)
    {
        var hasInfo = itemFielInfo != null;

        Normal.SetActive(hasInfo);
        Empty.SetActive(!hasInfo);
        UnLock.SetActive(hasInfo);
        ItemFielInfo = itemFielInfo;

        if (SkillIconPoint.childCount > 0)
        {
            SkillIconPoint.ClearChild();
        }
        if (hasInfo)
        {
            if (itemFielInfo.IsUnlock())
            {
                Normal.SetActive(true);
                UnLock.SetActive(false);
                BreakLev.text = (itemFielInfo.localSkillData.m_breakLevel - 1).ToString();
                int  skillLev  = itemFielInfo.SkillLevel;
                int  maxLev    = itemFielInfo.localSkillData.m_maxLv;
                bool isFullLev = itemFielInfo.IsFullLev();
                FullLev.SetActive(isFullLev);
                NotFullLev.SetActive(!isFullLev);
                if (!isFullLev)
                {
                    SkillLev.text = skillLev.ToString();
                }
                EquipChange();
            }
            else
            {
                Normal.SetActive(false);
                UnLock.SetActive(true);
                UnLockLev.text = itemFielInfo.localSkillData.m_unlockLevel.ToString();
            }
            var skillIcon = NGUITools.AddChild(SkillIconPoint.gameObject, ItemFielInfo.localSkillData.m_icon);
            skillIcon.transform.localScale = new Vector3(90, 90, 1);
        }
    }
Ejemplo n.º 13
0
    void SetChuangeButtonToSever(SingleSkillInfo RemovesingleSkillInfo, SingleSkillInfo AddsingleSkillInfo)
    {
        SkillEquipEntity skillEquipEntity = new SkillEquipEntity();

        skillEquipEntity.Skills = new System.Collections.Generic.Dictionary <byte, ushort>();
        SingleSkillInfo[] equipSkillsList = SkillsPanelManager.m_playerSkillList.EquipSkillsList;
        if (RemovesingleSkillInfo != null)
        {
            for (int i = 0; i < equipSkillsList.Length; i++)
            {
                if (RemovesingleSkillInfo == equipSkillsList[i])
                {
                    equipSkillsList[i] = null;
                }
            }
        }
        if (AddsingleSkillInfo != null)
        {
            equipSkillsList[Index] = AddsingleSkillInfo;
        }

        for (int i = 0; i < equipSkillsList.Length; i++)
        {
            if (equipSkillsList[i] != null)
            {
                skillEquipEntity.Skills.Add((byte)i, (byte)equipSkillsList[i].localSkillData.m_skillId);
            }
            else
            {
                skillEquipEntity.Skills.Add((byte)i, 0);
            }
        }

        NetServiceManager.Instance.EntityService.SendSkillEquip(skillEquipEntity);
        //SoundManager.Instance.PlaySoundEffect("sound0048");
    }
Ejemplo n.º 14
0
    //public void UpgradeSkill(SingleSkillInfo singleSkill)
    //{
    //    m_curEquipSkill.InitItemData(singleSkill);
    //}


    public void InitEquipSkill(SingleSkillInfo skillInfo, GameObject item)
    {
        m_isNewEquipSkill = false;
        CloneSkillItem(skillInfo, item);
    }
Ejemplo n.º 15
0
    public void InitViewInfo(SingleSkillInfo itemFielInfo)
    {
        m_itemFielInfo = itemFielInfo;
        bool   isNull      = itemFielInfo == null;
        string skillName   = isNull?"":LanguageTextManager.GetString(itemFielInfo.localSkillData.m_name);
        string breakLev    = isNull?"":ConvertBreakLev(itemFielInfo.localSkillData.m_breakLevel);
        string skillLev    = isNull?"":itemFielInfo.SkillLevel.ToString();
        string skillDesc   = isNull?"":LanguageTextManager.GetString(itemFielInfo.localSkillData.m_descSimple);
        string skillPower  = isNull?"":SkillValue.GetSkillValue(itemFielInfo.SkillLevel, itemFielInfo.localSkillData.m_mightParams).ToString();
        string skillHitNum = isNull?"":itemFielInfo.localSkillData.m_skillAttacktimes.ToString();
        string skillCDTime = isNull?"":itemFielInfo.localSkillData.m_coolDown.ToString();

        //float[] skillHurts=itemFielInfo.localSkillData.m_skillDamage;
        if (!isNull)
        {
            //向下取整((向下取整((参数1×(技能等级)^2+参数2×技能等级+参数3)/参数4)×参数4) /1000)*100%
            //int skillHurt = Mathf.FloorToInt((Mathf.FloorToInt((skillHurts[0] * Mathf.Pow(itemFielInfo.SkillLevel, 2) + skillHurts[1] * itemFielInfo.SkillLevel + skillHurts[2]) / skillHurts[3]) * skillHurts[3]) / 1000) * 100;
            //2014-8-27策划修改
            //向下取整((向下取整((参数1×(技能等级)^2+参数2×技能等级+参数3)/参数4)×参数4) /10)
//            int skillHurt = Mathf.FloorToInt((Mathf.FloorToInt((skillHurts[0] * Mathf.Pow(itemFielInfo.SkillLevel, 2) + skillHurts[1] * itemFielInfo.SkillLevel + skillHurts[2]) / skillHurts[3]) * skillHurts[3]) / 10);
//            SkillHurt.text=skillHurt.ToString();
        }
        else
        {
            SkillHurt.text = string.Empty;
        }
        SkillName.text   = skillName;
        BreakLev.text    = breakLev;
        SkillLev.text    = skillLev;
        SkillDesc.text   = skillDesc;
        SkillPower.text  = skillPower;
        SkillHitNum.text = skillHitNum;
        SkillCDTime.text = skillCDTime;


        SkillUpgradeBtn.gameObject.SetActive(!isNull);
        EffPoint.transform.ClearChild();
        //是否满级处理
        if (itemFielInfo.IsFullLev())
        {
            SkillUpgradeBtn.gameObject.SetActive(false);
            NotReachUpLev.gameObject.SetActive(false);
            NGUITools.AddChild(EffPoint, FullLevEff);

            UpgradeConsume.text = "0";
        }
        else
        {
            int upNeedLev;
            int skillManaValue = itemFielInfo.UpgradeConsume(out m_enough, out m_reachUpLev, out upNeedLev);
            SkillUpgradeBtn.gameObject.SetActive(true);

            //铜币是否足够
            if (m_enough)
            {
                SkillUpgradeBtn.Enable = true;
                UpgradeConsume.text    = "[fffa6f]" + skillManaValue.ToString() + "[-]";
                if (m_reachUpLev)
                {
                    NGUITools.AddChild(EffPoint, UpgradeBtnEff);
                }
            }
            else
            {
                //SkillUpgradeBtn.Enable=false;
                UpgradeConsume.text = "[fe768b]" + skillManaValue.ToString() + "[-]";
            }
            NotReachUpLev.text = m_reachUpLev?"":string.Format(LanguageTextManager.GetString("IDS_I7_14"), upNeedLev);
            NotReachUpLev.gameObject.SetActive(!m_reachUpLev);
            SkillUpgradeBtn.gameObject.SetActive(m_reachUpLev);
        }
        //选中特效
    }