예제 #1
0
    public void ChangeOwnership(PersonalID personalID)
    {
        var newPersonalID = new PersonalID();

        newPersonalID.Name     = personalID.Name;
        newPersonalID.UniqueId = 0xFFFFFFFF;
        newPersonalID.TownId   = personalID.TownId;
        PersonalID             = newPersonalID;
    }
예제 #2
0
    public static PersonalID Read(BinaryData data, int offset)
    {
        var ret = new PersonalID();

        ret.TownId   = TownID.Read(data, offset);
        ret.UniqueId = data.ReadU32(offset + 0x1C);
        ret.Name     = data.ReadString(offset + 0x20, 10);
        return(ret);
    }
예제 #3
0
        public DesignPattern(int idx)
        {
            Index = idx;
            var save    = MainSaveFile.Singleton();
            var offsets = GetOffsetsFromRevision();

            Offset = offsets.BaseOffset + idx * offsets.Size;

            Name       = save.ReadString(Offset + offsets.Name, 20);
            PersonalID = save.ReadStruct <PersonalID>(Offset + offsets.PersonalID);

            for (int i = 0; i < 15; i++)
            {
                Palette[i] = new DesignColor(Offset + offsets.Palette + i * 3);
            }

            this.Pixels = save.ReadArray <byte>(Offset + offsets.Image, this.Pixels.Length);
        }
예제 #4
0
        public DesignPattern(ISaveFile saveFile, int idx)
        {
            SaveFile = saveFile;
            Index    = idx;
            var offsets = MainOffsets.GetOffsets(SaveFile.GetRevision());

            Offset = offsets.Offset_Patterns + idx * offsets.Pattern_Size;

            Name       = SaveFile.ReadString(Offset + offsets.Pattern_Name, 20);
            PersonalID = SaveFile.ReadStruct <PersonalID>(Offset + offsets.Pattern_PersonalID);

            for (int i = 0; i < 15; i++)
            {
                Palette[i] = new DesignColor(saveFile, Offset + offsets.Pattern_Palette + i * 3);
            }

            Pixels = SaveFile.ReadArray <byte>(Offset + offsets.Pattern_ImageData, Pixels.Length);
        }
        public DesignPattern(int idx, bool proDesign = false)
        {
            IsPro = proDesign;
            Index = idx;
            var save    = MainSaveFile.Singleton();
            var offsets = proDesign ? GetProDesignOffsetsFromRevision() : GetOffsetsFromRevision();

            Offset = offsets.BaseOffset + idx * offsets.Size;

            Type       = (TypeEnum)save.ReadU8(Offset + offsets.Type);
            Name       = save.ReadString(Offset + offsets.Name, 20);
            PersonalID = save.ReadStruct <PersonalID>(Offset + offsets.PersonalID);

            for (int i = 0; i < 15; i++)
            {
                Palette[i] = new DesignColor(Offset + offsets.Palette + i * 3);
            }

            if (this.Type == TypeEnum.SimplePattern)
            {
                this.Pixels = save.ReadArray <byte>(Offset + offsets.Image, (this.Width / 2) * this.Height);
            }
            else
            {
                // create one big picture
                var pixels = save.ReadArray <byte>(Offset + offsets.Image, (this.Width / 2) * this.Height);
                this.Pixels = new byte[this.Width / 2 * this.Height];
                for (int y = 0; y < this.Height; y++)
                {
                    for (int x = 0; x < this.Width / 2; x++)
                    {
                        var offset = (x >= this.Width / 4 ? 0x200 : 0x0) + (y >= this.Height / 2 ? 0x400 : 0x0);
                        this.Pixels[x + y * this.Width / 2] = pixels[offset + x % (this.Width / 4) + (y % (this.Height / 2)) * (this.Width / 4)];
                    }
                }
            }
        }
예제 #6
0
        protected void BtnSubmit_Click(object sender, EventArgs e)
        {
            //string url = @"E:\名录宝\MLMGC\Web\Resource\PersonalData\1\1.xls";
            //ImportData import = new ImportData(PersonalID, url);
            //bool b = import.Import();
            //if (b)//导入成功删除文件
            //{
            //    //System.IO.File.Delete(url);
            //}
            //Jscript.ShowMsg(b ? "全部导入成功" : String.Join("\\r\\n", import.Result), this);
            //上传文件
            List <PFileInfo> list = FileUpload1.Upload(PersonalID.ToString());

            if (list.Count == 1)//==1 上传成功
            {
                ImportData import = new ImportData(PersonalID, list[0].FilePath + list[0].FileAddress);
                bool       b      = import.Import();
                Jscript.AlertAndRedirect(this, b ? "导入成功" : string.Join("\\r\\n", import.Result), "Importing.aspx");
            }
            else
            {
                Jscript.ShowMsg("上传文件失败", this);
            }
        }
예제 #7
0
 protected void Page_Load(object sender, EventArgs e)
 {
     FileUpload1.VirtualPath = MLMGC.COMP.Config.PersonalDataFoler + "/" + PersonalID.ToString() + "/";
     FileUpload1.FileExt     = MLMGC.COMP.Config.ImportingExt;
 }