/* * Copyright (c) Meta Platforms, Inc. and affiliates. * All rights reserved. * * Licensed under the Oculus SDK License Agreement (the "License"); * you may not use the Oculus SDK except in compliance with the License, * which is provided at the time of installation or download, or which * otherwise accompanies this software in either electronic or hard copy form. * * You may obtain a copy of the License at * * https://developer.oculus.com/licenses/oculussdk/ * * Unless required by applicable law or agreed to in writing, the Oculus SDK * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ using Oculus.Interaction.Input; using UnityEngine; namespace Oculus.Interaction.HandGrab.Visuals { /// /// Holds references to the prefabs for Ghost-Hands, so they can be instantiated /// in runtime to represent static poses. /// [CreateAssetMenu(menuName = "Meta/Interaction/SDK/Pose Authoring/Hand Ghost Provider")] public class HandGhostProvider : ScriptableObject { /// /// The prefab for the left hand ghost. /// [SerializeField] private HandGhost _leftHand; /// /// The prefab for the right hand ghost. /// [SerializeField] private HandGhost _rightHand; /// /// Helper method to obtain the prototypes /// The result is to be instanced, not used directly. /// /// The desired handedness of the ghost prefab /// A Ghost prefab public HandGhost GetHand(Handedness handedness) { return handedness == Handedness.Left ? _leftHand : _rightHand; } } }