예제 #1
0
        public void CheckCache()
        {
            if (EntriesAddressDictionary.Count != 0)
            {
                return;
            }

            foreach (long addr in RecordAddresses())
            {
                if (!EntriesAddressDictionary.ContainsKey(addr))
                {
                    var r = GameController.Instance.Game.IngameState.GetObject <RecordType>(addr);
                    EntriesAddressDictionary.Add(addr, r);
                    EntriesList.Add(r);
                    EntryAdded(addr, r);
                }
            }
        }
예제 #2
0
        public void CheckCache()
        {
            if (EntriesAddressDictionary.Count != 0)
            {
                return;
            }

            foreach (var addr in RecordAddresses())
            {
                if (!EntriesAddressDictionary.ContainsKey(addr))
                {
                    var r = RemoteMemoryObject.pTheGame.GetObject <RecordType>(addr);
                    EntriesAddressDictionary.Add(addr, r);
                    EntriesList.Add(r);
                    EntryAdded(addr, r);
                }
            }
        }
예제 #3
0
 public RecordType GetByAddress(long address)
 {
     CheckCache();
     EntriesAddressDictionary.TryGetValue(address, out RecordType result);
     return(result);
 }