public MagicSquareController(ISquareReader squareReader, 
			ISquareWriter squareWriter, IMagicSquareVerifier magicSquareVerifier)
		{
			_squareReader = squareReader;
			_squareWriter = squareWriter;
			_magicSquareVerifier = magicSquareVerifier;
		}
Пример #2
0
 public BagReader(ISquareReader reader, int bagItemsDataStart, ItemDB itemDb, EquipmentReader equipmentReader)
 {
     this.bagItemsDataStart = bagItemsDataStart;
     this.reader            = reader;
     this.itemDb            = itemDb;
     this.equipmentReader   = equipmentReader;
 }
Пример #3
0
        public EquipmentReader(ISquareReader reader, int cSlotNum, int cItemId)
        {
            this.reader = reader;

            this.cSlotNum = cSlotNum;
            this.cItemId  = cItemId;
        }
 public ActionBarUsable(ISquareReader reader, int idx1, int idx2, int idx3, int idx4)
 {
     ActionBarUseable_1To24  = new ActionBarUsableStatus(reader.GetLongAtCell(idx1));
     ActionBarUseable_25To48 = new ActionBarUsableStatus(reader.GetLongAtCell(idx2));
     ActionBarUseable_49To72 = new ActionBarUsableStatus(reader.GetLongAtCell(idx3));
     ActionBarUseable_73To96 = new ActionBarUsableStatus(reader.GetLongAtCell(idx4));
 }
        public TalentReader(ISquareReader reader, int cTalent, PlayerReader playerReader, TalentDB talentDB)
        {
            this.reader  = reader;
            this.cTalent = cTalent;

            this.playerReader = playerReader;
            this.talentDB     = talentDB;
        }
        public CreatureHistory(ISquareReader reader, int cCreature, int cDamageDone, int cDamageTaken, int cDead)
        {
            this.reader = reader;

            CombatCreatureGuid    = new RecordInt(cCreature);
            CombatDamageDoneGuid  = new RecordInt(cDamageDone);
            CombatDamageTakenGuid = new RecordInt(cDamageTaken);
            CombatDeadGuid        = new RecordInt(cDead);
        }
        public ActionBarBits(PlayerReader playerReader, ISquareReader reader, params int[] cells)
        {
            this.playerReader = playerReader;

            bits = new BitStatus[cells.Length];
            for (int i = 0; i < bits.Length; i++)
            {
                bits[i] = new BitStatus(reader.GetIntAtCell(cells[i]));
            }
        }
Пример #8
0
 public void Update(ISquareReader reader)
 {
     temp = reader.GetIntAtCell(cell);
     if (temp != Value)
     {
         Value = temp;
         Changed?.Invoke(this, EventArgs.Empty);
         LastChanged = DateTime.Now;
     }
 }
Пример #9
0
 public BagReader(ISquareReader reader, int bagItemsDataStart, List <Item> items, Dictionary <int, int> ahPrices)
 {
     this.bagItemsDataStart = bagItemsDataStart;
     this.reader            = reader;
     items.ForEach(i =>
     {
         itemDictionary.Add(i.Entry, i);
         i.AHPrice = ahPrices.ContainsKey(i.Entry) ? ahPrices[i.Entry] : i.SellPrice;
     });
 }
Пример #10
0
        public BagReader(ISquareReader reader, ItemDB itemDb, EquipmentReader equipmentReader, int cbagMeta, int citemNumCount, int cItemId, int cItemBits)
        {
            this.reader          = reader;
            this.itemDb          = itemDb;
            this.equipmentReader = equipmentReader;

            this.cBagMeta      = cbagMeta;
            this.cItemNumCount = citemNumCount;
            this.cItemId       = cItemId;
            this.cItemBits     = cItemBits;
        }
Пример #11
0
        public bool Updated(ISquareReader reader)
        {
            temp = reader.GetIntAtCell(cell);
            if (temp != Value)
            {
                Value = temp;
                Changed?.Invoke(this, EventArgs.Empty);
                LastChanged = DateTime.Now;
                return(true);
            }

            return(false);
        }
Пример #12
0
        public AddonReader(ILogger logger, DataConfig dataConfig, AreaDB areaDb, IAddonDataProvider addonDataProvider)
        {
            this.logger            = logger;
            this.addonDataProvider = addonDataProvider;

            this.squareReader = new SquareReader(this);

            this.CreatureHistory = new CreatureHistory(squareReader, 64, 65, 66, 67);

            this.ItemDb     = new ItemDB(logger, dataConfig);
            this.CreatureDb = new CreatureDB(logger, dataConfig);
            this.spellDb    = new SpellDB(logger, dataConfig);
            this.talentDB   = new TalentDB(logger, dataConfig, spellDb);

            this.EquipmentReader = new EquipmentReader(squareReader, 24, 25);
            this.BagReader       = new BagReader(squareReader, ItemDb, EquipmentReader, 20, 21, 22, 23);

            this.ActionBarCostReader = new ActionBarCostReader(squareReader, 36);

            this.GossipReader = new GossipReader(squareReader, 37);

            this.SpellBookReader = new SpellBookReader(squareReader, 71, spellDb);

            this.PlayerReader = new PlayerReader(squareReader);
            this.LevelTracker = new LevelTracker(PlayerReader);

            this.TalentReader = new TalentReader(squareReader, 72, PlayerReader, talentDB);

            this.AreaDb         = areaDb;
            this.WorldMapAreaDb = new WorldMapAreaDB(logger, dataConfig);

            UpdateLatencys = new CircularBuffer <double>(10);

            UIMapId.Changed += (object obj, EventArgs e) =>
            {
                this.AreaDb.Update(WorldMapAreaDb.GetAreaId(UIMapId.Value));
                ZoneChanged?.Invoke(this, EventArgs.Empty);
            };

            GlobalTime.Changed += (object obj, EventArgs e) =>
            {
                UpdateLatencys.Put((DateTime.Now - GlobalTime.LastChanged).TotalMilliseconds);
                AvgUpdateLatency = 0;
                for (int i = 0; i < UpdateLatencys.Size; i++)
                {
                    AvgUpdateLatency += UpdateLatencys.PeekAt(i);
                }
                AvgUpdateLatency /= UpdateLatencys.Size;
            };
        }
Пример #13
0
        public AuraCount(ISquareReader squareReader, int cell)
        {
            Hash = TargetBuff = squareReader.GetIntAtCell(cell);

            // formula
            // playerDebuffCount * 1000000 + playerBuffCount * 10000 + targetDebuffCount * 100 + targetBuffCount

            PlayerDebuff = (int)(TargetBuff / 1000000f);
            TargetBuff  -= 1000000 * PlayerDebuff;

            PlayerBuff  = (int)(TargetBuff / 10000f);
            TargetBuff -= 10000 * PlayerBuff;

            TargetDebuff = (int)(TargetBuff / 100f);
            TargetBuff  -= 100 * TargetDebuff;
        }
Пример #14
0
        public AddonReader(IColorReader colorReader, List <DataFrame> frames, ILogger logger)
        {
            this.frames       = frames;
            this.logger       = logger;
            this.colorReader  = colorReader;
            this.width        = frames.Last().point.X + 1;
            this.height       = frames.Max(f => f.point.Y) + 1;
            this.squareReader = new SquareReader(this);

            var items     = JsonConvert.DeserializeObject <List <Item> >(File.ReadAllText("../json/data/items.json"));
            var creatures = JsonConvert.DeserializeObject <List <Creature> >(File.ReadAllText("../json/data/creatures.json"));

            this.BagReader       = new BagReader(squareReader, 20, items, ReadAHPrices());
            this.equipmentReader = new EquipmentReader(squareReader, 30);
            this.PlayerReader    = new PlayerReader(squareReader, creatures);
            this.LevelTracker    = new LevelTracker(PlayerReader);
        }
Пример #15
0
        public AddonReader(ILogger logger, DataConfig dataConfig, AreaDB areaDb, IAddonDataProvider addonDataProvider)
        {
            this.logger            = logger;
            this.addonDataProvider = addonDataProvider;

            this.squareReader = new SquareReader(this);

            this.itemDb     = new ItemDB(logger, dataConfig);
            this.creatureDb = new CreatureDB(logger, dataConfig);

            this.BagReader       = new BagReader(squareReader, 20, itemDb);
            this.equipmentReader = new EquipmentReader(squareReader, 30);
            this.PlayerReader    = new PlayerReader(squareReader, creatureDb);
            this.LevelTracker    = new LevelTracker(PlayerReader);

            this.areaDb         = areaDb;
            this.worldMapAreaDb = new WorldMapAreaDB(logger, dataConfig);
        }
Пример #16
0
 public PlayerReader(ISquareReader reader, ILogger logger, List <Creature> creatures)
 {
     this.reader = reader;
     this.logger = logger;
     creatures.ForEach(i => creatureDictionary.Add(i.Entry, i));
 }
Пример #17
0
 public PlayerReader(ISquareReader reader, CreatureDB creatureDb)
 {
     this.reader     = reader;
     this.creatureDb = creatureDb;
 }
Пример #18
0
 public BagReader(ISquareReader reader, int bagItemsDataStart, ItemDB itemDb)
 {
     this.bagItemsDataStart = bagItemsDataStart;
     this.reader            = reader;
     this.itemDb            = itemDb;
 }
Пример #19
0
 public SpellBookReader(ISquareReader reader, int cSpellId, SpellDB spellDB)
 {
     this.reader   = reader;
     this.cSpellId = cSpellId;
     this.SpellDB  = spellDB;
 }
 public ActionBarCostReader(ISquareReader reader, int cellIdx)
 {
     this.cellIdx = cellIdx;
     this.reader  = reader;
 }
Пример #21
0
 public ActionBarCostReader(ISquareReader reader, int cActionbarNum)
 {
     this.cActionbarNum = cActionbarNum;
     this.reader        = reader;
 }
Пример #22
0
 public EquipmentReader(ISquareReader reader, int cellStart)
 {
     this.cellStart = cellStart;
     this.reader    = reader;
 }
Пример #23
0
 public GossipReader(ISquareReader reader, int cGossip)
 {
     this.reader  = reader;
     this.cGossip = cGossip;
 }
Пример #24
0
 public PlayerReader(ISquareReader reader)
 {
     this.reader = reader;
 }