Exemplo n.º 1
0
    public void Initialize(JoystickLogic joystick)
    {
        var model = _modelContainer.GetChild(0);

        _animationLogic = model.GetComponent <CharacterAnimationLogic>();

        // subscribe to joystick
        var movementData = new CharacterMovementData
        {
            Joystick           = joystick,
            MovementMaxSpeed   = _config.MovementMaxSpeed,
            OnCanMoveCheck     = CheckCanMove,
            JoystickData       = new JoystickEventData(),
            CharacterRigidbody = GetComponent <Rigidbody>(),
            AnimationLogic     = _animationLogic
        };

        _movementLogic.Initialize(this, movementData);

        var pod = _podContainer.GetChild(0);

        _podController = pod.GetComponent <PodController>();
        var podData = new PodControllerData
        {
            Owner = transform
        };

        _podController.Initialize(podData);


        var reachData = new CharacterReachData
        {
            OnMeeleTrigger = new CollisionTriggerData
            {
                TriggerEnterAction = OnMeleeRangeEnter,
                TriggerExitAction  = OnMeleeRangeExit
            },
            OnDodgeTrigger = new CollisionTriggerData
            {
            },
            OnDistanceTrigger = new CollisionTriggerData
            {
                TriggerEnterAction = OnDistanceRangeEnter,
                TriggerExitAction  = OnDistanceRangeExit
            }
        };

        _reachLogic.Initialize(reachData);

        var attackData = new CharacterAttackData
        {
            AnimationLogic = _animationLogic
        };

        _attackLogic.Initialize(attackData);
    }
Exemplo n.º 2
0
    public void Initialize(CharacterController controller, CharacterMovementData data)
    {
        _joystick = data.Joystick;
        data.JoystickData.OnTouchDown = OnMoveStart;
        data.JoystickData.OnTouchUp   = OnMoveEnd;
        data.JoystickData.OnDrag      = OnMoveEvent;
        data.JoystickData.OnClick     = OnClick;
        _joystick.InitializeEvents(data.JoystickData);
        _canMoveCheck       = data.OnCanMoveCheck;
        _maxSpeed           = data.MovementMaxSpeed;
        _characterRigidbody = data.CharacterRigidbody;
        _animationLogic     = data.AnimationLogic;
        OnDisconnectEvents  = _joystick.DisconnectEvents;

        _controller  = controller;
        _initialized = true;
    }
Exemplo n.º 3
0
    public void Init(CharacterMovementData movementData)
    {
        this.movementData = movementData;

        rigidBody.gravityScale = movementData.fallSpeed;
    }