Ejemplo n.º 1
0
    public void Init(
        KinimaticMotorController motorController,
        CameraController cameraController,
        HauntController hauntController,
        KeyBindingsController keyBindings,
        BarrierController barrierController,
        ActionLockController actionLockController
        )
    {
        var body = GetComponentInChildren <Rigidbody>();

        this.actionLockController = actionLockController;
        directionInput            = new InputDirectionController(keyBindings);
        motor         = motorController.GetMotor(motorConfig, body, directionInput);
        motorAnimator = new MotorAnimator(directionInput, GetComponentInChildren <Animator>(), walkStateName, idleStateName);
        cameraController.Follow(transform);
        haunter = new Haunter()
        {
            root = transform
        };
        hauntController?.AddHaunter(haunter);
        interactKey = keyBindings.GetKey(KeyAction.Interact);
        dimmer      = new ProximityDimmer()
        {
            root = transform, radius = dimRadius
        };
        builder = new BarrierBuilder()
        {
            root = transform
        };
        barrierController?.SetBuilder(builder);
    }
Ejemplo n.º 2
0
 public void SetBuilder(BarrierBuilder builder)
 {
     this.builder            = builder;
     builder.OnBuildRequest += HandleBuildRequest;
 }