Exemplo n.º 1
0
        public static int AllTestsMode(Options opts)
        {
            Console.WriteLine("*** Pass name is '{0}'...", opts.ShortName);

            Database.Initialize(opts.DatabaseFile);
            Database.BeginTransaction();

            PassDbEntry passEntry = new PassDbEntry();

            passEntry.ShortName = opts.ShortName;
            passEntry.Author    = opts.Author;
            passEntry.ChangeLog = opts.ChangeLog;
            passEntry.Date      = DateTime.Now;

            Database.Put(passEntry);

            DrtStore store = new DrtStore("perf-suite-set/drtlist.xml");

            foreach (DrtItem item in store.Items)
            {
                Console.WriteLine("*** Running [{0}]", item);

                ItemDbEntry itemEntry = Database.GetItemEntryByUniqueId(item.UniqueId);
                if (itemEntry == null)
                {
                    Console.WriteLine("*** [{0}] not yet in the database, adding...", item);
                    itemEntry           = new ItemDbEntry();
                    itemEntry.UniqueId  = item.UniqueId;
                    itemEntry.Name      = item.Name;
                    itemEntry.InputFile = item.InputFile;
                    Database.Put(itemEntry);
                }

                DrtResult r = item.Run();

                ResultDbEntry resultEntry = new ResultDbEntry();
                resultEntry.Pass = passEntry;
                resultEntry.Item = itemEntry;

                if (r == null)
                {
                    resultEntry.Time = 0;
                    Console.WriteLine("*** Averaged result: 0 (FAILURE)");
                }
                else
                {
                    resultEntry.Time = r.AveragedTime;
                    Console.WriteLine("*** Averaged result: {0}usec", r.AveragedTime);
                }

                Database.Put(resultEntry);
            }

            Database.CommitTransaction();

            return(0);
        }
 private void SpawnLootEntry(ItemDbEntry entry, List <Item.Item> loot)
 {
     if (entry != null)
     {
         var item = new Item.Item();
         item.Setup(Context.Dungeon, entry, spawnInWorld: true);
         loot.Add(item);
         DropItem(item);
     }
 }
Exemplo n.º 3
0
        public SpriteRenderer SpawnItemInWorld(Item.Item item, ItemDbEntry meta)
        {
            if (item.WorldView != null)
            {
                item.WorldView.gameObject.SetActive(true);
                return(item.WorldView);
            }

            var itemView = Instantiate(_itemViewPrefab);

            itemView.name   = meta.Name;
            itemView.sprite = meta.Sprite;
            itemView.color  = meta.Color;
            return(itemView);
        }
Exemplo n.º 4
0
        public void SetPrimaryWeapon(ItemDbEntry itemMeta)
        {
            if (_primaryWeapon == null)
            {
                _primaryWeapon = GameObject.Instantiate(_db.ItemUiPrefab, _equipmentGroup, false);
            }

            if (itemMeta != null)
            {
                _primaryWeapon.sprite = itemMeta.Sprite;
                _primaryWeapon.color  = itemMeta.Color;
            }
            else
            {
                _primaryWeapon.sprite = null;
                _primaryWeapon.color  = Color.white;
            }
        }
Exemplo n.º 5
0
        public void Setup(Dungeon.Dungeon dungeon, ItemDbEntry meta, bool spawnInWorld)
        {
            _dungeon = dungeon;
            _meta    = meta;
            if (meta.Interactions.Count > 0)
            {
                _interactions = new List <IInteractible>();
                foreach (var iMeta in meta.Interactions)
                {
                    if (iMeta is IInteractibleMeta interaction)
                    {
                        _interactions.Add(interaction.Create(this));
                    }
                }
            }

            if (spawnInWorld)
            {
                _worldView = dungeon.SpawnItemInWorld(this, meta);
            }
        }