Example #1
0
 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);
 }
Example #2
0
    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();
        }
    }