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); } }
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); } }
//奥义、爆气等... 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(); }