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>(); }
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; } }