Example #1
0
 private void ConfigureCameraShake(EnemyConfig config, AMovementStrategy movementStrategy)
 {
     if (config.type == EnemyType.Titan)
     {
         movementStrategy.OnStepFinished += HandleStepFinished;
     }
 }
    private void Awake()
    {
        movement = GetComponent <Movement>();
        vision   = GetComponentInChildren <BlobVision>();
        sentient = GetComponent <Sentient>();
        Assert.IsNotNull(_availableStarts);

        // change this later;
        selectedMovementStrat = _availableStarts;
        canAssignPriorities   = typeof(IAwareMover).IsAssignableFrom(selectedMovementStrat.GetType());
        priorityEvaluator     = sentient.GetComponent <IPrioritiesEvaluator>();
    }
Example #3
0
    private void PickMovementStrategy(EnemyConfig config, float speedMultiplier = 1f)
    {
        switch (config.type)
        {
        case EnemyType.Simple:
        case EnemyType.Zigzag:
        case EnemyType.Titan:
            _movementStrategy = new RollStrategy(CachedTransform, BodyTransform, PathFinder, config, speedMultiplier);
            break;

        case EnemyType.Jumper:
            _movementStrategy = new JumpStrategy(CachedTransform, BodyTransform, PathFinder, config, speedMultiplier);
            break;
        }
    }