public static void OnBeginReadForInstance(MysticsItemsRhythmBehaviour rhythmBehaviour) { foreach (var instance in instancesList) { if (instance.rhythmBehaviour == rhythmBehaviour) { instance.OnBeginRead(); } } }
public static void OnComboBreakForInstance(MysticsItemsRhythmBehaviour rhythmBehaviour) { foreach (var instance in instancesList) { if (instance.rhythmBehaviour == rhythmBehaviour) { instance.OnComboBreak(); } } }
public static new void RefreshForHUDInstance(HUD hudInstance) { CharacterMaster targetMaster = hudInstance.targetMaster; CharacterBody targetBody = targetMaster ? targetMaster.GetBody() : null; MysticsItemsRhythmBehaviour rhythmBehaviour = targetBody ? targetBody.GetComponent <MysticsItemsRhythmBehaviour>() : null; bool shouldDisplay = rhythmUIOverSkills.Value && rhythmBehaviour; MysticsItemsRhythmHUDOverSkills targetIndicatorInstance = instancesList.Where(x => x is MysticsItemsRhythmHUDOverSkills).Select(x => x as MysticsItemsRhythmHUDOverSkills).FirstOrDefault(x => x.hud == hudInstance); if (targetIndicatorInstance != shouldDisplay) { if (!targetIndicatorInstance) { if (hudInstance.mainUIPanel) { var transform = (RectTransform)hudInstance.mainUIPanel.transform.Find("SpringCanvas/BottomRightCluster/Scaler"); if (transform) { targetIndicatorInstance = Instantiate(rhythmHUDOverSkills, transform).GetComponent <MysticsItemsRhythmHUDOverSkills>(); targetIndicatorInstance.transform.localScale = Vector3.one; targetIndicatorInstance.hud = hudInstance; targetIndicatorInstance.overSkillSingleTransforms = new Transform[] { }; HG.ArrayUtils.ArrayAppend(ref targetIndicatorInstance.disconnectedCanvasGroups, targetIndicatorInstance.comboText.GetComponent <CanvasGroup>()); targetIndicatorInstance.comboText.transform.SetParent(hudInstance.mainUIPanel.transform.Find("SpringCanvas/BottomRightCluster/Scaler/Skill1Root"), false); var arr = new Transform[] { hudInstance.mainUIPanel.transform.Find("SpringCanvas/BottomRightCluster/Scaler/Skill2Root"), hudInstance.mainUIPanel.transform.Find("SpringCanvas/BottomRightCluster/Scaler/Skill3Root"), hudInstance.mainUIPanel.transform.Find("SpringCanvas/BottomRightCluster/Scaler/Skill4Root") }; foreach (var skillRoot in arr) { var overSkillSingle = Instantiate(targetIndicatorInstance.overSkillSingleTemplate, skillRoot); overSkillSingle.transform.localScale = Vector3.one; overSkillSingle.SetActive(true); HG.ArrayUtils.ArrayAppend(ref targetIndicatorInstance.overSkillSingleTransforms, overSkillSingle.transform.Find("Offset")); HG.ArrayUtils.ArrayAppend(ref targetIndicatorInstance.disconnectedCanvasGroups, overSkillSingle.GetComponent <CanvasGroup>()); } } } } else { Destroy(targetIndicatorInstance.gameObject); } } if (shouldDisplay) { targetIndicatorInstance.rhythmBehaviour = rhythmBehaviour; targetIndicatorInstance.UpdateText(); } }
public void OnReceived() { GameObject obj = Util.FindNetworkObject(objID); if (obj) { MysticsItemsRhythmBehaviour component = obj.GetComponent <MysticsItemsRhythmBehaviour>(); if (component) { component.combo = combo; } } }
private void CharacterBody_onSkillActivatedAuthority(GenericSkill skill) { var characterBody = skill.characterBody; if (characterBody) { var skillLocator = characterBody.skillLocator; if (skillLocator) { var skillSlot = skillLocator.FindSkillSlot(skill); if (skillSlot == SkillSlot.None || skillSlot == SkillSlot.Primary) { return; } MysticsItemsRhythmBehaviour rhythmBehaviour = characterBody.GetComponent <MysticsItemsRhythmBehaviour>(); if (rhythmBehaviour) { rhythmBehaviour.OnSkillActivatedAuthority(); } } } }
public static new void RefreshForHUDInstance(HUD hudInstance) { CharacterMaster targetMaster = hudInstance.targetMaster; CharacterBody targetBody = targetMaster ? targetMaster.GetBody() : null; MysticsItemsRhythmBehaviour rhythmBehaviour = targetBody ? targetBody.GetComponent <MysticsItemsRhythmBehaviour>() : null; bool shouldDisplay = rhythmUIUnderCrosshair.Value && rhythmBehaviour; MysticsItemsRhythmHUDUnderCrosshair targetIndicatorInstance = instancesList.Where(x => x is MysticsItemsRhythmHUDUnderCrosshair).Select(x => x as MysticsItemsRhythmHUDUnderCrosshair).FirstOrDefault(x => x.hud == hudInstance); if (targetIndicatorInstance != shouldDisplay) { if (!targetIndicatorInstance) { if (hudInstance.mainUIPanel) { var transform = (RectTransform)hudInstance.mainUIPanel.transform.Find("SpringCanvas"); if (transform) { targetIndicatorInstance = Instantiate(rhythmHUDUnderCrosshair, transform).GetComponent <MysticsItemsRhythmHUDUnderCrosshair>(); targetIndicatorInstance.hud = hudInstance; } } } else { Destroy(targetIndicatorInstance.gameObject); } } if (shouldDisplay) { targetIndicatorInstance.rhythmBehaviour = rhythmBehaviour; targetIndicatorInstance.UpdateText(); } }