예제 #1
0
 public void SetButtonAttribute(SkillConfigData skillConfigData, BattleSkillButtonDelegate battleSkillButtonCallBack)
 {
     this.battleSkillButtonCallBack = battleSkillButtonCallBack;
     skillButtonStatus       = SkillButtonStatus.Enable;
     RecoveSprite.fillAmount = 0;
     this.skillConfigData    = skillConfigData;
     if (skillConfigData == null)
     {
         SetButtonIcon(null);
         SetCallBackFuntion(null, null);
     }
     else
     {
         SetButtonIcon(skillConfigData.m_icon);
         SetCallBackFuntion(ButtonClick, null);
     }
 }
예제 #2
0
 public void SetButtonAttribute(SkillConfigData skillConfigData, BattleSkillButtonDelegate battleSkillButtonCallBack, SpecialSkillType type, int buttonIndex, bool IsJoyStick)
 {
     this.Isjoystick = IsJoyStick;
     JoystickSprite.ApplyAllItem(P => P.ChangeSprite(IsJoyStick?2:1));
     if (BreackLevelLabelTransform != null)
     {
         BreackLevelLabelTransform.transform.localPosition = Isjoystick ? BreackLevelLabelJoySticPos : BreackLevelLabelNormalPos;
     }
     MPNotEnoughICON.enabled        = false;
     this.battleSkillButtonCallBack = battleSkillButtonCallBack;
     SpecialType             = type;
     skillButtonStatus       = SkillButtonStatus.Enable;
     MyBtnIndex              = buttonIndex;
     RecoveSprite.fillAmount = BarCutDownMode == Battle.BarCutDownMode.MaxToMin ? 0 : 1;
     this.skillConfigData    = skillConfigData;
     if (skillConfigData == null)
     {
         SetButtonIcon(null);
         SetCallBackFuntion(null, null);
     }
     else
     {
         SetButtonIcon(Isjoystick?skillConfigData.Icon_CirclePrefab:skillConfigData.m_icon);
         SetCallBackFuntion(ButtonClick, null);
     }
     if (type == SpecialSkillType.Normal)
     {
         BreakLevelLabel.gameObject.SetActive(false);
         BreakLevelLabel.SetButtonText((skillConfigData.m_breakLevel - 1).ToString());
     }
     else
     {
         BreakLevelLabel.gameObject.SetActive(false);
         UI.CreatObjectToNGUI.InstantiateObj(skillConfigData.energyComsumePrefab, Trans_SpecialConsumptionPoint);
     }
 }
예제 #3
0
        //奥义、爆气等...
        public void InitSpecialSkillBtn(object obj)
        {
            TraceUtil.Log("InitSpecialSkillBtn");
            //m_spcialSkill = new BattleSkillButton[3];
            if (PlayerManager.Instance.FindHero() == null)
            {
                return;
            }

            BattleSkillButtonDelegate battleSkillButtonCallBack = PlayerManager.Instance.FindHero().GetComponent <PlayerBehaviour>().OnButtonCallBack;

            m_guideIDList.Clear();

            bool isJoyStick = GameManager.Instance.UseJoyStick;

            for (int i = 0; i < m_spcialSkill.Length; i++)
            {
                if (m_spcialSkill[i].SkillEnable == 0)
                {
                    GameObject creatBtn;
//                    if (i < 2)
//                    {
//                        creatBtn = CreatObjectToNGUI.InstantiateObj(BattleButtonPrefab, BattleUIManager.Instance.BottomLeft);
//                        if (!isJoyStick)
//                        { creatBtn.transform.localPosition = new Vector3(m_leftBtnPos.x + m_leftSpacing * i, m_leftBtnPos.y, 0); }
//                        else
//                        {
//                            if (i == 0)
//                            {
//                                creatBtn.transform.parent = BattleUIManager.Instance.BottomRight;
//                                creatBtn.transform.localPosition = JoystickRightPos;
//                            }
//                            else
//                            {
//                                creatBtn.transform.parent = BattleUIManager.Instance.BottomLeft;
//                                creatBtn.transform.localPosition = JoystickLeftPos;
//                            }
//                        }
//                    }
//                    else //人物角色头像上的奥义按钮
//                    {
//                        creatBtn = BattleUIManager.Instance.RoleStatuUI.ButtonSkillObj;
//                        creatBtn.gameObject.SetActive(true);
//                    }
                    creatBtn = CreatObjectToNGUI.InstantiateObj(BattleButtonPrefab, BattleUIManager.Instance.BottomRight);
                    if (isJoyStick)
                    {
                        switch (i)
                        {
                        case 0:
                            creatBtn.transform.localPosition = JoystickSpecialBtnPos[0];
                            break;

                        case 1:
                            creatBtn.transform.localPosition = JoystickSpecialBtnPos[1];
                            break;

                        case 2:
                            creatBtn.transform.localPosition = JoystickSpecialBtnPos[2];
                            break;
                        }
                    }
                    else
                    {
                        creatBtn.transform.localPosition = new Vector3(m_leftBtnPos.x + m_leftSpacing * i, m_leftBtnPos.y, 0);
                    }


                    m_spcialSkill[i].SkillButton = creatBtn.GetComponent <BattleSkillButton>();
                    int guideId = 0;
                    GuideBtnManager.Instance.RegGuideButton(creatBtn, MainUI.UIType.Empty, SubType.EctypeSpecialSkill, out guideId);
                    m_guideIDList.Add(guideId);

                    //BattleButtons[i].SetButtonAttribute(null, null);
                    var skillConfigData = SkillDataManager.Instance.GetSkillConfigData(m_spcialSkill[i].SkillID);
                    if (skillConfigData != null)
                    {
                        m_spcialSkill[i].SkillButton.SetButtonAttribute(skillConfigData, battleSkillButtonCallBack, (SpecialSkillType)i + 1, 4, isJoyStick);
                        m_spcialSkill[i].SkillEnergyComsume = skillConfigData.energy_comsumeParam;

                        //如果等级不够开启
                        if (PlayerManager.Instance.FindHeroDataModel().UnitValues.sMsgPropCreateEntity_SC_UnitVisibleValue.UNIT_FIELD_LEVEL
                            < skillConfigData.m_unlockLevel)
                        {
                            creatBtn.SetActive(false);
                        }
                    }
                    else
                    {
                        creatBtn.SetActive(false);
                    }

                    //加入按钮记忆管理 0-翻滚 1-爆气  2-奥义 【参照 SetSpecialSkillData 方法】
                    switch (i)
                    {
                    case 0:
                        BattleUIManager.Instance.RememberRegiste(creatBtn, SkillBtnRemember.RememberBtnType.ScrollBtn);
                        break;

                    case 1:
                        BattleUIManager.Instance.RememberRegiste(creatBtn, SkillBtnRemember.RememberBtnType.ExplosiveBtn);
                        break;

                    case 2:
                        m_spcialSkill[i].SkillButton.SirenSkillInterface.SetActive(true);
                        SirenSkillPropUpdateHandle(null);
                        BattleUIManager.Instance.RememberRegiste(creatBtn, SkillBtnRemember.RememberBtnType.LoreBtn);
                        break;
                    }
                }
            }
            UpdateSpecialStatus(null);
            //如果有新手引导,并且步骤尚未开始,先屏蔽技能按钮
            //if (GameManager.Instance.IsNewbieGuide && !NewbieGuideManager_V2.Instance.EctypeGuideStepReached)
            //{
            //    foreach (var child in m_spcialSkill)
            //    {
            //        if (child.SkillButton != null)
            //        {
            //            child.SkillButton.SetButtonStatus(false);
            //        }
            //    }
            //}
            GetColdWork();
        }