예제 #1
0
        void InitUI()
        {
            if (MapPointerForm.IsPlistSplits())
            {
                PLISTExtendsButton.Enabled = false;
                AlreadyExtendsLabel.Show();
            }
            else if (MapPointerForm.IsExtendsPlist())
            {
                PLISTExtendsButton.Enabled = false;
                AlreadyExtendsLabel.Show();
            }
            else
            {
                PLISTExtendsButton.Enabled = true;
                AlreadyExtendsLabel.Hide();
            }

            uint max = MapPointerForm.GetDataCount(MapPointerForm.PLIST_TYPE.UNKNOWN) - 1;

            OBJ1numericUpDown.Maximum = max;
            OBJ1numericUpDown_ValueChanged(null, null);
            OBJ2numericUpDown.Maximum = max;
            OBJ2numericUpDown_ValueChanged(null, null);
            PALnumericUpDown.Maximum = max;
            PALnumericUpDown_ValueChanged(null, null);
            CONFIGnumericUpDown.Maximum = max;
            CONFIGnumericUpDown_ValueChanged(null, null);
            ANIME1numericUpDown.Maximum = max;
            ANIME1numericUpDown_ValueChanged(null, null);
            ANIME2numericUpDown.Maximum = max;
            ANIME2numericUpDown_ValueChanged(null, null);
        }
        void InitUI()
        {
            if (MapPointerForm.IsPlistSplits())
            {
                PLISTExtendsButton.Enabled = false;
                AlreadyExtendsLabel.Show();
                PLIST_EXPLAIN.Hide();
            }
            else if (MapPointerForm.IsExtendsPlist())
            {
                PLISTExtendsButton.Enabled = false;
                AlreadyExtendsLabel.Show();
                PLIST_EXPLAIN.Show();
            }
            else
            {
                PLISTExtendsButton.Enabled = true;
                AlreadyExtendsLabel.Hide();
                PLIST_EXPLAIN.Show();
            }

            Debug.Assert(SearchType != MapPointerForm.PLIST_TYPE.UNKNOWN);
            uint max = MapPointerForm.GetDataCount(this.SearchType) - 1;

            PLISTnumericUpDown.Maximum = max;

            PLISTnumericUpDown_ValueChanged(null, null);
        }
        string PlistToName(uint plist)
        {
            Debug.Assert(SearchType != MapPointerForm.PLIST_TYPE.UNKNOWN);

            if (plist == 0)
            {
                IsAlreadyUse = true;
                return(R._("PLIST=0は、書き込み禁止です。"));
            }
            List <uint> maps;

            if (MapPointerForm.IsPlistSplits())
            {//分割しているので、マップ変化だけを調べる.
                maps = MapSettingForm.GetMapIDsWherePlist(this.SearchType, plist);
                if (maps.Count < 1)
                {
                    if (this.SearchType == MapPointerForm.PLIST_TYPE.PALETTE)
                    {//パレットはオブジェクトも調べる
                        maps = MapSettingForm.GetMapIDsWherePlist(MapPointerForm.PLIST_TYPE.OBJECT, plist);
                    }
                    else if (this.SearchType == MapPointerForm.PLIST_TYPE.OBJECT)
                    {//オブジェクトはパレットも調べる
                        maps = MapSettingForm.GetMapIDsWherePlist(MapPointerForm.PLIST_TYPE.PALETTE, plist);
                    }
                    if (this.SearchType == MapPointerForm.PLIST_TYPE.ANIMATION)
                    {//ANIMATION1はANIMATION2も調べる
                        maps = MapSettingForm.GetMapIDsWherePlist(MapPointerForm.PLIST_TYPE.ANIMATION2, plist);
                    }
                    else if (this.SearchType == MapPointerForm.PLIST_TYPE.ANIMATION2)
                    {//ANIMATION2はANIMATION1も調べる
                        maps = MapSettingForm.GetMapIDsWherePlist(MapPointerForm.PLIST_TYPE.ANIMATION, plist);
                    }
                }
            }
            else
            {//分割していないので、全部調べる必要がある
                maps = MapSettingForm.GetMapIDsWherePlist(MapPointerForm.PLIST_TYPE.UNKNOWN, plist);
            }
            if (maps.Count >= 1)
            {
                IsAlreadyUse = true;
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < maps.Count; i++)
                {
                    if (i != 0)
                    {
                        sb.Append(",");
                    }
                    sb.Append(MapSettingForm.GetMapName(maps[i]));
                }
                return(R._("既に利用されています。\r\n利用マップ:{0}", sb.ToString()));
            }
            IsAlreadyUse = false;
            return(R._("マップ設定では参照されていません。\r\n(このPLISTの利用を推奨します)"));
        }
예제 #4
0
        string PlistToName(uint plist, MapPointerForm.PLIST_TYPE type)
        {
            Debug.Assert(type != MapPointerForm.PLIST_TYPE.UNKNOWN);

            if (plist == 0)
            {
                return("");
            }
            List <uint> maps;

            if (MapPointerForm.IsPlistSplits())
            {//分割しているので、マップ変化だけを調べる.
                maps = MapSettingForm.GetMapIDsWherePlist(type, plist);
                if (maps.Count < 1)
                {
                    if (type == MapPointerForm.PLIST_TYPE.PALETTE)
                    {//パレットはオブジェクトも調べる
                        maps = MapSettingForm.GetMapIDsWherePlist(MapPointerForm.PLIST_TYPE.OBJECT, plist);
                    }
                    else if (type == MapPointerForm.PLIST_TYPE.OBJECT)
                    {//オブジェクトはパレットも調べる
                        maps = MapSettingForm.GetMapIDsWherePlist(MapPointerForm.PLIST_TYPE.PALETTE, plist);
                    }
                    if (type == MapPointerForm.PLIST_TYPE.ANIMATION)
                    {//ANIMATION1はANIMATION2も調べる
                        maps = MapSettingForm.GetMapIDsWherePlist(MapPointerForm.PLIST_TYPE.ANIMATION2, plist);
                    }
                    else if (type == MapPointerForm.PLIST_TYPE.ANIMATION2)
                    {//ANIMATION2はANIMATION1も調べる
                        maps = MapSettingForm.GetMapIDsWherePlist(MapPointerForm.PLIST_TYPE.ANIMATION, plist);
                    }
                }
            }
            else
            {//分割していないので、全部調べる必要がある
                maps = MapSettingForm.GetMapIDsWherePlist(MapPointerForm.PLIST_TYPE.UNKNOWN, plist);
            }
            if (maps.Count >= 1)
            {
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < maps.Count; i++)
                {
                    if (i != 0)
                    {
                        sb.Append(",");
                    }
                    sb.Append(MapSettingForm.GetMapName(maps[i]));
                }
                return(R._("利用マップ:{0}", sb.ToString()));
            }

            if (type == MapPointerForm.PLIST_TYPE.PALETTE)
            {
                if (this.OBJ1numericUpDown.Value == plist ||
                    this.OBJ2numericUpDown.Value == plist
                    )
                {
                    return(R._("{0}と重複しています。\r\n未使用のPLISTですが、データを共有する{1}と同じ番号を利用しているため、利用できません。", R._("オブジェクト"), R._("パレット")));
                }
            }
            else if (type == MapPointerForm.PLIST_TYPE.OBJECT)
            {
                if (this.PALnumericUpDown.Value == plist)
                {
                    return(R._("{0}と重複しています。\r\n未使用のPLISTですが、データを共有する{1}と同じ番号を利用しているため、利用できません。", R._("パレット"), R._("オブジェクト")));
                }
            }
            else if (type == MapPointerForm.PLIST_TYPE.ANIMATION)
            {
                if (this.ANIME2numericUpDown.Value == plist)
                {
                    return(R._("{0}と重複しています。\r\n未使用のPLISTですが、データを共有する{1}と同じ番号を利用しているため、利用できません。", R._("タイルアニメーション2"), R._("タイルアニメーション1")));
                }
            }
            else if (type == MapPointerForm.PLIST_TYPE.ANIMATION2)
            {
                if (this.ANIME1numericUpDown.Value == plist)
                {
                    return(R._("{0}と重複しています。\r\n未使用のPLISTですが、データを共有する{1}と同じ番号を利用しているため、利用できません。", R._("タイルアニメーション1"), R._("タイルアニメーション2")));
                }
            }

            return(R._("未使用のPLISTです。新規にデザインを作りたいときに利用します。データはマップスタイルエディタからインポートしてください。"));
        }