public static InteractorHandler GetFirstInteractor(ProxyHandModel proxyHand) { for (int i = 0; i < proxyHand.relatedHandlers.Count; i++) { if (proxyHand.relatedHandlers[i] is InteractorHandler) { // Return the first Interactor found return(proxyHand.relatedHandlers[i] as InteractorHandler); } } return(null); }
public static void SetHandPhysics(ProxyHandModel phModel, bool enabled) { SlaveBoneModel wristBone = phModel.slave.wrist as SlaveBoneModel; SetBonePhysics(wristBone, enabled); for (int f = 0; f < phModel.slave.fingers.Length; f++) { for (int b = 0; b < phModel.slave.fingers[f].bones.Length; b++) { SlaveBoneModel slaveBone = phModel.slave.fingers[f].bones[b] as SlaveBoneModel; SetBonePhysics(slaveBone, enabled); } } }
void SetupProxyHandModule() { // CustomHand > [Modules] > ProxyHandModule GameObject proxyHandModule = Instantiate(proxyHandModulePrefab, modules.transform.position, modules.transform.rotation); proxyHandModule.transform.parent = modules.transform; proxyHandModule.transform.name = "ProxyHandModule." + handType.ToString(); phModel = proxyHandModule.GetComponentInChildren <ProxyHandModel>(); // CustomHand > [Modules] > ProxyHandModule > ProxyHandModel > Master GameObject masterHandModelObj = BasicHelpers.InstantiateEmptyChild(phModel.gameObject); masterHandModelObj.name = "Master." + handType.ToString(); masterHandModel = masterHandModelObj.AddComponent <MasterHandModel>(); // CustomHand > [Modules] > ProxyHandModule > ProxyHandModel > Slave GameObject slaveHandModelObj = BasicHelpers.InstantiateEmptyChild(phModel.gameObject); slaveHandModelObj.name = "Slave." + handType.ToString(); slaveHandModel = slaveHandModelObj.AddComponent <SlaveHandModel>(); // CustomHand > [Modules] > ProxyHandModule > ProxyHandModel > Ghost GameObject ghostHandModelObj = BasicHelpers.InstantiateEmptyChild(phModel.gameObject); ghostHandModelObj.name = "Ghost." + handType.ToString(); ghostHandModel = ghostHandModelObj.AddComponent <HandModel>(); // Make HandModels accessible from ProxyHandModel phModel.master = masterHandModel; phModel.slave = slaveHandModel; phModel.ghost = ghostHandModel; // Make ProxyHandModel accessible from HandModel masterHandModel.proxyHand = phModel; slaveHandModel.proxyHand = phModel; ghostHandModel.proxyHand = phModel; }
public ProxyHandViewModel(ProxyHandModel model) { this.model = model; }