public void OnPointerDown(PointerEventData eventData)
 {
     if (Input.GetMouseButtonDown(1))      // Right
     {
         U3D_AlertPanel.EmitAlert("Do you want to delete the strain?",
                                  () => {
             Save.Strains.Remove(Strain);
             gameObject.SetActive(false);
             Save.SaveAllStrains();
             U3D_LabSceneLoad.RefreshStrainList();
         },
                                  () => { });
     }
 }
        /// <summary>
        /// 完成基因编辑重要函数
        /// </summary>
        public void FinishCreating()
        {
            var strainName = UIHelper.GetInputText("UI_Strain_Name");

            Debug.Log(strainName);
            if (strainName == "")
            {
                U3D_AlertPanel.EmitAlert("Please Enter Strain Name");
                return;
            }
            if (LabCurrent.IsLengthOverflowed)
            {
                U3D_AlertPanel.EmitAlert("The Length is Overflowed. Please Trim the Gene you carry.");
                return;
            }

            if (Save.Strains.Exists(m => m.Name == strainName))      // 修改已存在的细菌
            {
                U3D_AlertPanel.EmitAlert(string.Format(
                                             "Strain[{0}]'s Gene Data will be Covered by the modified one.\n Are you sure to modify it? The change can not be recovered.",
                                             strainName),
                                         () => { // ok
                    // 储存基因
                    var strain = Save.Strains.Find(m => m.Name == LabCurrent.Strain.Name);
                    Save.Strains.Remove(strain);
                    LabCurrent.Strain.Population = 100;
                    Save.Strains.Add(LabCurrent.Strain);
                    Save.SaveAllStrains();
                    RefreshStrainList();
                },
                                         () => { });
            }
            else   // 添加新创建的基因
            {
                LabCurrent.Strain.Name       = strainName;
                LabCurrent.Strain.Population = 100;
                Save.Strains.Add(LabCurrent.Strain);
                Save.SaveAllStrains();
                RefreshStrainList();
            }
            LabCurrent.Strain = LabCurrent.Strain == null ? new Strain(GameData.Local.AllRaces[0]) : LabCurrent.Strain.Clone() as Strain;
        }
        public void ClearSelection()
        {
            U3D_AlertPanel.EmitAlert(
                "Clear All Selected Genes?",
                () => { // ok
                LabCurrent.Strain = new CellWar.Model.Substance.Strain {
                    BasicRace = Local.AllRaces[0]
                };

                LabCurrent.RegulatoryGene = null;
                // 勾选所有的reg
                UIHelper.SwitchOffAllToggle("UI_RegList");
                UIHelper.SwitchOffAllToggle("UI_LabStrainList");

                // 刷新长度提示
                U3D_LabSceneLoad.FreshLength();
                // 替换input名字
                UIHelper.SetInputText("UI_Strain_Name", "");
            },
                () => { });
        }