Beispiel #1
0
        private string[] LayerDataCopy(Project project, string[] LayerData, ChipsData[] Layerchip, string nullcharacter)
        {
            string[] result = new string[project.Runtime.Definitions.LayerSize.y];

            for (int num6 = 0; num6 < project.Runtime.Definitions.LayerSize.y; num6++)
            {
                this.StateLabel.Text = string.Concat(new string[]
                {
                    "レイヤーを移行しています...(",
                    num6.ToString(),
                    "/",
                    project.Runtime.Definitions.LayerSize.y.ToString(),
                    ")"
                });
                this.StateLabel.Refresh();
                StringBuilder stringBuilder = new StringBuilder();
                if (Global.cpd.UseLayer)
                {
                    if (num6 < LayerData.Length)
                    {
                        int num7;
                        for (num7 = 0; num7 < Global.cpd.runtime.Definitions.LayerSize.x; num7++)
                        {
                            if (num7 >= project.Runtime.Definitions.LayerSize.x)
                            {
                                break;
                            }
                            string text = LayerData[num6].Substring(num7 * Global.cpd.runtime.Definitions.LayerSize.bytesize, Global.cpd.runtime.Definitions.LayerSize.bytesize);
                            switch (this.ChipMethod.SelectedIndex)
                            {
                            case 0:                                     // 文字で合わせる
                                foreach (ChipsData chipsData5 in Layerchip)
                                {
                                    if (chipsData5.character == text)
                                    {
                                        stringBuilder.Append(chipsData5.character);
                                        break;
                                    }
                                }
                                break;

                            case 1:                                     // マップチップの位置で合わせる
                            {
                                ChipsData chipsData6 = Global.MainWnd.MainDesigner.DrawLayerRef[text];
                                foreach (ChipsData chipsData7 in Layerchip)
                                {
                                    if (chipsData6.Chips[0].pattern == chipsData7.Chips[0].pattern)
                                    {
                                        stringBuilder.Append(chipsData7.character);
                                        break;
                                    }
                                }
                                break;
                            }

                            case 2:                                     // 定義リストの順番で合わせる
                            {
                                int num10 = 0;
                                foreach (ChipsData chipsData8 in Global.cpd.Layerchip)
                                {
                                    if (chipsData8.character == text)
                                    {
                                        break;
                                    }
                                    num10++;
                                }
                                if (num10 < Layerchip.Length)
                                {
                                    stringBuilder.Append(Layerchip[num10]);
                                }
                                else
                                {
                                    stringBuilder.Append(nullcharacter);
                                }
                                break;
                            }
                            }
                        }
                        while (num7 < project.Runtime.Definitions.LayerSize.x)
                        {
                            stringBuilder.Append(nullcharacter);
                            num7++;
                        }
                    }
                    else
                    {
                        for (int num12 = 0; num12 < project.Runtime.Definitions.LayerSize.x; num12++)
                        {
                            stringBuilder.Append(nullcharacter);
                        }
                    }
                }
                else
                {
                    for (int num13 = 0; num13 < project.LayerData.Length; num13++)
                    {
                        stringBuilder = new StringBuilder();
                        for (int num14 = 0; num14 < project.Runtime.Definitions.LayerSize.x; num14++)
                        {
                            stringBuilder.Append(nullcharacter);
                        }
                    }
                }
                result[num6] = stringBuilder.ToString();
            }
            return(result);
        }
Beispiel #2
0
        private string[] StageDataCopy(Project project, string[] StageData, ChipsData[] Mapchip, string nullcharacter)
        {
            string[] result = new string[project.Runtime.Definitions.StageSize.y];

            for (int k = 0; k < project.Runtime.Definitions.StageSize.y; k++)
            {
                this.StateLabel.Text = string.Concat(new string[]
                {
                    "ステージを移行しています...(",
                    k.ToString(),
                    "/",
                    project.Runtime.Definitions.StageSize.y.ToString(),
                    ")"
                });
                this.StateLabel.Refresh();
                StringBuilder stringBuilder = new StringBuilder();
                if (k < StageData.Length)
                {
                    int l;
                    for (l = 0; l < Global.cpd.runtime.Definitions.StageSize.x; l++)
                    {
                        if (l >= project.Runtime.Definitions.StageSize.x)
                        {
                            break;
                        }
                        string text = StageData[k].Substring(l * Global.cpd.runtime.Definitions.StageSize.bytesize, Global.cpd.runtime.Definitions.StageSize.bytesize);
                        switch (this.ChipMethod.SelectedIndex)
                        {
                        case 0:                                 // 文字で合わせる
                            foreach (ChipsData chipsData in Mapchip)
                            {
                                if (chipsData.character == text)
                                {
                                    stringBuilder.Append(chipsData.character);
                                    break;
                                }
                            }
                            break;

                        case 1:                                 // マップチップの位置で合わせる
                        {
                            ChipsData chipsData2 = Global.MainWnd.MainDesigner.DrawItemRef[text];
                            foreach (ChipsData chipsData3 in Mapchip)
                            {
                                if (chipsData2.Chips[0].pattern == chipsData3.Chips[0].pattern)
                                {
                                    stringBuilder.Append(chipsData3.character);
                                    break;
                                }
                            }
                            break;
                        }

                        case 2:                                 // 定義リストの順番で合わせる
                        {
                            int num3 = 0;
                            foreach (ChipsData chipsData4 in Global.cpd.Mapchip)
                            {
                                if (chipsData4.character == text)
                                {
                                    break;
                                }
                                num3++;
                            }
                            if (num3 < Mapchip.Length)
                            {
                                stringBuilder.Append(Mapchip[num3].character);
                            }
                            else
                            {
                                stringBuilder.Append(nullcharacter);
                            }
                            break;
                        }
                        }
                    }
                    while (l < project.Runtime.Definitions.StageSize.x)
                    {
                        stringBuilder.Append(nullcharacter);
                        l++;
                    }
                }
                else
                {
                    for (int num5 = 0; num5 < project.Runtime.Definitions.StageSize.x; num5++)
                    {
                        stringBuilder.Append(nullcharacter);
                    }
                }
                result[k] = stringBuilder.ToString();
            }
            return(result);
        }