Пример #1
0
        internal static void Initialize()
        {
            if (_initialized)
            {
                return;
            }

            Cache = new Cache.Cache();

            CachedDistance      = Cache.Resolve <Distance>();
            CachedIsValidTarget = Cache.Resolve <IsValidTarget>();
            CachedIsInRange     = Cache.Resolve <IsInRange>();
            MinionCache         = Cache.Resolve <MinionCache>();

            CountEnemiesInRange                = Cache.Resolve <CustomCache <KeyValuePair <int, float>, int> >();
            CountAlliesInRange                 = Cache.Resolve <CustomCache <KeyValuePair <int, float>, int> >();
            CountEnemyMinionsInRange           = Cache.Resolve <CustomCache <KeyValuePair <int, float>, int> >();
            CountEnemiesInRange2               = Cache.Resolve <CustomCache <KeyValuePair <Vector3, float>, int> >();
            CountAlliesInRange2                = Cache.Resolve <CustomCache <KeyValuePair <Vector3, float>, int> >();
            CountEnemyMinionsInRange2          = Cache.Resolve <CustomCache <KeyValuePair <Vector3, float>, int> >();
            CachedAutoAttackDamage             = Cache.Resolve <CustomCache <Tuple <int, int, bool>, float> >();
            CachedAutoAttackDamage.RefreshRate = 1000;
            CachedSpellDamage             = Cache.Resolve <CustomCache <Tuple <int, int, SpellSlot>, float> >();
            CachedSpellDamage.RefreshRate = 1000;

            _initialized = true;
        }
Пример #2
0
        public void TestFillCache()
        {
            Cache.Cache cache = new Cache.Cache();

            var assets = new Dictionary <OpenMetaverse.UUID, byte[]>();

            for (int i = 0; i < 10; i++)
            {
                var id   = OpenMetaverse.UUID.Random();
                var data = new byte[Config.Constants.MAX_CACHEABLE_ASSET_SIZE];
                assets.Add(id, data);
                cache.CacheAssetData(id, data);
            }

            Assert.AreEqual(10, cache.ItemCount);
            Assert.AreEqual(Config.Constants.MAX_CACHEABLE_ASSET_SIZE * 10, cache.Size);

            foreach (var kvp in assets)
            {
                Cache.CacheEntry entry;
                Assert.IsTrue(cache.TryGetAsset(kvp.Key, out entry));
                Assert.AreEqual(kvp.Value.Length, entry.Size);
                Assert.AreEqual(entry.Data.Length, Config.Constants.MAX_CACHEABLE_ASSET_SIZE);
            }
        }
Пример #3
0
        static Twitch()
        {
            Q = new Spell.Active(SpellSlot.Q);
            W = new Spell.Skillshot(SpellSlot.W, 900, SkillShotType.Circular, 250, 1400, 275)
            {
                AllowedCollisionCount = int.MaxValue
            };
            E = new Spell.Active(SpellSlot.E, 1200);
            R = new Spell.Active(SpellSlot.R, 950);

            Cache = StaticCacheProvider.Cache;

            ColorPicker = new ColorPicker[4];

            ColorPicker[0] = new ColorPicker("TwitchW", new ColorBGRA(243, 109, 160, 255));
            ColorPicker[1] = new ColorPicker("TwitchE", new ColorBGRA(255, 210, 54, 255));
            ColorPicker[2] = new ColorPicker("TwitchR", new ColorBGRA(241, 188, 160, 255));
            ColorPicker[3] = new ColorPicker("TwitchHpBar", new ColorBGRA(255, 134, 0, 255));

            DamageIndicator.Initalize(ColorPicker[3].Color, (int)E.Range);
            DamageIndicator.DamageDelegate = HandleDamageIndicator;

            ColorPicker[3].OnColorChange += (sender, args) =>
            {
                DamageIndicator.Color = args.Color;
            };

            Text = new Text("", new Font("calibri", 15, FontStyle.Regular));

            Orbwalker.OnPreAttack += Orbwalker_OnPreAttack;
            Spellbook.OnCastSpell += Spellbook_OnCastSpell;
            Game.OnNotify         += Game_OnNotify;
        }
Пример #4
0
        static Jhin()
        {
            Q = new Spell.Targeted(SpellSlot.Q, 600);
            W = new Spell.Skillshot(SpellSlot.W, 2500, SkillShotType.Linear, 750, int.MaxValue, 40)
            {
                AllowedCollisionCount = -1
            };
            E = new Spell.Skillshot(SpellSlot.E, 750, SkillShotType.Circular, 750, null, 120);
            R = new Spell.Skillshot(SpellSlot.R, 3500, SkillShotType.Linear, 200, 5000, 80)
            {
                AllowedCollisionCount = -1
            };

            Cache = StaticCacheProvider.Cache;

            Damages             = Cache.Resolve <CustomCache <int, float> >();
            Damages.RefreshRate = 1000;

            HasBuff             = Cache.Resolve <CustomCache <int, bool> >();
            HasBuff.RefreshRate = 200;

            ColorPicker = new ColorPicker[5];

            ColorPicker[0] = new ColorPicker("JhinQ", new ColorBGRA(10, 106, 138, 255));
            ColorPicker[1] = new ColorPicker("JhinW", new ColorBGRA(177, 67, 191, 255));
            ColorPicker[2] = new ColorPicker("JhinE", new ColorBGRA(177, 67, 191, 255));
            ColorPicker[3] = new ColorPicker("JhinR", new ColorBGRA(177, 67, 191, 255));
            ColorPicker[4] = new ColorPicker("JhinHpBar", new ColorBGRA(255, 134, 0, 255));

            Orbwalker.OnPreAttack += (s, a) =>
            {
                IsPreAttack = true;

                if (!HasReloadingBuff)
                {
                    return;
                }

                a.Process   = false;
                IsPreAttack = false;
            };
            Obj_AI_Base.OnProcessSpellCast += Obj_AI_Base_OnProcessSpellCast;
            Orbwalker.OnPostAttack         += (target, args) => IsPreAttack = false;

            ChampionTracker.Initialize(ChampionTrackerFlags.VisibilityTracker);

            Spellbook.OnCastSpell += Spellbook_OnCastSpell;

            DamageIndicator.Initalize(ColorPicker[4].Color, (int)W.Range);
            DamageIndicator.DamageDelegate = HandleDamageIndicator;

            ColorPicker[4].OnColorChange += (a, b) => { DamageIndicator.Color = b.Color; };
        }
Пример #5
0
        public void TestTryStoreOversizedAsset()
        {
            Cache.Cache cache = new Cache.Cache();

            byte[]             assetData = new byte[Config.Constants.MAX_CACHEABLE_ASSET_SIZE + 1];
            OpenMetaverse.UUID id        = OpenMetaverse.UUID.Random();

            cache.CacheAssetData(id, assetData);

            Cache.CacheEntry entry;
            Assert.IsFalse(cache.TryGetAsset(OpenMetaverse.UUID.Random(), out entry));
            Assert.IsNull(entry);
        }
Пример #6
0
        public void TestRetrieveItemThatDoesntExist()
        {
            Cache.Cache cache = new Cache.Cache();

            byte[] assetData = new byte[] { 0x1, 0x2, 0x3, 0x4 };
            OpenMetaverse.UUID id = OpenMetaverse.UUID.Random();

            cache.CacheAssetData(id, assetData);

            Cache.CacheEntry entry;
            Assert.IsFalse(cache.TryGetAsset(OpenMetaverse.UUID.Random(), out entry));
            Assert.IsNull(entry);
        }
Пример #7
0
        public void TestRetrieveItemThatDoesntExist()
        {
            Cache.Cache cache = new Cache.Cache();

            byte[]             assetData = new byte[] { 0x1, 0x2, 0x3, 0x4 };
            OpenMetaverse.UUID id        = OpenMetaverse.UUID.Random();

            cache.CacheAssetData(id, assetData);

            Cache.CacheEntry entry;
            Assert.IsFalse(cache.TryGetAsset(OpenMetaverse.UUID.Random(), out entry));
            Assert.IsNull(entry);
        }
Пример #8
0
        public void TestOverflowCacheWithSmallerItem()
        {
            Cache.Cache cache = new Cache.Cache();

            for (int i = 0; i < 10; i++)
            {
                var id   = OpenMetaverse.UUID.Random();
                var data = new byte[Config.Constants.MAX_CACHEABLE_ASSET_SIZE];
                cache.CacheAssetData(id, data);
            }

            cache.CacheAssetData(OpenMetaverse.UUID.Random(), new byte[4]);

            Assert.AreEqual(10, cache.ItemCount);
            Assert.AreEqual((Config.Constants.MAX_CACHEABLE_ASSET_SIZE * 9) + Cache.Cache.BUFFER_SIZES[0], cache.Size);
        }
Пример #9
0
        public void TestSimpleCacheAndRetrieval()
        {
            Cache.Cache cache = new Cache.Cache();

            byte[]             assetData = new byte[] { 0x1, 0x2, 0x3, 0x4 };
            OpenMetaverse.UUID id        = OpenMetaverse.UUID.Random();

            cache.CacheAssetData(id, assetData);

            Assert.IsTrue(cache.HasAsset(id));
            Assert.AreEqual(1, cache.ItemCount);

            Cache.CacheEntry entry;
            Assert.IsTrue(cache.TryGetAsset(id, out entry));
            Assert.AreEqual(assetData.Length, entry.Size);
            Assert.AreEqual(entry.Data.Length, Cache.Cache.BUFFER_SIZES[0]);
            Assert.AreEqual(entry.Data.Length, cache.Size);
        }
Пример #10
0
 public Edit(AppDbContext db, Cache.Cache cache) : base(db, "211")
 {
     _cache           = cache;
     this.Title       = "Изменение ролей";
     this.Breadcrumbs = new Queue <Breadcrumb>();
     Breadcrumbs.Enqueue(new Breadcrumb {
         Title = "Главная", NavigationUrl = "/"
     });
     Breadcrumbs.Enqueue(new Breadcrumb {
         Title = "..."
     });
     Breadcrumbs.Enqueue(new Breadcrumb {
         Title = "Ролевая модель", NavigationUrl = "/settings/rolemodel/index"
     });
     Breadcrumbs.Enqueue(new Breadcrumb {
         Title = "Изменение ролей", NavigationUrl = "/settings/rolemodel/edit"
     });
 }
Пример #11
0
        public void TestSimpleCacheAndRetrieval()
        {
            Cache.Cache cache = new Cache.Cache();

            byte[] assetData = new byte[] {0x1, 0x2, 0x3, 0x4};
            OpenMetaverse.UUID id = OpenMetaverse.UUID.Random();

            cache.CacheAssetData(id, assetData);

            Assert.IsTrue(cache.HasAsset(id));
            Assert.AreEqual(1, cache.ItemCount);
            
            Cache.CacheEntry entry;
            Assert.IsTrue(cache.TryGetAsset(id, out entry));
            Assert.AreEqual(assetData.Length, entry.Size);
            Assert.AreEqual(entry.Data.Length, Cache.Cache.BUFFER_SIZES[0]);
            Assert.AreEqual(entry.Data.Length, cache.Size);
        }
Пример #12
0
        public void TestRawAssetCaching()
        {
            Cache.Cache cache = new Cache.Cache();

            OpenMetaverse.UUID id = OpenMetaverse.UUID.Random();

            StratusAsset sa = new StratusAsset {
                Id = id.Guid, Data = new byte[Config.Constants.MAX_STREAM_CACHE_SIZE * 2]
            };

            cache.CacheAssetData(id, sa);

            Assert.AreEqual(1, cache.ItemCount);
            Assert.AreEqual(Config.Constants.MAX_STREAM_CACHE_SIZE * 2, cache.Size);

            Cache.CacheEntry cachedAsset;
            Assert.IsTrue(cache.TryGetAsset(id, out cachedAsset));
            Assert.AreEqual(id.Guid, cachedAsset.FullAsset.Id);
        }
Пример #13
0
        public void TestOverflowCacheWithLargerItem()
        {
            Cache.Cache cache = new Cache.Cache();

            for (int i = 0; i < 20; i++)
            {
                var id   = OpenMetaverse.UUID.Random();
                var data = new byte[Config.Constants.MAX_CACHEABLE_ASSET_SIZE / 2];
                cache.CacheAssetData(id, data);
            }

            Assert.AreEqual(20, cache.ItemCount);
            Assert.AreEqual((Config.Constants.MAX_CACHEABLE_ASSET_SIZE / 2) * 20, cache.Size);

            cache.CacheAssetData(OpenMetaverse.UUID.Random(), new byte[Config.Constants.MAX_CACHEABLE_ASSET_SIZE]);

            Assert.AreEqual(19, cache.ItemCount);
            Assert.AreEqual(((Config.Constants.MAX_CACHEABLE_ASSET_SIZE / 2) * 18) + Config.Constants.MAX_CACHEABLE_ASSET_SIZE, cache.Size);
        }
Пример #14
0
 public LoginModel(AppDbContext db, Cache.Cache cache)
 {
     _db    = db;
     _cache = cache;
 }
Пример #15
0
        public void TestOverflowCacheWithSmallerItem()
        {
            Cache.Cache cache = new Cache.Cache();

            for (int i = 0; i < 10; i++)
            {
                var id = OpenMetaverse.UUID.Random();
                var data = new byte[Config.Constants.MAX_CACHEABLE_ASSET_SIZE];
                cache.CacheAssetData(id, data);
            }

            cache.CacheAssetData(OpenMetaverse.UUID.Random(), new byte[4]);

            Assert.AreEqual(10, cache.ItemCount);
            Assert.AreEqual((Config.Constants.MAX_CACHEABLE_ASSET_SIZE * 9) + Cache.Cache.BUFFER_SIZES[0], cache.Size);
        }
Пример #16
0
 public void Clear(Translator t, Cache.Cache cache)
 {
     evtClear(this, t, cache);
 }
Пример #17
0
 private void ConfigureCaching(HttpConfiguration configuration)
 {
     var cachingHandler = new CachingHandler(configuration);
     configuration.MessageHandlers.Add(cachingHandler);
     s_container.RegisterInstance<ICachingHandler>(cachingHandler);
     var cache = new Cache.Cache(cachingHandler);
     s_container.RegisterInstance<IAmACache>(cache);
 }
Пример #18
0
        public void TestOverflowCacheWithLargerItem()
        {
            Cache.Cache cache = new Cache.Cache();

            for (int i = 0; i < 20; i++)
            {
                var id = OpenMetaverse.UUID.Random();
                var data = new byte[Config.Constants.MAX_CACHEABLE_ASSET_SIZE / 2];
                cache.CacheAssetData(id, data);
            }

            Assert.AreEqual(20, cache.ItemCount);
            Assert.AreEqual((Config.Constants.MAX_CACHEABLE_ASSET_SIZE / 2) * 20, cache.Size);

            cache.CacheAssetData(OpenMetaverse.UUID.Random(), new byte[Config.Constants.MAX_CACHEABLE_ASSET_SIZE]);

            Assert.AreEqual(19, cache.ItemCount);
            Assert.AreEqual(((Config.Constants.MAX_CACHEABLE_ASSET_SIZE / 2) * 18) + Config.Constants.MAX_CACHEABLE_ASSET_SIZE, cache.Size);
        }
Пример #19
0
        public void TestFillCache()
        {
            Cache.Cache cache = new Cache.Cache();

            var assets = new Dictionary<OpenMetaverse.UUID, byte[]>();

            for (int i = 0; i < 10; i++)
            {
                var id = OpenMetaverse.UUID.Random();
                var data = new byte[Config.Constants.MAX_CACHEABLE_ASSET_SIZE];
                assets.Add(id, data);
                cache.CacheAssetData(id, data);
            }

            Assert.AreEqual(10, cache.ItemCount);
            Assert.AreEqual(Config.Constants.MAX_CACHEABLE_ASSET_SIZE * 10, cache.Size);

            foreach (var kvp in assets)
            {
                Cache.CacheEntry entry;
                Assert.IsTrue(cache.TryGetAsset(kvp.Key, out entry));
                Assert.AreEqual(kvp.Value.Length, entry.Size);
                Assert.AreEqual(entry.Data.Length, Config.Constants.MAX_CACHEABLE_ASSET_SIZE);
            }
        }
Пример #20
0
        public void TestTryStoreOversizedAsset()
        {
            Cache.Cache cache = new Cache.Cache();

            byte[] assetData = new byte[Config.Constants.MAX_CACHEABLE_ASSET_SIZE + 1];
            OpenMetaverse.UUID id = OpenMetaverse.UUID.Random();

            cache.CacheAssetData(id, assetData);

            Cache.CacheEntry entry;
            Assert.IsFalse(cache.TryGetAsset(OpenMetaverse.UUID.Random(), out entry));
            Assert.IsNull(entry);
        }
Пример #21
0
        public void TestRawAssetCaching()
        {
            Cache.Cache cache = new Cache.Cache();

            OpenMetaverse.UUID id = OpenMetaverse.UUID.Random();

            StratusAsset sa = new StratusAsset {Id = id.Guid, Data = new byte[Config.Constants.MAX_STREAM_CACHE_SIZE * 2] };
            cache.CacheAssetData(id, sa);

            Assert.AreEqual(1, cache.ItemCount);
            Assert.AreEqual(Config.Constants.MAX_STREAM_CACHE_SIZE * 2, cache.Size);

            Cache.CacheEntry cachedAsset;
            Assert.IsTrue(cache.TryGetAsset(id, out cachedAsset));
            Assert.AreEqual(id.Guid, cachedAsset.FullAsset.Id);
        }
Пример #22
0
 public void WriteLine(Translator t, Cache.Cache cache, string str)
 {
     evtWriteLine(this, t, cache, str);
 }
Пример #23
0
 public TeamsController(Cache.Cache cache)
 {
     _cache = cache;
 }