Ejemplo n.º 1
0
    public static void TargetDirectionFilter(Property property)
    {
        var    target       = (Target)property.value;
        string targetString = target.ToString();

        if (target.entityRef.entity == null && target.direction == -1)
        {
            targetString = "Any";
        }

        GUILayout.BeginHorizontal();
        AlignedLabel(property);
        if (GUILayout.Button(targetString, GUI.skin.textField))
        {
            TargetGUI targetGUI = GUIManager.guiGameObject.AddComponent <TargetGUI>();
            targetGUI.title             = property.name;
            targetGUI.voxelArray        = VoxelArrayEditor.instance;
            targetGUI.allowNullTarget   = true;
            targetGUI.allowObjectTarget = false;
            targetGUI.handler           = (Target newTarget) =>
            {
                property.value = newTarget;
            };
        }
        GUILayout.EndHorizontal();
    }
Ejemplo n.º 2
0
    public override void FulfillTarget <T>(T[] _items)
    {
        if (_items.Length > 0 && _items[0].GetType().BaseType != typeof(Item))
        {
            return;
        }
        var items = _items as Item[];

        foreach (var item in subTargetContainers)
        {
            foreach (var obj in items)
            {
                if (obj == null)
                {
                    continue;
                }
                var color = obj.GetComponent <IColorableComponent>().color;
                if (item.color == color && item.preCount > 0)
                {
                    amount--;
                    item.preCount--;
                    var pos      = TargetGUI.GetTargetGUIPosition(color);
                    var itemAnim = new GameObject();
                    var animComp = itemAnim.AddComponent <AnimateItems>();
                    animComp.InitAnimation(obj.gameObject, pos, obj.transform.localScale, () => { item.changeCount(-1); });
                }
            }
        }
    }
Ejemplo n.º 3
0
    public static void Target(Property property)
    {
        var    target       = (Target)property.value;
        string targetString = target.ToString();

        Color baseColor = GUI.color;

        if (target.entityRef.entity != null)
        {
            EntityReferencePropertyManager.Next(target.entityRef.entity);
            GUI.color    = baseColor * EntityReferencePropertyManager.GetColor();
            targetString = EntityReferencePropertyManager.GetName();
        }

        GUILayout.BeginHorizontal();
        AlignedLabel(property);
        if (GUILayout.Button(targetString, GUI.skin.textField))
        {
            TargetGUI targetGUI = GUIManager.guiGameObject.AddComponent <TargetGUI>();
            targetGUI.title      = property.name;
            targetGUI.voxelArray = VoxelArrayEditor.instance;
            targetGUI.handler    = (Target newTarget) =>
            {
                property.value = newTarget;
            };
        }
        GUILayout.EndHorizontal();

        GUI.color = baseColor;
    }
Ejemplo n.º 4
0
    public override void CheckTargetItemsAfterDestroy()
    {
        if (fulledCountPerLevel.Length == 0)
        {
            fulledCountPerLevel = new int[LevelManager.THIS.fieldBoards.Count];
        }
        var sqList = LevelManager.THIS.field.GetBottomRow();

        foreach (var item in subTargetContainers)
        {
            foreach (var hItem in sqList)
            {
                if (hItem.Item == null)
                {
                    continue;
                }
                var obj            = hItem.Item;
                var ingredientName = obj.sprRenderer.FirstOrDefault().sprite.name;
                if (item.extraObject.name == ingredientName && item.preCount > 0)
                {
                    var v = LevelManager.THIS.fieldBoards.FindIndex(x => x == LevelManager.THIS.field);
                    fulledCountPerLevel[v]++;
                    amount--;
                    item.preCount--;
                    var pos      = TargetGUI.GetTargetGUIPosition(ingredientName);
                    var itemAnim = new GameObject();
                    var animComp = itemAnim.AddComponent <AnimateItems>();
                    animComp.InitAnimation(obj.gameObject, pos, obj.transform.localScale, () => { item.changeCount(-1);
//                        obj.DestroyBehaviour();
                                           });
                    obj.DestroyBehaviour();
                }
            }
        }
    }
Ejemplo n.º 5
0
 // Use this for initialization
 void Start()
 {
     txt = GetComponent <Text>();
     if (transform.parent.GetComponent <TargetGUI>() != null)
     {
         parentGUI = transform.parent.GetComponent <TargetGUI>();
     }
 }
Ejemplo n.º 6
0
        private void targetaddButton_Click(object sender, EventArgs e)
        {
            bool fail = false;

            if (targetaddTextBox.Text == String.Empty)
            {
                fail = true;
            }

            if (!System.Text.RegularExpressions.Regex.IsMatch(targetaddTextBox.Text, "^[a-zA-Z0-9_]+$"))
            {
                fail = true;
            }

            string newtargetid = targetaddTextBox.Text.ToLower();

            if (RazorEnhanced.Settings.Target.TargetExist(newtargetid))
            {
                fail = true;
            }

            if (fail)
            {
                MessageBox.Show("Invalid Target ID!",
                                "Invalid Target ID!",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Exclamation,
                                MessageBoxDefaultButton.Button1);
                return;
            }
            Mobiles.Filter filtertoadd = new Mobiles.Filter
            {
                Enabled = true
            };

            TargetGUI targettoadd = new TargetGUI();

            targettoadd.TargetGuiObject.Selector = "Nearest";
            targettoadd.TargetGuiObject.Filter   = Filter.FromMobileFilter(filtertoadd);
            targettoadd.Name = newtargetid;

            // Salvo struttura
            RazorEnhanced.Settings.Target.TargetAdd(newtargetid, targettoadd, Keys.None, true);
            Filter.RefreshTargetShortCut(targetlistBox);
            targetlistBox.SelectedIndex = targetlistBox.Items.Count - 1;
            RazorEnhanced.HotKey.Init();
        }
Ejemplo n.º 7
0
    public override void FulfillTarget <T>(T[] _items)
    {
        if (_items[0]?.GetType() != typeof(Square))
        {
            return;
        }
        var items     = _items as Square[];
        var sugarList = items?.Where(i => i.type.ToString() == GetType().ToString());
        var pos       = TargetGUI.GetTargetGUIPosition(LevelData.THIS.target.name);

        foreach (var sugarBlock in sugarList)
        {
            Vector2 scale           = sugarBlock.subSquares[0].transform.localScale;
            var     targetContainer = subTargetContainers.Where(i => sugarBlock.type.ToString().Contains(i.targetPrefab.name)).FirstOrDefault();
            amount++;
            var itemAnim = new GameObject();
            var animComp = itemAnim.AddComponent <AnimateItems>();
            animComp.InitAnimation(sugarBlock.gameObject, pos, scale, () => { targetContainer.changeCount(-1); }, sugarBlock.GetSubSquare().GetComponentInChildren <SpriteRenderer>().sprite);
            // square.DestroyBlock();
        }
    }
Ejemplo n.º 8
0
        private void SaveTarget()
        {
            List <int>  bodylist = new List <int>();
            List <int>  huelist  = new List <int>();
            List <byte> notolist = new List <byte>();

            // body list
            if (targetbodyCheckBox.Checked)
            {
                foreach (DataGridViewRow row in targetbodydataGridView.Rows)
                {
                    if (row.IsNewRow)
                    {
                        continue;
                    }
                    bodylist.Add(Convert.ToInt32(row.Cells[0].Value.ToString(), 16));
                }
            }

            // hue list
            if (targetcoloCheckBox.Checked)
            {
                foreach (DataGridViewRow row in targethueGridView.Rows)
                {
                    if (row.IsNewRow)
                    {
                        continue;
                    }
                    huelist.Add(Convert.ToInt32(row.Cells[0].Value.ToString(), 16));
                }
            }

            int maxrange;

            // max range
            if (Int32.TryParse(targetRangeMaxTextBox.Text, out maxrange))
            {
                if (maxrange < -1)
                {
                    maxrange = -1;
                }
            }
            else
            {
                maxrange = -1;
                targetRangeMaxTextBox.Text = "-1";
            }

            int minrange;

            // min range
            if (Int32.TryParse(targetRangeMinTextBox.Text, out minrange))
            {
                if (minrange < -1)
                {
                    minrange = -1;
                }
            }
            else
            {
                minrange = -1;
                targetRangeMinTextBox.Text = "-1";
            }

            // notocolor

            if (targetBlueCheckBox.Checked)
            {
                notolist.Add(0x01);
            }

            if (targetGreenCheckBox.Checked)
            {
                notolist.Add(0x02);
            }

            if (targetGreyCheckBox.Checked)
            {
                notolist.Add(0x03);
            }

            if (targetCriminalCheckBox.Checked)
            {
                notolist.Add(0x04);
            }

            if (targetOrangeCheckBox.Checked)
            {
                notolist.Add(0x05);
            }

            if (targetRedCheckBox.Checked)
            {
                notolist.Add(0x06);
            }

            if (targetYellowCheckBox.Checked)
            {
                notolist.Add(0x07);
            }

            // Genero filtro da salvare
            Mobiles.Filter filtertosave = new Mobiles.Filter
            {
                Enabled  = true,
                Bodies   = bodylist,
                Name     = targetNameTextBox.Text,
                Hues     = huelist,
                RangeMax = maxrange,
                RangeMin = minrange
            };

            if (poisonedBoth.Checked)
            {
                filtertosave.Poisoned = -1;
            }
            else if (poisonedOn.Checked)
            {
                filtertosave.Poisoned = 1;
            }
            else
            {
                filtertosave.Poisoned = 0;
            }

            if (blessedBoth.Checked)
            {
                filtertosave.Blessed = -1;
            }
            else if (blessedOn.Checked)
            {
                filtertosave.Blessed = 1;
            }
            else
            {
                filtertosave.Blessed = 0;
            }

            if (humanBoth.Checked)
            {
                filtertosave.IsHuman = -1;
            }
            else if (humanOn.Checked)
            {
                filtertosave.IsHuman = 1;
            }
            else
            {
                filtertosave.IsHuman = 0;
            }

            if (ghostBoth.Checked)
            {
                filtertosave.IsGhost = -1;
            }
            else if (ghostOn.Checked)
            {
                filtertosave.IsGhost = 1;
            }
            else
            {
                filtertosave.IsGhost = 0;
            }

            filtertosave.Female = -1;

            if (warmodeBoth.Checked)
            {
                filtertosave.Warmode = -1;
            }
            else if (warmodeOn.Checked)
            {
                filtertosave.Warmode = 1;
            }
            else
            {
                filtertosave.Warmode = 0;
            }

            if (friendBoth.Checked)
            {
                filtertosave.Friend = -1;
            }
            else if (friendOn.Checked)
            {
                filtertosave.Friend = 1;
            }
            else
            {
                filtertosave.Friend = 0;
            }

            if (paralizedBoth.Checked)
            {
                filtertosave.Paralized = -1;
            }
            else if (paralizedOn.Checked)
            {
                filtertosave.Paralized = 1;
            }
            else
            {
                filtertosave.Paralized = 0;
            }

            filtertosave.Notorieties = notolist;

            // Genero struttura da salvare
            TargetGUI targettosave = new TargetGUI();

            targettosave.TargetGuiObject.Selector = targetSelectorComboBox.Text;
            targettosave.TargetGuiObject.Filter   = Filter.FromMobileFilter(filtertosave);
            targettosave.Name = targetlistBox.SelectedItem.ToString();
            RazorEnhanced.Settings.Target.TargetReplace(targetlistBox.SelectedItem.ToString(), targettosave);
        }
Ejemplo n.º 9
0
        private void targetlistBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (targetlistBox.SelectedItem == null || targetlistBox.SelectedItem.ToString() == lasttargetselected)
            {
                return;
            }

            EnableTargetGUI();

            lasttargetselected = targetlistBox.SelectedItem.ToString();
            TargetGUI m_targ = Settings.Target.TargetRead(targetlistBox.SelectedItem.ToString());

            targethueGridView.Rows.Clear();
            targetbodydataGridView.Rows.Clear();

            // Selector
            targetSelectorComboBox.Text = m_targ.TargetGuiObject.Selector;

            //Name
            targetNameTextBox.Text = m_targ.TargetGuiObject.Filter.Name;

            // Flags
            if (m_targ.TargetGuiObject.Filter.Poisoned == -1)
            {
                poisonedBoth.Checked = true;
            }
            else if (m_targ.TargetGuiObject.Filter.Poisoned == 1)
            {
                poisonedOn.Checked = true;
            }
            else
            {
                poisonedOff.Checked = true;
            }

            if (m_targ.TargetGuiObject.Filter.Blessed == -1)
            {
                blessedBoth.Checked = true;
            }
            else if (m_targ.TargetGuiObject.Filter.Blessed == 1)
            {
                blessedOn.Checked = true;
            }
            else
            {
                blessedOff.Checked = true;
            }

            if (m_targ.TargetGuiObject.Filter.IsHuman == -1)
            {
                humanBoth.Checked = true;
            }
            else if (m_targ.TargetGuiObject.Filter.IsHuman == 1)
            {
                humanOn.Checked = true;
            }
            else
            {
                humanOff.Checked = true;
            }

            if (m_targ.TargetGuiObject.Filter.IsGhost == -1)
            {
                ghostBoth.Checked = true;
            }
            else if (m_targ.TargetGuiObject.Filter.IsGhost == 1)
            {
                ghostOn.Checked = true;
            }
            else
            {
                ghostOff.Checked = true;
            }

            if (m_targ.TargetGuiObject.Filter.Warmode == -1)
            {
                warmodeBoth.Checked = true;
            }
            else if (m_targ.TargetGuiObject.Filter.Warmode == 1)
            {
                warmodeOn.Checked = true;
            }
            else
            {
                warmodeOff.Checked = true;
            }

            if (m_targ.TargetGuiObject.Filter.Friend == -1)
            {
                friendBoth.Checked = true;
            }
            else if (m_targ.TargetGuiObject.Filter.Friend == 1)
            {
                friendOn.Checked = true;
            }
            else
            {
                friendOff.Checked = true;
            }

            if (m_targ.TargetGuiObject.Filter.Paralized == -1)
            {
                paralizedBoth.Checked = true;
            }
            else if (m_targ.TargetGuiObject.Filter.Paralized == 1)
            {
                paralizedOn.Checked = true;
            }
            else
            {
                paralizedOff.Checked = true;
            }

            // min max range
            targetRangeMaxTextBox.Text = m_targ.TargetGuiObject.Filter.RangeMax.ToString();
            targetRangeMinTextBox.Text = m_targ.TargetGuiObject.Filter.RangeMin.ToString();

            // Body ID
            if (m_targ.TargetGuiObject.Filter.Bodies.Count > 0)
            {
                targetbodyCheckBox.Checked = targetbodydataGridView.Enabled = true;
                foreach (int bodyid in m_targ.TargetGuiObject.Filter.Bodies)
                {
                    targetbodydataGridView.Rows.Add(new object[] { "0x" + bodyid.ToString("X4") });
                }
            }
            else
            {
                targetbodyCheckBox.Checked = targetbodydataGridView.Enabled = false;
            }

            // Hue
            if (m_targ.TargetGuiObject.Filter.Hues.Count > 0)
            {
                targetcoloCheckBox.Checked = targethueGridView.Enabled = true;
                foreach (int hue in m_targ.TargetGuiObject.Filter.Hues)
                {
                    targethueGridView.Rows.Add(new object[] { "0x" + hue.ToString("X4") });
                }
            }
            else
            {
                targetcoloCheckBox.Checked = targethueGridView.Enabled = false;
            }

            // noto
            targetBlueCheckBox.Checked       = targetGreenCheckBox.Checked = targetGreyCheckBox.Checked = targetCriminalCheckBox.Checked =
                targetOrangeCheckBox.Checked = targetRedCheckBox.Checked = targetYellowCheckBox.Checked = false;

            foreach (int noto in m_targ.TargetGuiObject.Filter.Notorieties)
            {
                switch (noto)
                {
                case 0x01:
                    targetBlueCheckBox.Checked = true;
                    break;

                case 0x02:
                    targetGreenCheckBox.Checked = true;
                    break;

                case 0x03:
                    targetGreyCheckBox.Checked = true;
                    break;

                case 0x04:
                    targetCriminalCheckBox.Checked = true;
                    break;

                case 0x05:
                    targetOrangeCheckBox.Checked = true;
                    break;

                case 0x06:
                    targetRedCheckBox.Checked = true;
                    break;

                case 0x07:
                    targetYellowCheckBox.Checked = true;
                    break;
                }
            }
        }
Ejemplo n.º 10
0
        private void EnhancedrgetEdit_Load(object sender, EventArgs e)
        {
            SelectorComboBox.Items.Add("Random");
            SelectorComboBox.Items.Add("Nearest");
            SelectorComboBox.Items.Add("Farthest");
            SelectorComboBox.Items.Add("Weakest");
            SelectorComboBox.Items.Add("Strongest");
            SelectorComboBox.Text = "Random";

            notocolorComboBox.Items.Add("Innocent");
            notocolorComboBox.Items.Add("Ally");
            notocolorComboBox.Items.Add("Can be attacked");
            notocolorComboBox.Items.Add("Criminal");
            notocolorComboBox.Items.Add("Enemy");
            notocolorComboBox.Items.Add("Murderer");
            notocolorComboBox.Items.Add("Invulnerable");
            notocolorComboBox.Text = "Criminal";

            tAddBody.Text  = "0x0001";
            tAddHue.Text   = "0x0000";
            tRangeMax.Text = "-1";
            tRangeMin.Text = "-1";

            RazorEnhanced.TargetGUI.TargetGUIObject targetdata = Settings.Target.TargetRead(targetid);
            RazorEnhanced.Settings.HotKey.FindTargetData(targetid, out m_k, out m_pass);

            tTargetID.Text = targetid;

            if (targetdata != null)
            {
                // Selector
                SelectorComboBox.Text = targetdata.Selector;

                // Body ID
                foreach (int bodyid in targetdata.Filter.Bodies)
                {
                    bodylistBox.Items.Add("0x" + bodyid.ToString("X4"));
                }

                // min max range
                tRangeMax.Text = targetdata.Filter.RangeMax.ToString();
                tRangeMin.Text = targetdata.Filter.RangeMin.ToString();

                // Color
                foreach (int hue in targetdata.Filter.Hues)
                {
                    huelistBox.Items.Add("0x" + hue.ToString("X4"));
                }

                // Notocolor
                foreach (int noto in targetdata.Filter.Notorieties)
                {
                    notolistBox.Items.Add(TargetGUI.GetNotoString((byte)noto));
                }

                // name
                tName.Text = targetdata.Filter.Name;

                if (targetdata.Filter.Poisoned == -1)
                {
                    poisonedBoth.Checked = true;
                }
                else if (targetdata.Filter.Poisoned == 1)
                {
                    poisonedOn.Checked = true;
                }
                else
                {
                    poisonedOff.Checked = true;
                }

                if (targetdata.Filter.Blessed == -1)
                {
                    blessedBoth.Checked = true;
                }
                else if (targetdata.Filter.Blessed == 1)
                {
                    blessedOn.Checked = true;
                }
                else
                {
                    blessedOff.Checked = true;
                }

                if (targetdata.Filter.IsHuman == -1)
                {
                    humanBoth.Checked = true;
                }
                else if (targetdata.Filter.IsHuman == 1)
                {
                    humanOn.Checked = true;
                }
                else
                {
                    humanOff.Checked = true;
                }

                if (targetdata.Filter.IsGhost == -1)
                {
                    ghostBoth.Checked = true;
                }
                else if (targetdata.Filter.IsGhost == 1)
                {
                    ghostOn.Checked = true;
                }
                else
                {
                    ghostOff.Checked = true;
                }

                if (targetdata.Filter.Warmode == -1)
                {
                    warmodeBoth.Checked = true;
                }
                else if (targetdata.Filter.Warmode == 1)
                {
                    warmodeOn.Checked = true;
                }
                else
                {
                    warmodeOff.Checked = true;
                }

                if (targetdata.Filter.Female == -1)
                {
                    femaleBoth.Checked = true;
                }
                else if (targetdata.Filter.Female == 1)
                {
                    femaleOn.Checked = true;
                }
                else
                {
                    femaleOff.Checked = true;
                }

                if (targetdata.Filter.Friend == -1)
                {
                    friendBoth.Checked = true;
                }
                else if (targetdata.Filter.Friend == 1)
                {
                    friendOn.Checked = true;
                }
                else
                {
                    friendOff.Checked = true;
                }

                if (targetdata.Filter.Paralized == -1)
                {
                    paralizedBoth.Checked = true;
                }
                else if (targetdata.Filter.Paralized == 1)
                {
                    paralizedOn.Checked = true;
                }
                else
                {
                    paralizedOff.Checked = true;
                }
            }
            else
            {
                tAddBody.Text          = "0x0000";
                tAddHue.Text           = "0x0000";
                tRangeMax.Text         = "-1";
                tRangeMin.Text         = "-1";
                SelectorComboBox.Text  = "Random";
                notocolorComboBox.Text = "Criminal";
            }
        }