using SC.XR.Unity.Module_InputSystem;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public abstract class AbstractDevicePartCountManipulation : IDevicePartCountManipulation
{
    protected IDevicePartManipulation devicePartManipulation;

    public virtual void Init(ManipulationHandler manipulationHandler, IDevicePartManipulation devicePartManipulation, Dictionary<InputDevicePartType, SCPointEventData> eventDataDic, Transform targetTransform, MoveLogic moveLogic, RotateLogic rotateLogic, ScaleLogic scaleLogic)
    {
        this.devicePartManipulation = devicePartManipulation;
    }

    public abstract Tuple<Vector3, Quaternion, Vector3> Update(Func<Vector3, Vector3> scaleConstraint);
}