//change a display type of a molecule from molecule list to deviceWithMolecules list void displayMoleculeInDevice(DisplayedMolecule molecule, EquipedDisplayedDeviceWithMolecules eddwm) { if ((molecule.getDisplayType() == DisplayedMolecule.DisplayType.MOLECULELIST) || !isAlreadyDisplayedInADevice(molecule.getCodeName())) { _displayedListMoleculesCount--; } eddwm.addDisplayedMolecule(molecule); }
void displayMoleculeInList(EquipedDisplayedDeviceWithMolecules eddwm) { string moleculeCodeName = eddwm.device.getFirstGeneProteinName(); if (isAlreadyDisplayedInADevice(moleculeCodeName)) { _displayedMolecules.Remove(eddwm.getDisplayedMolecule()); } else { eddwm.releaseMoleculeDisplay(); _displayedListMoleculesCount++; } }
void safeInitialization() { if (null == equipedWithMoleculesDeviceDummy) { EquipedDisplayedDeviceWithMolecules script = this.gameObject.GetComponentInChildren <EquipedDisplayedDeviceWithMolecules>() as EquipedDisplayedDeviceWithMolecules; equipedWithMoleculesDeviceDummy = script.gameObject; } if (null == equipedWithMoleculesDeviceDummy) { equipedWithMoleculesDeviceDummy = this.gameObject.transform.Find("DeviceMoleculesPanel").gameObject; } if (null == equipedWithMoleculesDeviceDummy) { equipedWithMoleculesDeviceDummy = GameObject.Find("DeviceMoleculesPanel"); } }
public void removeDeviceAndMoleculesComponent(Device device) { //TODO test BioBricks equality (cf next line) EquipedDisplayedDeviceWithMolecules eddwm = _equipedDevices.Find(elt => elt.device.Equals(device)); //EquipedDisplayedDeviceWithMolecules eddwm = _equipedDevices.Find(elt => elt.device.getInternalName() == device.getInternalName()); if (null != eddwm) { displayMoleculeInList(eddwm); _equipedDevices.Remove(eddwm); Destroy(eddwm.gameObject); positionDeviceAndMoleculeComponents(0); setUnfoldingListBackgroundScale(); } else { Logger.Log("GraphMoleculeList::removeDeviceAndMoleculesComponent failed to remove eddwm", Logger.Level.WARN); } }
//change a display type of a molecule from molecule list to deviceWithMolecules list void displayMoleculeInDevice(DisplayedMolecule molecule, EquipedDisplayedDeviceWithMolecules eddwm) { if((molecule.getDisplayType() == DisplayedMolecule.DisplayType.MOLECULELIST) || !isAlreadyDisplayedInADevice(molecule.getCodeName())) { _displayedListMoleculesCount--; } eddwm.addDisplayedMolecule(molecule); }
void displayMoleculeInList(EquipedDisplayedDeviceWithMolecules eddwm) { string moleculeCodeName = eddwm.device.getFirstGeneProteinName(); if(isAlreadyDisplayedInADevice(moleculeCodeName)) { _displayedMolecules.Remove(eddwm.getDisplayedMolecule()); } else { eddwm.releaseMoleculeDisplay(); _displayedListMoleculesCount++; } }
public void addDeviceAndMoleculesComponent(DisplayedDevice equipedDeviceScript) { if (equipedDeviceScript == null) { Logger.Log("GraphMoleculeList::addDeviceAndMoleculesComponent device == null", Logger.Level.WARN); } else { //equipedDevice is "EquipedDevicePrefabPos" object GameObject equipedDevice = equipedDeviceScript.gameObject; bool newEquiped = (!_equipedDevices.Exists(equiped => equiped.device == equipedDeviceScript._device)); if (newEquiped) { //EquipedDisplayedDeviceWithMolecules GameObject prefab = Resources.Load(DisplayedDevice.equipedWithMoleculesPrefabURI) as GameObject; //deviceWithMoleculesComponent is "EquipedDisplayedDeviceWithMoleculesButtonPrefab" object //it needs an EquipmentDevice instance - it has only an EquipmentDeviceDummy object GameObject deviceWithMoleculesComponent = Instantiate(prefab, new Vector3(0.0f, 0.0f, 0.0f), Quaternion.identity) as GameObject; deviceWithMoleculesComponent.transform.parent = transform; deviceWithMoleculesComponent.transform.localScale = new Vector3(1f, 1f, 0); EquipedDisplayedDeviceWithMolecules eddwm = deviceWithMoleculesComponent.GetComponent <EquipedDisplayedDeviceWithMolecules>(); //equipmentDevice GameObject equipmentDevicePrefab = Resources.Load(DisplayedDevice.equipmentPrefabURI) as GameObject; GameObject equipmentDeviceComponent = Instantiate(equipmentDevicePrefab, new Vector3(0.0f, 0.0f, 0.0f), Quaternion.identity) as GameObject; eddwm.equipmentDevice = equipmentDeviceComponent; EquipmentDevice equipmentD = equipmentDeviceComponent.GetComponent <EquipmentDevice>() as EquipmentDevice; eddwm.equipmentDeviceScript = equipmentD; //equipedDevice GameObject equipedDeviceComponent = Instantiate(equipedDevice) as GameObject; eddwm.equipedDevice = equipedDeviceComponent; EquipedDisplayedDevice edd = equipedDeviceComponent.GetComponent <EquipedDisplayedDevice>() as EquipedDisplayedDevice; eddwm.equipedDeviceScript = edd; eddwm.device = equipedDeviceScript._device; edd._device = equipedDeviceScript._device; eddwm.initialize(equipmentDeviceDummy, equipedDeviceDummy); _equipedDevices.Add(eddwm); //search if there's already in the cell a molecule that this device produces foreach (DisplayedMolecule molecule in _displayedMolecules) { if (molecule.getCodeName() == eddwm.device.getFirstGeneProteinName()) { displayMoleculeInDevice(molecule, eddwm); } } //depends on displayed list of molecules //Vector3 localPosition = getNewPosition(previousEquipedDevicesCount); //deviceWithMoleculesComponent.transform.localPosition = localPosition; positionDeviceAndMoleculeComponents(); } else { Logger.Log("addDevice failed: newEquiped=" + newEquiped, Logger.Level.TRACE); } } }