Пример #1
0
    private void CreateDodgeIndication(DodgeActorInteractionEvent interactionEvent)
    {
        // Индикатор уклонения выводим над целевым актёром.
        // Потому что это он уклонился.
        var actorViewModel = SectorViewModel.ActorViewModels.SingleOrDefault(x => x.Actor == interactionEvent.TargetActor);

        if (actorViewModel == null)
        {
            return;
        }

        CreateNoDamageIndicator(actorViewModel, DodgeIndicatorPrefab);
    }
        private void ProcessAttackDodgeEvent(
            IActor actor,
            IActor targetActor,
            PersonDefenceItem personDefenceItem,
            int successToHitRoll,
            int factToHitRoll)
        {
            if (ActorInteractionBus == null)
            {
                return;
            }

            var interactEvent = new DodgeActorInteractionEvent(actor, targetActor, personDefenceItem)
            {
                SuccessToHitRoll = successToHitRoll,
                FactToHitRoll    = factToHitRoll
            };

            ActorInteractionBus.PushEvent(interactEvent);
        }