public IHttpActionResult ObjectToDics()
        {
            var s = new StorageResources();

            s.InitializeField();
            s.Current.Init(100, 200, 300);
            s.Max.Init(1000, 1500, 1800);
            var names = new List <string> {
                "E", "Ir", "Dm"
            };
            var result = names.Select(name => StorageResourceItem.GetItemByName(s, name)).ToList();


            return(Json(result));
        }
예제 #2
0
        public BuildItemUnitView GetMotherViewModel(bool premiumIsActive, StorageResources resources = null)
        {
            if (resources == null)
            {
                resources = new StorageResources();
                resources.InitializeField();
            }
            var description = new LangField(Resource.MotherStorage, Resource.MotherStorageDescription);
            var images      = new SpriteImages().BuildImages(MotherCssNativename);

            var model = new BuildItemUnitView
            {
                TranslateName = description.Name,
                NativeName    = NativeName,
                IconSelf      = images.Icon,
                Info          = new BuildDropItemInfo
                {
                    Description = description.Name,
                    DropImage   = images.Detail
                },
                Action = new BuildDropItemAction
                {
                    ViewPath = BuildStorageActions.ViewPath,
                    Data     = new BuildStorageActions
                    {
                        StorageResources = resources,
                        Losses           = GetTransferLossesMod(1, premiumIsActive)
                    }
                },
                IsBuildItem = true
            };


            SetRequiredButtons(model);

            return(model);
        }
        public IHttpActionResult Equals()
        {
            var src = new StorageResources();

            src.InitializeField();
            src.Current.E  = 10;
            src.Current.Ir = 15;
            src.Current.Dm = 100;
            src.Max.E      = 10;
            src.Max.Ir     = 15;
            src.Max.Dm     = 100;

            var cloneTrue  = src.CloneDeep();
            var cloneFalse = src.CloneDeep();

            cloneFalse.Current.E = 6;

            var otherTrue = new StorageResources();

            otherTrue.InitializeField();
            otherTrue.Current.E  = 10;
            otherTrue.Current.Ir = 15;
            otherTrue.Current.Dm = 100;
            otherTrue.Max.E      = 10;
            otherTrue.Max.Ir     = 15;
            otherTrue.Max.Dm     = 100;


            var result = new
            {
                srcEqcloneTrue  = src.Equals(cloneTrue),
                srcEqcloneFalse = src.Equals(cloneFalse),
                srcEqotherTrue  = src.Equals(otherTrue)
            };

            return(Json(result));
        }