protected internal override void OnKeyDown(dfKeyEventArgs args) { if (args.Used) { return; } if (this.allowKeyboardNavigation) { if (args.KeyCode == KeyCode.LeftArrow || args.KeyCode == KeyCode.Tab && args.Shift) { this.SelectedIndex = Mathf.Max(0, this.SelectedIndex - 1); args.Use(); return; } if (args.KeyCode == KeyCode.RightArrow || args.KeyCode == KeyCode.Tab) { dfTabstrip selectedIndex = this; selectedIndex.SelectedIndex = selectedIndex.SelectedIndex + 1; args.Use(); return; } } base.OnKeyDown(args); }
private void SaveBrainToServer() { dfTabstrip tabStrip = GameObject.Find("Tabstrip").GetComponent <dfTabstrip>(); switch (tabStrip.SelectedIndex) { case 0: Settings.Brain.FitnessMode = Brain.SIMPLE; break; case 1: Settings.Brain.FitnessMode = Brain.ADVANCED; break; case 2: Settings.Brain.FitnessMode = Brain.BATTLE; break; default: Settings.Brain.FitnessMode = Brain.ADVANCED; break; } Settings.Brain.Name = OptimizerParameters.Name; Settings.Brain.Description = OptimizerParameters.Description; Settings.Brain.NumInputs = OptimizerParameters.NumInputs; Settings.Brain.NumOutputs = OptimizerParameters.NumOutputs; // Simple parameters //Settings.Brain.SMovement = GameObject.Find("SMovement Checkbox").GetComponent<dfCheckbox>().IsChecked; //Settings.Brain.SDistance = GameObject.Find("SDistance Slider").GetComponent<dfSlider>().Value; //Settings.Brain.SMelee = GameObject.Find("SMelee Checkbox").GetComponent<dfCheckbox>().IsChecked; //Settings.Brain.SRifle = GameObject.Find("SRifle Checkbox").GetComponent<dfCheckbox>().IsChecked; //Settings.Brain.SMortar = GameObject.Find("SMortar Checkbox").GetComponent<dfCheckbox>().IsChecked; // Advanced parameters Settings.Brain.KeepDistance = OptimizerParameters.WApproach; Settings.Brain.DistanceToKeep = OptimizerParameters.DistanceToKeep; Settings.Brain.FaceTarget = OptimizerParameters.WAngleTowards; Settings.Brain.TurretFaceTarget = OptimizerParameters.WTurretAngleTowards; Settings.Brain.MeleeAttacks = OptimizerParameters.WMeleeAttack; Settings.Brain.MeleeHits = GameObject.Find("s_MeleeHits").GetComponent <dfSlider>().Value; Settings.Brain.MeleePrecision = GameObject.Find("s_MeleePrecision").GetComponent <dfSlider>().Value; Settings.Brain.RifleAttacks = OptimizerParameters.WRifleAttack; Settings.Brain.RifleHits = OptimizerParameters.WRifleHits; Settings.Brain.RiflePrecision = OptimizerParameters.WRiflePrecision; Settings.Brain.MortarAttacks = OptimizerParameters.WMortarAttack; Settings.Brain.MortarHits = OptimizerParameters.WMortarHits; Settings.Brain.MortarPrecision = OptimizerParameters.WMortarPrecision; Settings.Brain.MortarDamagePerHit = OptimizerParameters.WMortarDamagePerHit; Settings.Brain.TargetBehaviorMovement = System.Enum.GetName(typeof(TargetMove), OptimizerParameters.TargetMoveStrategy); //string popFilePath = Application.persistentDataPath + string.Format("/Populations/{0}.pop.xml", "MyPopulation8"); //System.IO.StreamReader stream = new System.IO.StreamReader (popFilePath); //ParseFile file = new ParseFile("joe.xml", stream.BaseStream); //Task sTask = file.SaveAsync(); //Settings.Brain.Population = file; if (ParseUser.CurrentUser != null) { Task saveTask = Settings.Brain.SaveAsync(); } }