void UnitSelected(FormationOverlaySlot slot) { for (int i = 0; i < OverlaySlots.Count; i++) { if (OverlaySlots[i] != slot && OverlaySlots[i].TargetUnit != null) { OverlaySlots[i].TargetUnit.SetDeactivatedStatus(); } } if (slot.TargetUnit.OverlaySlot.IsSelectionLocked && RaidSceneManager.Raid.CampingPhase != CampingPhase.None) { slot.TargetUnit.SetDeactivatedStatus(); } else { slot.TargetUnit.SetPerformerStatus(); } }
public void Show(FormationUnit monsterUnit) { Slot = monsterUnit.OverlaySlot; if (IsDisabled) { return; } Vector3 screenPoint = RaidSceneManager.DungeonPositionToScreen(monsterUnit.RectTransform.position); if (monsterUnit.Team == Team.Monsters) { targetPosition = screenPoint.x; } animator.SetBool("IsActive", true); if (RaidSceneManager.BattleGround.Round.TurnType == TurnType.HeroTurn) { if (Slot.TargetUnit.IsTargetable && RaidSceneManager.RaidPanel.SelectedUnit != null) { var combatSkill = (CombatSkill)RaidSceneManager.RaidPanel.bannerPanel.skillPanel.SelectedSkill; if (combatSkill != null) { BattleSolver.CalculateSkillPotential(RaidSceneManager.RaidPanel.SelectedUnit, monsterUnit, combatSkill); if (BattleSolver.HeroActionInfo.IsValid) { UpdateTooltip(monsterUnit, BattleSolver.HeroActionInfo.ChanceToHit, BattleSolver.HeroActionInfo.ChanceToCrit, BattleSolver.HeroActionInfo.MinDamage, BattleSolver.HeroActionInfo.MaxDamage); return; } } } } UpdateTooltiop(monsterUnit); }
private void UpdateHero(FormationOverlaySlot unitSlot) { unitSlot.TargetUnit.Character.ApplyAllBuffRules(RaidSceneManager.Rules.GetIdleUnitRules(unitSlot.TargetUnit)); RaidSceneManager.RaidPanel.SelectHeroUnit(unitSlot.TargetUnit); RaidSceneManager.Inventory.UpdateState(); }