using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace SC.XR.Unity.Module_InputSystem.InputDeviceGC {
    public abstract class ModelGCBase : ModelBase {
        public InputDeviceGCPartUI inputDeviceGCPartUI {
            get {
                return inputDevicePartUIBase as InputDeviceGCPartUI;
            }
        }

        public Transform StartPoint;
        public HandAnimationBase handAnimation;
        public GCPower gcPower;


        [Header("3DofBias")]
        public Vector3 _modelPositionDeltaWithDevice = new Vector3(0, 0, 0);
        public override Transform HitStartPoint { get => StartPoint; }

        public override void OnSCAwake() {
            base.OnSCAwake();
            AddModule(handAnimation);
            AddModule(gcPower);
        }

        public override void OnSCStart() {
            base.OnSCStart();

            if (handAnimation != null) {
                handAnimation.ModuleStart();
            }
            if (gcPower != null) {
                gcPower.ModuleStart();
            }
        }

        public override void OnSCLateUpdate() {
            base.OnSCLateUpdate();
            SetTpPosition();
            SetHandleKeysColor();
        }


        public virtual void SetTpPosition() {

        }
        

        public virtual void SetHandleKeysColor() {
            
        }


    }
}