示例#1
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 public uint GetGenderDisplayed(Zukan8Index entry)
 {
     var data = GetDexBlock(entry.DexType);
     var index = entry.Offset;
     var val = BitConverter.ToUInt32(data, index + OFS_CAUGHT);
     return (val >> 29) & 3;
 }
示例#2
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 private void SetU32(Zukan8Index entry, uint value, int ofs)
 {
     var dex = entry.DexType;
     var index = entry.Offset;
     var data = GetDexBlock(dex);
     BitConverter.GetBytes(value).CopyTo(data, index + ofs);
 }
示例#3
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 public uint GetAltFormDisplayed(Zukan8Index entry)
 {
     var data = GetDexBlock(entry.DexType);
     var index = entry.Offset;
     var val = BitConverter.ToUInt32(data, index + OFS_CAUGHT);
     return (val >> 15) & 0x1FFF; // (0x1FFF is really overkill, GameFreak)
 }
示例#4
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 private uint GetU32(Zukan8Index entry, int ofs)
 {
     var dex = entry.DexType;
     var index = entry.Offset;
     var data = GetDexBlock(dex);
     return BitConverter.ToUInt32(data, index + ofs);
 }
示例#5
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 public void SetGenderDisplayed(Zukan8Index entry, uint value = 0)
 {
     var data = GetDexBlock(entry.DexType);
     var index = entry.Offset;
     var val = BitConverter.ToUInt32(data, index + OFS_CAUGHT);
     uint nv = (val & ~(3u << 29)) | ((value & 3) << 29);
     BitConverter.GetBytes(nv).CopyTo(data, index + OFS_CAUGHT);
 }
示例#6
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
        public void SetSeenRegion(Zukan8Index entry, int form, int region, bool value = true)
        {
            if ((uint) region >= SeenRegionCount)
                throw new ArgumentException(nameof(region));
            if ((uint) form > 63)
                return;

            var data = GetDexBlock(entry.DexType);
            int index = entry.Offset;
            var ofs = SeenRegionSize * region;
            SetFlag(data, index + ofs, form, value);
        }
示例#7
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
        public bool GetSeen(Zukan8Index entry)
        {
            byte[] data = GetDexBlock(entry.DexType);
            int offset = entry.Offset;
            for (int i = 0; i < SeenRegionCount; i++)
            {
                var ofs = offset + (SeenRegionSize * i);
                if (BitConverter.ToUInt64(data, ofs) != 0)
                    return true;
            }

            return false;
        }
示例#8
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
        public bool GetSeenRegion(Zukan8Index entry, int form, int region)
        {
            if ((uint)region >= SeenRegionCount)
                throw new ArgumentException(nameof(region));
            if ((uint)form > 63)
                return false;

            var dex = entry.DexType;
            var offset = entry.Offset;
            var data = GetDexBlock(dex);
            var ofs = SeenRegionSize * region;
            return GetFlag(data, offset + ofs, form);
        }
示例#9
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 public void SetBattledCount(Zukan8Index entry, uint value) => SetU32(entry, value, OFS_BATTLED);
示例#10
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 public uint GetBattledCount(Zukan8Index entry) => GetU32(entry, OFS_BATTLED);
示例#11
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 public void SetCaughtFlags32(Zukan8Index entry, uint value) => SetU32(entry, value, OFS_CAUGHT);
示例#12
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 public void SetDisplayShiny(Zukan8Index entry, bool value = true) => SetCaughtFlagID(entry, 31, value);
示例#13
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 public bool GetDisplayShiny(Zukan8Index entry) => GetCaughtFlagID(entry, 31);
示例#14
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 public bool GetIsLanguageIndexObtained(Zukan8Index entry, int langIndex) => GetCaughtFlagID(entry, 2 + langIndex);
示例#15
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 public bool GetCaught(Zukan8Index entry) => GetCaughtFlagID(entry, 0);
示例#16
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 public void SetCaught(Zukan8Index entry, bool value = true) => SetCaughtFlagID(entry, 0, value);
示例#17
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 private void ClearDexEntryAll(Zukan8Index entry)
 {
     var data = GetDexBlock(entry.DexType);
     Array.Clear(data, entry.Offset, EntrySize);
 }
示例#18
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 public bool GetCaughtGigantamaxed(Zukan8Index entry) => GetCaughtFlagID(entry, 1);
示例#19
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 public void SetCaughtFlagID(Zukan8Index entry, int bit, bool value = true)
 {
     var data = GetDexBlock(entry.DexType);
     SetFlag(data, entry.Offset + OFS_CAUGHT, bit, value);
 }
示例#20
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 private bool GetCaughtFlagID(Zukan8Index entry, int bit)
 {
     var data = GetDexBlock(entry.DexType);
     return GetFlag(data, entry.Offset + OFS_CAUGHT, bit);
 }
示例#21
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 public void SetIsLanguageIndexObtained(Zukan8Index entry, int langIndex, bool value = true) => SetCaughtFlagID(entry, 2 + langIndex, value);
示例#22
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 public uint GetUnk2Count(Zukan8Index entry) => GetU32(entry, OFS_UNK2);
示例#23
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 public void SetUnk2Count(Zukan8Index entry, uint value) => SetU32(entry, value, OFS_UNK2);
示例#24
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 public bool GetDisplayDynamaxInstead(Zukan8Index entry) => GetCaughtFlagID(entry, 28);
示例#25
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 public void SetDisplayDynamaxInstead(Zukan8Index entry, bool value = true) => SetCaughtFlagID(entry, 28, value);
示例#26
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 public void SetCaughtGigantamax(Zukan8Index entry, bool value = true) => SetCaughtFlagID(entry, 1, value);
示例#27
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 public Zukan8EntryInfo(int species, Zukan8Index entry)
 {
     Species = species;
     Entry = entry;
 }
示例#28
0
文件: Zukan8.cs 项目: Abyzab/PKHeX
 public bool GetEntry(int species, out Zukan8Index entry) => DexLookup.TryGetValue(species, out entry);