コード例 #1
0
        // ---------------- Constructor ----------------

        public AssetListModel(IAssetManagerApi api, AssetListInfo listInfo)
        {
            this.DatabaseId  = listInfo.DatabaseId;
            this.Api         = api;
            this.AssetName   = listInfo.AssetTypeName;
            this.AssetTypeID = listInfo.AssetTypeId;
            this.Assets      = listInfo.AssetList;
        }
コード例 #2
0
        public IActionResult List(string database, int assetTypeId)
        {
            IActionResult action()
            {
                Guid           databaseId = ParseGuid(database);
                AssetListInfo  assets     = this.Api.DataBase.GetAssetsOfType(databaseId, assetTypeId);
                AssetListModel model      = new AssetListModel(this.Api, assets);

                return(View(model));
            }

            return(this.SafePerformAction(action));
        }
コード例 #3
0
ファイル: GameInitState.cs プロジェクト: VictorTverdy/Omni
        private void OnConfigComplete(BaseTask sender)
        {
            AssetListInfo assetList = sender.GetDataProvider().GetData <AssetListInfo> (ResponseType.Json);

            UserDataSettings.Instance.AssetList = assetList.AssetLists;
        }
コード例 #4
0
 private static Dictionary<string,AssetListInfo> GetAssetDic(TextAsset txt)
 {
     char[] end = { '\r', '\n' };
     string[] all = txt.text.Split(end, StringSplitOptions.RemoveEmptyEntries);
     Dictionary<string, AssetListInfo> list = new Dictionary<string, AssetListInfo>();
     if (list.Count % 3 != 0) return list;
     for (int i = 0; i < all.Length; )
     {
         list[all[i]]=new AssetListInfo(all[i], all[i + 1], int.Parse(all[i + 2]));
         i += 3;
     }
     return list;
 }
コード例 #5
0
        public void AddRemoveUpdateAssetTest()
        {
            // First, create a simple asset type.  We'll do colors!
            SqliteDatabaseConfig databaseConfig = new SqliteDatabaseConfig
            {
                DatabaseLocation = this.db1Location
            };
            Guid databaseId = databaseConfig.DatabaseId;

            DatabaseApi uut = new DatabaseApi(new List <IDatabaseConfig> {
                databaseConfig
            });

            int typeId = this.AddColorAttributeType(uut, databaseId);

            Assert.Greater(typeId, 0);

            int redId = this.AddRedAsset(uut, databaseId, typeId);

            this.VerifyRedAsset(uut.GetAsset(databaseId, redId));

            int greenId = this.AddGreenAsset(uut, databaseId, typeId);

            this.VerifyGreenAsset(uut.GetAsset(databaseId, greenId));
            // Ensure red wasn't modified
            this.VerifyRedAsset(uut.GetAsset(databaseId, redId));

            int blueId = this.AddBlueAsset(uut, databaseId, typeId);

            this.VerifyBlueAsset(uut.GetAsset(databaseId, blueId));
            // Ensure red and green weren't modified.
            this.VerifyRedAsset(uut.GetAsset(databaseId, redId));
            this.VerifyGreenAsset(uut.GetAsset(databaseId, greenId));

            // Add a duplicate color, blue 2.
            int blue2Id = this.AddBlueAsset(uut, databaseId, typeId);

            this.VerifyBlueAsset(uut.GetAsset(databaseId, blue2Id));
            // Ensure existing assets weren't modified.
            this.VerifyRedAsset(uut.GetAsset(databaseId, redId));
            this.VerifyGreenAsset(uut.GetAsset(databaseId, greenId));
            this.VerifyBlueAsset(uut.GetAsset(databaseId, blueId));

            // Remove duplicate blue ID
            uut.DeleteAsset(databaseId, typeId, blue2Id);
            Assert.Throws <ArgumentException>(() => uut.GetAsset(databaseId, blue2Id));    // <- Should not exist.
            // Ensure existing assets weren't modified.
            this.VerifyRedAsset(uut.GetAsset(databaseId, redId));
            this.VerifyGreenAsset(uut.GetAsset(databaseId, greenId));
            this.VerifyBlueAsset(uut.GetAsset(databaseId, blueId));

            // Edit red to make it slightly less red.
            {
                Asset redAsset = uut.GetAsset(databaseId, redId);
                AssetNameAttribute nameAttr = redAsset.CloneAttributeAsType <AssetNameAttribute>(nameKey);
                nameAttr.Value = "New Red!";
                redAsset.SetAttribute(nameKey, nameAttr);

                IntegerAttribute redAttr = redAsset.CloneAttributeAsType <IntegerAttribute>(redKey);
                redAttr.Value = 254;
                redAsset.SetAttribute(redKey, redAttr);

                IntegerAttribute greenAttr = redAsset.CloneAttributeAsType <IntegerAttribute>(greenKey);
                greenAttr.Value = 1;
                redAsset.SetAttribute(greenKey, greenAttr);

                IntegerAttribute blueAttr = redAsset.CloneAttributeAsType <IntegerAttribute>(blueKey);
                blueAttr.Value = 5;
                redAsset.SetAttribute(blueKey, blueAttr);

                uut.UpdateAsset(redId, redAsset);
                this.VerifyAsset(
                    uut.GetAsset(databaseId, redId),
                    nameAttr.Value,
                    redAttr.Value,
                    greenAttr.Value,
                    blueAttr.Value
                    );
            }

            AssetListInfo assetList = uut.GetAssetsOfType(databaseId, typeId);

            Assert.AreEqual(3, assetList.AssetList.Count);
            Assert.AreEqual(typeId, assetList.AssetTypeId);
            Assert.AreEqual(colorTypeName, assetList.AssetTypeName);
            Assert.AreEqual(databaseId, assetList.DatabaseId);
        }