void Awake() { IK_Head_Linkage_CS ik_Head = this.GetComponentInChildren <IK_Head_Linkage_CS>(); IK_CS ik_arm = this.GetComponentInChildren <IK_CS>(); if (ik_Head == null) { IkSolverRef = IKSoverReference.None; } else { if (IkSolverRef == IKSoverReference.AsSource) { HeadTarget = ik_Head.eyeTransform; LeftArmTarget = ik_arm.leftHandTarget; RightArmTarget = ik_arm.rightHandTarget; } else if (IkSolverRef == IKSoverReference.AsDestination) { ik_Head.eyeTransform = HeadTarget; ik_arm.leftHandTarget = LeftArmTarget; ik_arm.rightHandTarget = RightArmTarget; } } }
void Initialize(IPlayerAvatarPresenter player_presenter) { player_presenter.OnLoadModelCompleted .Subscribe(go => { m_Animator = go.GetComponent <Animator>(); m_IK_Head = go.GetComponent <IK_Head_Linkage_CS>(); m_IK_Arm = go.GetComponent <IK_CS>(); if (m_IK_Arm != null) { m_PositionWeightR = m_IK_Arm.rightHandPosWeight; m_RotationWeightR = m_IK_Arm.rightHandRotWeight; m_PositionWeightL = m_IK_Arm.leftHandPosWeight; m_RotationWeightL = m_IK_Arm.leftHandRotWeight; } }).AddTo(this); }