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