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(PodControllerData data)
 {
     _ownerTransform  = data.Owner;
     _initialPosition = transform.position;
     _initialized     = true;
 }