Exemple #1
0
 public BaseAIEvent(AIEventType type)
 {
     EventType = type;
 }
Exemple #2
0
    public static BaseAIEvent CreateEvent(AIEventType eventType)
    {
        switch (eventType)
        {
        case AIEventType.Timer:
            return(new TimerAIEvent());

        case AIEventType.PlayerDetected:
            return(new PlayerDetectedAIEvent());

        case AIEventType.StateError:
            return(new StateErrorAIEvent());

        case AIEventType.Attacked:
            return(new AttackedAIEvent());

        case AIEventType.StateFinished:
            return(new StateFinishedAIEvent());

        case AIEventType.InAttackRange:
            return(new InAttackRangeAIEvent());

        case AIEventType.HealthBelow:
            return(new HealthBelowAIEvent());

        case AIEventType.InRange:
            return(new InRangeAIEvent());

        case AIEventType.PerformedAttack:
            return(new PerformedAttackAIEvent());

        case AIEventType.TirednessAbove:
            return(new TirednessAboveAIEvent());

        case AIEventType.HungerAbove:
            return(new HungerAboveAIEvent());

        case AIEventType.ThreatDetected:
            return(new ThreatDetectedAIEvent());

        case AIEventType.TargetDetected:
            return(new TargetDetectedAIEvent());

        case AIEventType.AmmoBelow:
            return(new AmmoBelowAIEvent());

        case AIEventType.BestTargetDetected:
            return(new BestTargetDetectedAIEvent());

        case AIEventType.IsVisible:
            return(new IsVisibleAIEvent());

        case AIEventType.AttackTick:
            return(new AttackTickAIEvent());

        case AIEventType.IsMounted:
            return(new IsMountedAIEvent());

        case AIEventType.And:
            return(new AndAIEvent());

        case AIEventType.Chance:
            return(new ChanceAIEvent());

        case AIEventType.TargetLost:
            return(new TargetLostAIEvent());

        case AIEventType.TimeSinceThreat:
            return(new TimeSinceThreatAIEvent());

        case AIEventType.OnPositionMemorySet:
            return(new OnPositionMemorySetAIEvent());

        case AIEventType.AggressionTimer:
            return(new AggressionTimerAIEvent());

        case AIEventType.Reloading:
            return(new ReloadingAIEvent());

        default:
            Debug.LogWarning(string.Concat("No case for ", eventType, " event in BaseAIEvent.CreateEvent()!"));
            return(null);
        }
    }