Esempio n. 1
0
 /// <summary>
 /// 初始化英战斗属性
 /// </summary>
 /// <param name="baseHero"></param>
 /// <param name="inscriptionPage"></param>
 public void InitBatteryAttibute(BaseHero baseHero, InscriptionPage inscriptionPage)
 {
     baseAttibute    = CopyTool.DeepCopy <BaseAttribute>(baseHero.baseAttribute);
     attackAttibute  = CopyTool.DeepCopy <AttackAttribute>(baseHero.attackAttribute);
     defenseAttibute = CopyTool.DeepCopy <DefenseAttribute>(baseHero.defenseAttribute);
     InitInscriptionAttibute(inscriptionPage);
 }
Esempio n. 2
0
    private void InitFactory()
    {
        InscriptionPage a = InscriptionPageFactory.Instance.GetInscriptionPageById(1);

        if (a == null)
        {
            Debug.Log(2313);
        }
        a.CalculatedAttribute();
        Debug.Log(a.inscriptionAttribute.Count);
        foreach (KeyValuePair <int, InscriptionAttribute> item in a.inscriptionAttribute)
        {
            Debug.Log(item.Value.attributeName + ":" + item.Value.attribueValue.ToString());
        }
    }
        /// <summary>
        /// SendMessage函数的接受体
        /// </summary>
        /// <param name="inscriptionPage"></param>
        public void OnReciveFromInscriptionPage(InscriptionPage inscriptionPage)
        {
            inscriptionPage.CalculatedAttribute();
            levelText.text = inscriptionPage.CalculatedInscriptionLevel().ToString();
            SortedDictionary <int, InscriptionAttribute> attributeList = inscriptionPage.inscriptionAttribute;

            attributeText.text = "";
            foreach (KeyValuePair <int, InscriptionAttribute> item in attributeList)
            {
                if (item.Value.valueType == AttributeValue.NUMBER)
                {
                    string valuestring = (System.Math.Round(item.Value.attribueValue, 1).ToString());
                    attributeText.text += (item.Value.attributeName + ":" + valuestring);
                }
                else
                {
                    string valuestring = (System.Math.Round(item.Value.attribueValue * 100, 1)).ToString() + "%";
                    attributeText.text += (item.Value.attributeName + ":" + valuestring);
                }
                attributeText.text += "\n";
            }
        }
        /// <summary>
        /// 将对应的符文放入指定的卡插槽中
        /// </summary>
        private void InitInscriptionSlot()
        {
            inscriptionPage = InscriptionPageFactory.Instance.GetInscriptionPageById(_pageNumber);
            for (int i = 0; i < inscriptionButtonList.Length; i++)
            {
                Inscription inscrptionCh = null;
                switch (inscriptionButtonList[i].slotColor)
                {
                case InscriptionColor.BLUE:
                    if (inscriptionPage.blueInscription.ContainsKey(inscriptionButtonList[i].slotId))
                    {
                        inscrptionCh = inscriptionPage.blueInscription[inscriptionButtonList[i].slotId];
                    }
                    break;

                case InscriptionColor.GREEN:
                    if (inscriptionPage.greenInscription.ContainsKey(inscriptionButtonList[i].slotId))
                    {
                        inscrptionCh = inscriptionPage.greenInscription[inscriptionButtonList[i].slotId];
                    }
                    break;

                case InscriptionColor.RED:
                    if (inscriptionPage.redInscription.ContainsKey(inscriptionButtonList[i].slotId))
                    {
                        inscrptionCh = inscriptionPage.redInscription[inscriptionButtonList[i].slotId];
                    }
                    break;
                }
                if (inscrptionCh != null)
                {
                    inscriptionButtonList[i].inscriptionId = inscrptionCh.inscriptionID;
                    inscriptionButtonList[i].isInscription = true;
                    inscriptionButtonList[i].GetComponent <Image>().sprite = inscrptionCh.inscriptionIcon;
                }
            }
        }
Esempio n. 5
0
        /// <summary>
        /// 将符文属性加到英雄的战斗属性中
        /// </summary>
        /// <param name="inscriptionPage"></param>
        private void InitInscriptionAttibute(InscriptionPage inscriptionPage)
        {
            inscriptionPage.CalculatedAttribute();
            foreach (KeyValuePair <int, InscriptionAttribute> item in inscriptionPage.inscriptionAttribute)
            {
                switch ((BatteryAttributeType)item.Key)
                {
                case BatteryAttributeType.MEGIC_ATTACK:
                    baseAttibute.magicAttack += item.Value._attributeValue;
                    break;

                case BatteryAttributeType.ATTACK_SPEED:
                    attackAttibute.cttackSpeed += item.Value._attributeValue;
                    break;

                case BatteryAttributeType.COOL_REDUCE:
                    attackAttibute.coolReduce += item.Value._attributeValue;
                    break;

                case BatteryAttributeType.CRITICAL_CHANGE:
                    attackAttibute.criticalChance += item.Value._attributeValue;
                    break;

                case BatteryAttributeType.CRITICAL_EFFECT:
                    attackAttibute.criticalEffect += item.Value._attributeValue;
                    break;

                case BatteryAttributeType.MAX_BLUE:
                    baseAttibute.baseLife += item.Value._attributeValue;
                    break;

                case BatteryAttributeType.MAX_LIFE:
                    baseAttibute.baseMagic += item.Value.attribueValue;
                    break;

                case BatteryAttributeType.MEGIC_DEFENCE:
                    baseAttibute.magicDefense += item.Value.attribueValue;
                    break;

                case BatteryAttributeType.MEGIC_THROUGH:
                    attackAttibute.magicPenetration += item.Value.attribueValue;
                    break;

                case BatteryAttributeType.MEGIC_VAMPIRE:
                    attackAttibute.magicHemophagia += item.Value.attribueValue;
                    break;

                case BatteryAttributeType.MOVE_SPEED:
                    attackAttibute.moveSpeed += item.Value.attribueValue;
                    break;

                case BatteryAttributeType.PHYSIC_ATTACK:
                    baseAttibute.physicalAttack += item.Value.attribueValue;
                    break;

                case BatteryAttributeType.PHYSIC_DEFENCE:
                    baseAttibute.physicalDefense += item.Value.attribueValue;
                    break;

                case BatteryAttributeType.PHYSIC_THROUGH:
                    attackAttibute.physicalPenetration += item.Value.attribueValue;
                    break;

                case BatteryAttributeType.PHYSIC_VANPIRE:
                    attackAttibute.chysicalHemophagia += item.Value.attribueValue;
                    break;

                case BatteryAttributeType.RECOVE_BLOOD:
                    attackAttibute.coolReduce += item.Value.attribueValue;
                    break;

                case BatteryAttributeType.RECOVE_BLUE:
                    defenseAttibute.recoveMagic += item.Value.attribueValue;
                    break;
                }
            }
        }
 /// <summary>
 /// HAVE many proplem toSolve
 /// </summary>
 /// <param name="inscriptionPage"></param>
 public void OnReciveInscriptionPage(InscriptionPage inscriptionPage)
 {
     inscriptionSettingPanel.SetActive(false);
     inscriptionPagePanel.SetActive(true);
     inscriptionAttributePanel.SetActive(false);
 }