//Base init method for map objects protected void MapObjectInit() { on = true; z = 0; manager = GameObject.Find("Manager").GetComponent <Manager>(); manager.AddMapObject(this); display = GetComponentInChildren <SelectDisplay>(); }
public Molecule(Molecule m) : base(m) { chains = new List<Chain> (); residues = new List<Residue> (); atoms = new List<Atom> (); for (int i = 0; i<m.Chains.Count; i++) { Chain c= new Chain(m.Chains[i]); this.Chains.Add(c); for (int j = 0; j<m.Chains[i].Residues.Count; j++) { Residue r = new Residue(m.Chains[i].Residues[j],c); this.Chains[i].Residues.Add(r); this.Residues.Add(r); for (int k =0; k<m.Chains[i].Residues[j].Atoms.Count; k++) { Atom a = new Atom(m.Chains[i].Residues[j].Atoms[k],r,c); this.Chains[i].Residues[j].Atoms.Add(a); this.Chains[i].Atoms.Add(a); this.Atoms.Add(a); } } } bonds = new List<int[]> (m.Bonds); chainsBonds = new List<List<int>> (m.chainsBonds); color = m.color; type = m.type; render = m.render; select = m.select; energies = m.energies; }
public void SetSelect(SelectDisplay s,int index) { switch (s) { case SelectDisplay.Atom : if(!selects[index].MinDistAtom.Selected[index]){ selects[index].MinDistAtom.Selected[index] = true; selects[index].MinDistAtom.ForceGameobject[index] = (GameObject)Instantiate (Resources.Load("Prefabs/Arrow") as GameObject,selects[index].MinDistAtom.Location[Main.current_frame], Quaternion.identity); selects[index].MinDistAtom.ForceGameobject[index].transform.SetParent(transform,true); selects[index].selectedAtoms.Add(selects[index].MinDistAtom); } else{ selects[index].MinDistAtom.Selected[index] = false; GameObject.Destroy(selects[index].MinDistAtom.ForceGameobject[index]); selects[index].selectedAtoms.Remove(selects[index].MinDistAtom); } break; case SelectDisplay.Residue : if(!selects[index].MinDistResidue.Selected[index]){ selects[index].MinDistResidue.Selected[index] = true; selects[index].MinDistResidue.ForceGameobject[index] =(GameObject)Instantiate (Resources.Load("Prefabs/Arrow") as GameObject,selects[index].MinDistResidue.Location[Main.current_frame], Quaternion.identity); selects[index].MinDistResidue.ForceGameobject[index].transform.SetParent(transform,true); selects[index].selectedResidues.Add(selects[index].MinDistResidue); } else{ selects[index].MinDistResidue.Selected[index] = false; GameObject.Destroy(selects[index].MinDistResidue.ForceGameobject[index]); selects[index].selectedResidues.Remove(selects[index].MinDistResidue); } break; case SelectDisplay.Chain : if(!selects[index].MinDistChain.Selected[index]){ selects[index].MinDistChain.Selected[index] = true; selects[index].MinDistChain.ForceGameobject[index] = (GameObject)Instantiate (Resources.Load("Prefabs/Arrow") as GameObject,selects[index].MinDistChain.Location[Main.current_frame], Quaternion.identity); selects[index].MinDistChain.ForceGameobject[index].transform.SetParent(transform,true); selects[index].selectedChains.Add(selects[index].MinDistChain); } else{ selects[index].MinDistChain.Selected[index] = false; GameObject.Destroy(selects[index].MinDistChain.ForceGameobject[index]); selects[index].selectedChains.Remove(selects[index].MinDistChain); } break; default:break; } }