Exemplo n.º 1
0
        /// <summary>
        /// Adds a selectlist action to the action list
        /// </summary>
        /// <param name="windowName">window where it was performed</param>
        /// <param name="activeElement">element the click was performed on</param>
        /// <param name="url">current url for action</param>
        /// <returns>action created (mainly for testing)</returns>
        public ActionSelect AddSelect(string windowName, IHTMLSelectElement activeElement, string url)
        {
            var action = new ActionSelect(_browsers[windowName], (IHTMLElement)activeElement, url);

            AddAction(action);
            return(action);
        }
Exemplo n.º 2
0
        private string WriteSelectActionToFile()
        {
            const string filename = @"C:\Work\TestRecorder3\tests\output_select.xml";
            var          action   = new ActionSelect(new BrowserWindow("window"), GetInputElement("select"));

            SerializeActionHelper.SerializeActionListToFile(new List <ActionBase> {
                action
            }, filename);
            return(filename);
        }
Exemplo n.º 3
0
        public void WriteSelectByValue()
        {
            var generator = new WatiNCSharp(GetNUnitTemplate());
            var select    = new ActionSelect(new BrowserWindow("window"));

            select.ByValue       = true;
            select.SelectedValue = "2011";
            select.ActionFinder  = new FindAttributeCollection {
                TagName = "select"
            };
            select.ActionFinder.AttributeList.Add(new FindAttribute("id", "years"));
            generator.ActionToCode(select);

            Assert.AreEqual(1, generator.Properties.Count, "different than 1 property");
            Assert.IsNotNull(generator.Properties[0], "property is blank");
            Assert.That(generator.Properties[0].PropertyCode.Contains("_browser.SelectList(Find"), "select code not working");

            Assert.AreEqual(1, generator.Code.Count, "different than 1 code line");
            Assert.That(generator.Code[0] == "selectYears.SelectByValue(\"2011\");", "other than valid code");
        }
Exemplo n.º 4
0
    public override void OnInspectorGUI()
    {
        Unit unitClass = target as Unit;

        unitClass.UnitName    = EditorGUILayout.TextField(unitClass.UnitName);
        unitClass.Description = EditorGUILayout.TextField(unitClass.Description);

        unitClass.IsSelectable = EditorGUILayout.Toggle("Selectable", unitClass.IsSelectable);
        if (unitClass.IsSelectable == true)
        {
            ActionSelect    aS  = unitClass.gameObject.GetComponent <ActionSelect>();
            Highlight       hl  = unitClass.gameObject.GetComponent <Highlight>();
            Interactive     ia  = unitClass.gameObject.GetComponent <Interactive>();
            MapBlip         mb  = unitClass.gameObject.GetComponent <MapBlip>();
            NavMeshObstacle nmo = unitClass.gameObject.GetComponent <NavMeshObstacle>();
            CapsuleCollider cc  = unitClass.gameObject.GetComponent <CapsuleCollider>();

            if (aS == null)
            {
                aS = unitClass.gameObject.AddComponent <ActionSelect>();
            }
            if (hl == null)
            {
                hl = unitClass.gameObject.AddComponent <Highlight>();
            }
            if (ia == null)
            {
                ia = unitClass.gameObject.AddComponent <Interactive>();
            }
            if (mb == null)
            {
                mb = unitClass.gameObject.AddComponent <MapBlip>();
            }
            if (nmo == null)
            {
                nmo = unitClass.gameObject.AddComponent <NavMeshObstacle>();
            }
            if (cc == null)
            {
                cc = unitClass.gameObject.AddComponent <CapsuleCollider>();
            }
        }
        else
        {
            DestroyImmediate(unitClass.gameObject.GetComponent <ActionSelect>());
            DestroyImmediate(unitClass.gameObject.GetComponent <Highlight>());
            DestroyImmediate(unitClass.gameObject.GetComponent <Interactive>());
            DestroyImmediate(unitClass.gameObject.GetComponent <MapBlip>());
            DestroyImmediate(unitClass.gameObject.GetComponent <NavMeshObstacle>());
            DestroyImmediate(unitClass.gameObject.GetComponent <CapsuleCollider>());
        }

        unitClass.IsVulnerable = EditorGUILayout.Toggle("Vulnerable", unitClass.IsVulnerable);
        if (unitClass.IsVulnerable == true)
        {
            EditorGUI.indentLevel         += 1;
            unitClass.HitPoint             = EditorGUILayout.FloatField("Hitpoints", unitClass.HitPoint);
            unitClass.HitPointRegeneration = EditorGUILayout.FloatField("Hitpoint Regeneration:", unitClass.HitPointRegeneration);
            unitClass.HitPointRecoveryTime = EditorGUILayout.IntField("Recovery Time:", unitClass.HitPointRecoveryTime);
            unitClass.ArmorPoint           = EditorGUILayout.IntField("Armor:", unitClass.ArmorPoint);
            unitClass.ArmorType            = (Unit.Armor)EditorGUILayout.EnumPopup("Armor Type:", unitClass.ArmorType);
            EditorGUI.indentLevel         -= 1;

            Health h = unitClass.gameObject.GetComponent <Health>();
            if (h == null)
            {
                h = unitClass.gameObject.AddComponent <Health>();
            }
        }
        else
        {
            DestroyImmediate(unitClass.gameObject.GetComponent <Health>());
        }

        unitClass.IsMovable = EditorGUILayout.Toggle("Movable", unitClass.IsMovable);
        if (unitClass.IsMovable == true)
        {
            EditorGUI.indentLevel  += 1;
            unitClass.MovementSpeed = EditorGUILayout.FloatField("Movement Speed:", unitClass.MovementSpeed);
            unitClass.IsFlying      = EditorGUILayout.Toggle("Flying", unitClass.IsFlying);
            EditorGUI.indentLevel  -= 1;

            NavMeshObstacle nmo = unitClass.gameObject.GetComponent <NavMeshObstacle>();
            nmo.enabled = false;

            NavMeshAgent nma = unitClass.gameObject.GetComponent <NavMeshAgent>();
            Pathfinding  p   = unitClass.gameObject.GetComponent <Pathfinding>();

            if (nma == null)
            {
                nma = unitClass.gameObject.AddComponent <NavMeshAgent>();
            }
            if (p == null)
            {
                p = unitClass.gameObject.AddComponent <Pathfinding>();
            }
        }
        else
        {
            DestroyImmediate(unitClass.gameObject.GetComponent <NavMeshAgent>());
            DestroyImmediate(unitClass.gameObject.GetComponent <Pathfinding>());
        }

        unitClass.IsBuildable = EditorGUILayout.Toggle("Buildable", unitClass.IsBuildable);
        if (unitClass.IsBuildable == true)
        {
            EditorGUI.indentLevel   += 1;
            unitClass.CostGold       = EditorGUILayout.IntField("Gold Cost:", unitClass.CostGold);
            unitClass.CostLumber     = EditorGUILayout.IntField("Lumber Cost:", unitClass.CostLumber);
            unitClass.CostPopulation = EditorGUILayout.IntField("Population Cost:", unitClass.CostPopulation);
            unitClass.BuildTime      = EditorGUILayout.IntField("Build Time:", unitClass.BuildTime);
            EditorGUI.indentLevel   -= 1;
        }

        unitClass.HasAttack = EditorGUILayout.Toggle("Attacker", unitClass.HasAttack);
        if (unitClass.HasAttack == true)
        {
            EditorGUI.indentLevel   += 1;
            unitClass.AttackGround   = EditorGUILayout.IntField("Ground Attack:", unitClass.AttackGround);
            unitClass.AttackAir      = EditorGUILayout.IntField("Air Attack:", unitClass.AttackAir);
            unitClass.AttackRange    = EditorGUILayout.FloatField("Range:", unitClass.AttackRange);
            unitClass.AttackRangeAir = EditorGUILayout.FloatField("Air Range:", unitClass.AttackRangeAir);
            unitClass.AttackSpeed    = EditorGUILayout.FloatField("Attack Speed:", unitClass.AttackSpeed);
            unitClass.AttackSpeedAir = EditorGUILayout.FloatField("Air Attack Speed:", unitClass.AttackSpeedAir);
            unitClass.AttackType     = (Unit.Attack)EditorGUILayout.EnumPopup("Attack Type:", unitClass.AttackType);
            EditorGUI.indentLevel   -= 1;

            Combat         c  = unitClass.GetComponent <Combat>();
            SphereCollider sc = unitClass.GetComponent <SphereCollider>();

            if (c == null)
            {
                c = unitClass.gameObject.AddComponent <Combat>();
            }
            if (sc == null)
            {
                sc = unitClass.gameObject.AddComponent <SphereCollider>();
            }

            sc.isTrigger = true;
        }
        else
        {
            DestroyImmediate(unitClass.gameObject.GetComponent <Combat>());
            DestroyImmediate(unitClass.gameObject.GetComponent <SphereCollider>());
        }

        unitClass.HasVision = EditorGUILayout.Toggle("Vision", unitClass.HasVision);
        if (unitClass.HasVision == true)
        {
            EditorGUI.indentLevel += 1;
            unitClass.VisionRange  = EditorGUILayout.FloatField("Vision Range:", unitClass.VisionRange);
            EditorGUI.indentLevel -= 1;

            FogOfWarInfluence fowi = unitClass.gameObject.GetComponent <FogOfWarInfluence>();

            if (fowi == null)
            {
                unitClass.gameObject.AddComponent <FogOfWarInfluence>();
            }
        }
        else
        {
            DestroyImmediate(unitClass.gameObject.GetComponent <FogOfWarInfluence>());
            DestroyImmediate(unitClass.gameObject.GetComponent <SphereCollider>());
        }

        unitClass.HasMana = EditorGUILayout.Toggle("Mana", unitClass.HasMana);
        if (unitClass.HasMana == true)
        {
            EditorGUI.indentLevel     += 1;
            unitClass.ManaPool         = EditorGUILayout.IntField("Mana Pool:", unitClass.ManaPool);
            unitClass.ManaRegeneration = EditorGUILayout.FloatField("Mana Regeneration:", unitClass.ManaRegeneration);
            EditorGUI.indentLevel     -= 1;
        }

        if (GUI.changed)
        {
            EditorUtility.SetDirty(target);
        }
    }