public BuildMakerPresenter(IBuildMakerView view, IAddBuildItemListView addItemView, IEditBuildInfoView editBuildInfo, BuildOrderProcessorConfiguration config, IBuildOrdersManager boManager)
            : base(view)
        {
            mConfig = config;

            mBuildOrdersManager = boManager;

            mAddItemView      = addItemView;
            mAddItemPresenter = new AddBuildItemListPresenter(mAddItemView);

            mEditBuildInfoView      = editBuildInfo;
            mEditBuildInfoPresenter = new EditBuildInfoPresenter(mEditBuildInfoView, mBuildOrdersManager);

            mBuildManager = new BuildOrderProcessor(mConfig);

            view.ClearBuild       += ViewClearBuild;
            view.UndoItem         += ViewUndoItem;
            view.SaveBuild        += ViewSaveBuild;
            view.AddItemRequested += ViewAddItemRequested;
            view.BackRequested    += ViewBackRequested;

            mAddItemPresenter.ItemSelected += AddItemPresenterItemSelected;

            mEditBuildInfoPresenter.BuildSaved += EditBuildInfoPresenterBuildSaved;
        }
        public void LoadBuildOrder(BuildOrderEntity bo, BuildOrderProcessorConfiguration config)
        {
            mConfig = config;

            mBuildManager = new BuildOrderProcessor(mConfig);

            mBuildManager.LoadBuildOrder(bo);

            UpdateView();
        }
Beispiel #3
0
        public ServiceListResponse <BuildOrderItemInfo> GetProcessedBuildItems(BuildOrder build, string versionsFolder)
        {
            var config = GetConfig(build.SC2VersionID, build.Race, versionsFolder);

            var processor = new BuildOrderProcessor(config);

            var convertedBuild = ConvertModelToEntity(build);

            if (convertedBuild == null)
            {
                throw new ApplicationException("Cannot convert build order!");
            }

            processor.LoadBuildOrder(convertedBuild);

            var result = GenerateBuildItems(processor.CurrentBuildOrder, config);

            return(new ServiceListResponse <BuildOrderItemInfo>(result));
        }