public void OnSelectedSelectMode() { MainConsoleView view = GetView <MainConsoleView>(); MainConsoleModel model = GetModel <MainConsoleModel>(); PolymerSelectMode selectMode = default(PolymerSelectMode); string keyword = view.GetSelectedSelectMode(); if (keyword == "Chain") { selectMode = PolymerSelectMode.Chain; } else if (keyword == "Residue") { selectMode = PolymerSelectMode.Residue; } else if (keyword == "Atom") { selectMode = PolymerSelectMode.Atom; } else { throw new System.Exception(string.Format("Unknown radial keyword : {0}", keyword)); } model.SelectMode = selectMode; }
public void OnInputClicked(InputClickedEventData eventData) { PolymerSelectMode selectMode = CoreAPI.PostCommand <MainConsoleModule, GetSelectModeCommand, PolymerSelectMode>(new GetSelectModeCommand()); //Chain是可选取的最顶层,若事件传导到ChainDisplayer则一定是SelectMode.Chain 有可能选择的Bond传导上去了 //if(selectMode!= SelectMode.Chain) { // throw new System.Exception("Logic Error"); //} CoreAPI.SendCommand <ProteinDisplayModule, SetSelectedDisplayerCommand>(new SetSelectedDisplayerCommand(this)); }
public void OnInputClicked(InputClickedEventData eventData) { PolymerSelectMode selectMode = CoreAPI.PostCommand <MainConsoleModule, GetSelectModeCommand, PolymerSelectMode>(new GetSelectModeCommand()); DisplayMode displayMode = CoreAPI.PostCommand <MainConsoleModule, GetDisplayModeCommand, DisplayMode>(new GetDisplayModeCommand()); //只有棍模型下的棍支持选取 if (displayMode != DisplayMode.Sticks) { return; } AminoacidDisplayer aminoacidDisplayer = transform.parent.GetComponent <AminoacidDisplayer>(); aminoacidDisplayer.OnInputClicked(eventData); }
public void OnInputClicked(InputClickedEventData eventData) { PolymerSelectMode selectMode = CoreAPI.PostCommand <MainConsoleModule, GetSelectModeCommand, PolymerSelectMode>(new GetSelectModeCommand()); AminoacidDisplayer aminoacidDisplayer = transform.parent.GetComponent <AminoacidDisplayer>(); if (selectMode == PolymerSelectMode.Atom) { CoreAPI.SendCommand <ProteinDisplayModule, SetSelectedDisplayerCommand>(new SetSelectedDisplayerCommand(this)); } else { aminoacidDisplayer.OnInputClicked(eventData); } }