Exemplo n.º 1
0
 //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);
 }
Exemplo n.º 2
0
    void displayMoleculeInList(EquipedDisplayedDeviceWithMolecules eddwm)
    {
        string moleculeCodeName = eddwm.device.getFirstGeneProteinName();

        if (isAlreadyDisplayedInADevice(moleculeCodeName))
        {
            _displayedMolecules.Remove(eddwm.getDisplayedMolecule());
        }
        else
        {
            eddwm.releaseMoleculeDisplay();
            _displayedListMoleculesCount++;
        }
    }
Exemplo n.º 3
0
 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");
     }
 }
Exemplo n.º 4
0
    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);
        }
    }
Exemplo n.º 5
0
 //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);
 }
Exemplo n.º 6
0
 void displayMoleculeInList(EquipedDisplayedDeviceWithMolecules eddwm)
 {
   string moleculeCodeName = eddwm.device.getFirstGeneProteinName();
   if(isAlreadyDisplayedInADevice(moleculeCodeName))
   {
     _displayedMolecules.Remove(eddwm.getDisplayedMolecule());
   }
   else
   {
     eddwm.releaseMoleculeDisplay();
     _displayedListMoleculesCount++;
   }
 }
Exemplo n.º 7
0
    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);
            }
        }
    }