override public bool GetCurrentData() { if (addAtoms == null) { addAtoms = transform.parent.parent.gameObject.GetComponent <PopulateLigandMenu>().addAtoms; } bool value = addAtoms.LigandsShowing[LigandIndex]; if (Text == null) { Text = TextLabel.GetComponent <UnityEngine.UI.Text>(); } if (value) { Text.color = LabelOnColor; } else { Text.color = LabelOffColor; } return(value); }
void Update() { if (addAtoms == null) { addAtoms = transform.parent.parent.GetComponent <AddAtoms>(); } }
void Start() { addAtoms = transform.parent.parent.GetComponent <AddAtoms>(); itemsPerPage = 5; ligandMenuSlider = transform.Find("LigandMenuSlider").gameObject; ligandMenuSliderDataBinder = ligandMenuSlider.GetComponent <LigandMenuSliderDataBinder>(); background = transform.Find("BackgroundCanvas").gameObject; backgroundHeight = background.GetComponent <RectTransform>().rect.height; startHeight = backgroundHeight / 2 - menuItem.transform.Find("TextCanvas").gameObject.GetComponent <RectTransform>().rect.height / 2; if (addAtoms.CollectionOfLigands != null) { if (addAtoms.CollectionOfLigands.Count < itemsPerPage) { menuItems = new GameObject[addAtoms.CollectionOfLigands.Count]; } else { menuItems = new GameObject[itemsPerPage]; } GameObject temp; float menuItemHeight = menuItem.transform.Find("TextCanvas").GetComponent <RectTransform>().rect.height; for (int i = 0; i < addAtoms.CollectionOfLigands.Count; i++) { if (i < itemsPerPage) { temp = Instantiate(menuItem) as GameObject; temp.transform.parent = transform; temp.transform.localScale = Vector3.one; temp.transform.localPosition = Vector3.up * (startHeight - menuItemHeight * i); temp.transform.Find("LigandToggleButton").GetComponent <ToggleLigandButtonDataBinder>().LigandIndex = i; temp.transform.Find("TextCanvas/LigandText").GetComponent <UnityEngine.UI.Text>().text = "Ligand" + (i + 1).ToString(); menuItems[i] = temp; } } } if (addAtoms.CollectionOfLigands.Count > itemsPerPage) { var pages = (addAtoms.CollectionOfLigands.Count / itemsPerPage) - 0.1f; if (addAtoms.CollectionOfLigands.Count % itemsPerPage != 0) { pages += 1; } ligandMenuSliderDataBinder.max = pages; ligandMenuSliderDataBinder.outputValue = 0; } else { ligandMenuSlider.SetActive(false); } }
override public bool GetCurrentData() { if (addAtoms == null) { addAtoms = transform.parent.parent.parent.gameObject.GetComponent <AddAtoms>(); } if (Text == null) { Text = TextLabel.GetComponent <UnityEngine.UI.Text>(); } bool value = false; switch (propertyToggled) { case PropertiesToToggle.Protein: value = addAtoms.proteinShowing; break; case PropertiesToToggle.Ribbons: value = addAtoms.ribbonShowing; break; case PropertiesToToggle.AlphaTrace: value = addAtoms.alphaShowing; break; case PropertiesToToggle.Water: value = addAtoms.waterShowing; break; case PropertiesToToggle.Ions: value = addAtoms.ionsShowing; break; case PropertiesToToggle.HBond: value = addAtoms.HBondShowing; break; case PropertiesToToggle.Ligand: value = addAtoms.hetatmStick || addAtoms.hetatmBS; break; } if (value) { Text.color = LabelOnColor; } else { Text.color = LabelOffColor; } return(value); }
void Start() { leapController = new Controller(); addAtoms = gameObject.GetComponent <AddAtoms>(); molRoot = GameObject.Find("molRoot"); molRootOffset = Vector3.zero; mainCamera = GameObject.FindGameObjectWithTag("MainCamera").transform; menuTransform = transform.FindChild("Menu"); LeapHandControllerTransform = transform.FindChild("LMHeadMountedRig/TrackingSpace/CenterEyeAnchor/HeadMount/LeapHandController"); LeftHandObjectTransform = LeapHandControllerTransform.FindChild("ImageFullLeftHand(Clone)/HandContainer"); //Hide menu toggle if only 1 ligand is present if (addAtoms.CollectionOfLigands == null) { menuTransform.FindChild("ToggleMenuButtons").gameObject.SetActive(false); } menus = new GameObject[menuTransform.childCount - 1]; for (int i = 0; i < menus.Length; i++) { menus[i] = menuTransform.GetChild(i).gameObject; menus[i].SetActive(false); } menus[menuShowing].SetActive(true); // Move children of molRoot to position molRoot origin in middle of ligand GameObject[] hetatms = GameObject.FindGameObjectsWithTag("hetatmbs"); Vector3 sumOfPos = Vector3.zero; for (int i = 0; i < hetatms.Length; i++) { sumOfPos += hetatms[i].transform.localPosition; } Vector3 offset = sumOfPos / hetatms.Length; foreach (Transform child in molRoot.transform) { child.localPosition -= offset; } }
void Awake() { Controller = gameObject.GetComponent <CharacterController> (); if (Controller == null) { Debug.LogWarning("OVRPlayerController: No CharacterController attached."); } // We use OVRCameraRig to set rotations to cameras, // and to be influenced by rotation OVRCameraRig[] CameraControllers; CameraControllers = gameObject.GetComponentsInChildren <OVRCameraRig> (); if (CameraControllers.Length == 0) { Debug.LogWarning("OVRPlayerController: No OVRCameraRig attached."); } else if (CameraControllers.Length > 1) { Debug.LogWarning("OVRPlayerController: More then 1 OVRCameraRig attached."); } else { CameraController = CameraControllers [0]; } YRotation = transform.rotation.eulerAngles.y; Physics.IgnoreLayerCollision(0, 8); //ignores collisions between the player and all objects menu = gameObject.GetComponent <Menu> (); source = GetComponent <UnityEngine.AudioSource> (); addAtoms = gameObject.GetComponent <AddAtoms> (); addAtoms.Init(); // load the file addAtoms.parsePDB(); //populate the scene Quaternion ort = (HmdRotatesY) ? CameraController.centerEyeAnchor.rotation : transform.rotation; addAtoms.setPosition(ort * Vector3.forward * 30 + this.transform.position); //centers the atoms infront of the user //initiate the kinect _Sensor = KinectSensor.GetDefault(); if (_Sensor != null) { _Mapper = _Sensor.CoordinateMapper; _Reader = _Sensor.OpenMultiSourceFrameReader(FrameSourceTypes.Body | FrameSourceTypes.Depth); rightHand = transform.FindChild("RightHand").gameObject; leftHand = transform.FindChild("LeftHand").gameObject; rightHandMover = rightHand.GetComponent <GestureMover> (); leftHandMover = leftHand.GetComponent <GestureMover> (); var frameDesc = _Sensor.DepthFrameSource.FrameDescription; depthFrameWidth = frameDesc.Width; if (!_Sensor.IsOpen) { _Sensor.Open(); } _gestureDatabase = VisualGestureBuilderDatabase.Create(Application.streamingAssetsPath + "/Menu2.gbd"); _gestureFrameSource = VisualGestureBuilderFrameSource.Create(_Sensor, 0); foreach (var gesture in _gestureDatabase.AvailableGestures) { _gestureFrameSource.AddGesture(gesture); if (gesture.Name == "Menu2") { _menu = gesture; } } _gestureFrameReader = _gestureFrameSource.OpenReader(); _gestureFrameReader.IsPaused = true; } }
public override void OnVRGUI() { addAtoms = gameObject.GetComponent <AddAtoms> (); source = GetComponent <AudioSource> (); GUIStyle myStyle = new GUIStyle(); myStyle.fontSize = 25; myStyle.fontStyle = FontStyle.Bold; myStyle.alignment = TextAnchor.MiddleCenter; myStyle.normal.textColor = Color.black; //has to be reset each time we draw the gui buttonCount = 0; buttons = new List <Rect> (); buttonFunctions = new List <Action> (); GUILayout.BeginArea(new Rect(0f, 0f, Screen.width, Screen.height)); if (addAtoms.proteinShowing) { GUI.Box(createRect(), "Hide Protein", myStyle); } else { GUI.Box(createRect(), "Show Protein", myStyle); } buttonFunctions.Add(() => bonds()); if (addAtoms.ribbonShowing) { GUI.Box(createRect(), "Hide Ribbons", myStyle); } else { GUI.Box(createRect(), "Show Ribbons", myStyle); } buttonFunctions.Add(() => ribbons()); if (addAtoms.alphaShowing) { GUI.Box(createRect(), "Hide Alpha Trace", myStyle); } else { GUI.Box(createRect(), "Show Alpha Trace", myStyle); } buttonFunctions.Add(() => alpha()); if (addAtoms.waterShowing) { GUI.Box(createRect(), "Hide Water", myStyle); } else { GUI.Box(createRect(), "Show Water", myStyle); } buttonFunctions.Add(() => water()); if (addAtoms.ionsShowing) { GUI.Box(createRect(), "Hide Ions", myStyle); } else { GUI.Box(createRect(), "Show Ions", myStyle); } buttonFunctions.Add(() => ions()); if (addAtoms.HBondShowing) { GUI.Box(createRect(), "Hide H-Bonds", myStyle); } else { GUI.Box(createRect(), "Show H-Bonds", myStyle); } buttonFunctions.Add(() => hbonds()); GUI.Box(createRect(), "Reset Center", myStyle); buttonFunctions.Add(() => resetTarget()); GUILayout.EndArea(); }
override protected void setDataModel(bool value) { if (addAtoms == null) { addAtoms = transform.parent.parent.gameObject.GetComponent <AddAtoms>(); } switch (propertyToggled) { case PropertiesToToggle.Protein: if (addAtoms.proteinShowing) { addAtoms.proteinShowing = addAtoms.resetProtein("bonds"); if (addAtoms.ballAndStickShowing) { addAtoms.resetProtein("balls"); } } else { addAtoms.proteinShowing = addAtoms.showMode("bonds"); if (addAtoms.ballAndStickShowing) { addAtoms.showMode("balls"); } } break; case PropertiesToToggle.Ribbons: if (addAtoms.alphaShowing) { addAtoms.alphaShowing = addAtoms.resetProtein("alpha"); } if (addAtoms.ribbonShowing) { addAtoms.ribbonShowing = addAtoms.resetProtein("ribbons"); } else { addAtoms.ribbonShowing = addAtoms.showMode("ribbons"); } break; case PropertiesToToggle.AlphaTrace: if (addAtoms.ribbonShowing) { addAtoms.ribbonShowing = addAtoms.resetProtein("ribbons"); } if (addAtoms.alphaShowing) { addAtoms.alphaShowing = addAtoms.resetProtein("alpha"); } else { addAtoms.alphaShowing = addAtoms.showMode("alpha"); } break; case PropertiesToToggle.Water: if (addAtoms.waterShowing) { addAtoms.waterShowing = addAtoms.resetProtein("water"); } else { addAtoms.waterShowing = addAtoms.showMode("water"); } break; case PropertiesToToggle.Ions: if (addAtoms.ionsShowing) { addAtoms.ionsShowing = addAtoms.resetProtein("ion"); } else { addAtoms.ionsShowing = addAtoms.showMode("ion"); } break; case PropertiesToToggle.HBond: if (addAtoms.HBondShowing) { addAtoms.HBondShowing = addAtoms.resetProtein("hbond"); } else { addAtoms.HBondShowing = addAtoms.showMode("hbond"); } break; case PropertiesToToggle.Ligand: if (addAtoms.hetatmStick || addAtoms.hetatmBS) { if (PlayerPrefs.GetString("hetatmBS") == "True") { addAtoms.hetatmBS = addAtoms.resetProtein("hetatmbs"); } else if (addAtoms.sphere) { addAtoms.hetatmBS = addAtoms.resetProtein("hetatmbs"); } addAtoms.hetatmStick = addAtoms.resetProtein("hetatms"); } else { if (PlayerPrefs.GetString("hetatmBS") == "True") { addAtoms.hetatmBS = addAtoms.showMode("hetatmbs"); } else if (addAtoms.sphere) { addAtoms.hetatmBS = addAtoms.showMode("hetatmbs"); } addAtoms.hetatmStick = addAtoms.showMode("hetatms"); } break; } }