コード例 #1
0
    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();
        }
    }
コード例 #2
0
    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);
    }
コード例 #3
0
 private void UpdateHero(FormationOverlaySlot unitSlot)
 {
     unitSlot.TargetUnit.Character.ApplyAllBuffRules(RaidSceneManager.Rules.GetIdleUnitRules(unitSlot.TargetUnit));
     RaidSceneManager.RaidPanel.SelectHeroUnit(unitSlot.TargetUnit);
     RaidSceneManager.Inventory.UpdateState();
 }