private IEnumerator Launch() { Pathfinder = new World.Pathfinder(Constants.GridColumns, Constants.GridRows); MainCanvas = GameObject.FindGameObjectWithTag("HudCanvas").GetComponent <Canvas>(); Inventory = gameObject.AddComponent <UI.Hud>(); Scene = gameObject.AddComponent <World.Builder>(); Player = Character.SpawnPlayer(Constants.StartingPosition, GameObject.Find("Screens").transform); Shield = Player.GetComponentInChildren <Shield>(true); Sword = Player.GetComponentInChildren <Sword>(true); Suit = Player.GetComponentInChildren <Suit>(true); var currentX = Constants.StartingTiles[0]; var currentY = Constants.StartingTiles[1]; Scene.CurrentX = currentX; Scene.CurrentY = currentY; if (!IsDebugMode) { yield return(Scene.PanScreen(new ViewModel.Grid { X = currentX, Y = currentY, Name = Constants.StartingTile })); } Player.gameObject.SetActive(true); OnLaunch?.Invoke(this, EventArgs.Empty); }
public void Launch() { if (!isInitialised) { return; } OnLaunch?.Invoke(this); StartCoroutine(Play()); }
private void CheckLaunch(AttackData attackData) { if (characterMovement.IsGrounded() == true && attackData.AttackDataStat.UserPosition.y-1 <= this.transform.position.y) { if (airborne == false) { airborne = true; characterMovement.ResetSpeedY(); characterMovement.Jump(5f - characterStatController.GetStat(statMass)); if(airborneClip != null) AudioManager.Instance.PlaySound(airborneClip); if (OnLaunch != null) OnLaunch.Invoke(); } } else if(airborne == true && bounce == false && attackData.AttackDataStat.UserPosition.y - 1 < this.transform.position.y) // Under the character { if (characterMovement.SpeedY <= 0) { characterMovement.ResetSpeedY(); //characterMovement.Jump(2f); } if (characterMovement.SpeedY < 4f) { //characterMovement.ResetSpeedY(); characterMovement.Jump(1.5f); } if (airborneClip != null) AudioManager.Instance.PlaySound(airborneClip); if (OnHitAerial != null) OnHitAerial.Invoke((int)Random.Range(attackData.AttackDataStat.FeverValue, attackData.AttackDataStat.FeverValueMax)); } else if (airborne == true && bounce == false && attackData.AttackDataStat.UserPosition.y + 1 >= this.transform.position.y) // Smackdown { bounce = true; if (OnSmackdown != null) OnSmackdown.Invoke(); } else if (characterAnimation.State == CharacterState.Jump && airborne == false && attackData.AttackDataStat.UserPosition.y - 1 <= this.transform.position.y) // Si l'ennemi a sauté et qu'on le knockback dans les air c'est bon { airborne = true; characterMovement.ResetSpeedY(); characterMovement.Jump(5f - characterStatController.GetStat(statMass)); if (airborneClip != null) AudioManager.Instance.PlaySound(airborneClip); if (OnLaunch != null) OnLaunch.Invoke(); } }
public void Launch() { IsLaunched = true; OnLaunch?.Invoke(); while (IsLaunched) { if (int.TryParse(Console.ReadLine(), out int index)) { try { if (index == _exitCode) { Stop(); break; } TElement element = _elements[index - LeftOffset]; OnValid?.Invoke(element); } catch (IndexOutOfRangeException) { OnIndexOut?.Invoke(index); } catch (Exception exception) { OnError?.Invoke(exception); } } else { Console.WriteLine(LocalizationService.CurrentReader["InvalidInputData"]); } } }
public override void Launch(Response response, dynamic arguments) { OnAdapterMessage?.Invoke(this, "[Launch]"); if (DebugAdapterStatus != DebugAdapterStatusEnum.WaitingForEngineReady) { throw new InvalidOperationException("Launch failed, engine already running"); } OnLaunch?.Invoke(this, arguments); sourceMap.Clear(); if (arguments.sourceMap != null) { foreach (var item in arguments.sourceMap) { sourceMap.Add((string)item.name, (string)item.value); } } bool pauseOnLaunch = arguments.pauseOnLaunch ?? false; if (pauseOnLaunch) { debuggingService.RequestAsyncBreak(); } SendResponse(response); }
public void Launch() { OnLaunch?.Invoke(); GetComponent <Rigidbody>().AddForce(transform.forward * launchSpeed, ForceMode.VelocityChange); }
private void Start() { Log.Info($"Start {Job.Name}"); OnLaunch?.Invoke(this); State = NodeState.INPROGRESS; }
/*************************************************************************** * * Private Methods * ***************************************************************************/ private async void Generate_File_Button_Click(object sender, RoutedEventArgs e) { //Check that all required fields have been filled if (!_validateInput()) { return; } var savePicker = new Windows.Storage.Pickers.FileSavePicker { SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.Desktop }; // Dropdown of file types the user can save the file as savePicker.FileTypeChoices.Add("APPINSTALLER file", new List <string>() { ".appinstaller" }); // Default file name if the user does not type one in or select a file to replace Windows.Storage.StorageFile file = await savePicker.PickSaveFileAsync(); try { var t = Task.Run(async() => { var fileStream = await file.OpenAsync(FileAccessMode.ReadWrite); //Create file //FileStream writer = new FileStream(file.Path, FileMode.OpenOrCreate); AppInstaller appInstaller = new AppInstaller(App.AppInstallerFilePath, App.AppInstallerVersionNumber); XmlWriterSettings settings = new XmlWriterSettings { Indent = true, OmitXmlDeclaration = false, NewLineOnAttributes = true, Encoding = Encoding.UTF8, NamespaceHandling = NamespaceHandling.OmitDuplicates }; var fs = fileStream.AsStreamForWrite(); fs.SetLength(0); XmlWriter xdw = XmlWriter.Create(fs, settings); //DataContractSerializer appInstallerDCS = new DataContractSerializer(typeof(AppInstaller)); //AppInstaller Content //appInstallerDCS.WriteStartObject(xdw, appInstaller); xdw.WriteStartElement("", "AppInstaller", App.AppInstallerFileSchemaNamespace); //xdw.WriteAttributeString("xmlns", ); xdw.WriteAttributeString("Version", App.AppInstallerVersionNumber); xdw.WriteAttributeString("Uri", App.AppInstallerFilePath); //Main Package Content if (App.MainPackage.PackageType == PackageType.MSIX) { //DataContractSerializer mainPackageDCS = new DataContractSerializer(typeof(MainPackage)); //mainPackageDCS.WriteStartObject(xdw, _mainPackage); xdw.WriteStartElement("MainPackage"); xdw.WriteAttributeString("Name", _mainPackage.Name); xdw.WriteAttributeString("Publisher", _mainPackage.Publisher); xdw.WriteAttributeString("Version", _mainPackage.Version); if (_mainPackage.ResourceId != "") { xdw.WriteAttributeString("ResourceId", _mainPackage.ResourceId); } if (_mainPackage.ProcessorArchitecture != "" && _mainPackage.PackageType != PackageType.MSIXBUNDLE) { xdw.WriteAttributeString("ProcessorArchitecture", _mainPackage.ProcessorArchitecture.ToString()); } xdw.WriteAttributeString("Uri", _mainPackage.FilePath); xdw.WriteEndElement(); //mainPackageDCS.WriteEndObject(xdw); } else if (App.MainPackage.PackageType == PackageType.MSIXBUNDLE) { //DataContractSerializer mainBundleDCS = new DataContractSerializer(typeof(MainBundle)); MainBundle mainBundle = new MainBundle(App.MainPackage.FilePath, App.MainPackage.Version, App.MainPackage.Publisher, App.MainPackage.Name); //mainBundleDCS.WriteStartObject(xdw, mainBundle); xdw.WriteStartElement("MainBundle"); xdw.WriteAttributeString("Name", mainBundle.Name); xdw.WriteAttributeString("Publisher", mainBundle.Publisher); xdw.WriteAttributeString("Version", mainBundle.Version); xdw.WriteAttributeString("Uri", mainBundle.FilePath); //mainBundleDCS.WriteEndObject(xdw); xdw.WriteEndElement(); } //Optional Packages Content ObservableCollection <OptionalPackage> optionalPackages = App.OptionalPackages; //DataContractSerializer optionalPackageDCS = new DataContractSerializer(typeof(OptionalPackage)); //Modification Packages Content ObservableCollection <ModificationPackage> modificationPackages = App.ModificationPackages; bool hasOptionalPackage = (optionalPackages.Count > 0 && App.IsOptionalPackages); bool hasModificationPackage = (modificationPackages.Count > 0 && App.IsModificationPackages); if (hasOptionalPackage || hasModificationPackage) { xdw.WriteStartElement("OptionalPackages"); //optionalPackageDCS.WriteStartObject(xdw, optionalPackages[0]); if (hasOptionalPackage) { for (int i = 0; i < optionalPackages.Count; i++) { //Write package or bundle element if (optionalPackages[i].PackageType == PackageType.MSIX) { Package package = new Package( optionalPackages[i].FilePath, optionalPackages[i].Version, optionalPackages[i].Publisher, optionalPackages[i].Name, optionalPackages[i].PackageType, optionalPackages[i].ProcessorArchitecture ); //DataContractSerializer packageDCS = new DataContractSerializer(typeof(Package)); xdw.WriteStartElement("Package"); //packageDCS.WriteStartObject(xdw, package); xdw.WriteAttributeString("Version", package.Version); xdw.WriteAttributeString("Uri", package.FilePath); xdw.WriteAttributeString("Publisher", package.Publisher); if (package.ProcessorArchitecture != "" && package.PackageType != PackageType.MSIXBUNDLE) { xdw.WriteAttributeString("ProcessorArchitecture", package.ProcessorArchitecture.ToString()); } xdw.WriteAttributeString("Name", package.Name); //packageDCS.WriteEndObject(xdw); xdw.WriteEndElement(); } else if (optionalPackages[i].PackageType == PackageType.MSIXBUNDLE) { Bundle bundle = new Bundle( optionalPackages[i].FilePath, optionalPackages[i].Version, optionalPackages[i].Publisher, optionalPackages[i].Name, optionalPackages[i].PackageType ); //DataContractSerializer bundleDCS = new DataContractSerializer(typeof(Bundle)); //bundleDCS.WriteStartObject(xdw, bundle); xdw.WriteStartElement("Bundle"); xdw.WriteAttributeString("Version", bundle.Version); xdw.WriteAttributeString("Uri", bundle.FilePath); xdw.WriteAttributeString("Publisher", bundle.Publisher); xdw.WriteAttributeString("Name", bundle.Name); //bundleDCS.WriteEndObject(xdw); xdw.WriteEndElement(); } } } if (hasModificationPackage) { for (int i = 0; i < modificationPackages.Count; i++) { //Write package or bundle element if (modificationPackages[i].PackageType == PackageType.MSIX) { Package package = new Package( modificationPackages[i].FilePath, modificationPackages[i].Version, modificationPackages[i].Publisher, modificationPackages[i].Name, modificationPackages[i].PackageType, modificationPackages[i].ProcessorArchitecture ); //DataContractSerializer packageDCS = new DataContractSerializer(typeof(Package)); //packageDCS.WriteStartObject(xdw, package); xdw.WriteStartElement("Package"); xdw.WriteAttributeString("Version", package.Version); xdw.WriteAttributeString("Uri", package.FilePath); xdw.WriteAttributeString("Publisher", package.Publisher); if (package.ProcessorArchitecture != "" && package.PackageType != PackageType.MSIXBUNDLE) { xdw.WriteAttributeString("ProcessorArchitecture", package.ProcessorArchitecture.ToString()); } xdw.WriteAttributeString("Name", package.Name); //packageDCS.WriteEndObject(xdw); xdw.WriteEndElement(); } else if (modificationPackages[i].PackageType == PackageType.MSIXBUNDLE) { Bundle bundle = new Bundle( modificationPackages[i].FilePath, modificationPackages[i].Version, modificationPackages[i].Publisher, modificationPackages[i].Name, modificationPackages[i].PackageType ); //DataContractSerializer bundleDCS = new DataContractSerializer(typeof(Bundle)); //bundleDCS.WriteStartObject(xdw, bundle); xdw.WriteStartElement("Bundle"); xdw.WriteAttributeString("Version", bundle.Version); xdw.WriteAttributeString("Uri", bundle.FilePath); xdw.WriteAttributeString("Publisher", bundle.Publisher); xdw.WriteAttributeString("Name", bundle.Name); //bundleDCS.WriteEndObject(xdw); xdw.WriteEndElement(); } } } //optionalPackageDCS.WriteEndObject(xdw); xdw.WriteEndElement(); } //Related Packages Content ObservableCollection <RelatedPackage> relatedPackages = App.RelatedPackages; //DataContractSerializer relatedPackageDCS = new DataContractSerializer(typeof(RelatedPackage)); if (relatedPackages.Count > 0 && App.IsRelatedPackages) { //relatedPackageDCS.WriteStartObject(xdw, relatedPackages[0]); xdw.WriteStartElement("RelatedPackages"); for (int i = 0; i < relatedPackages.Count; i++) { //Write package or bundle element if (relatedPackages[i].PackageType == PackageType.MSIX) { Package package = new Package( relatedPackages[i].FilePath, relatedPackages[i].Version, relatedPackages[i].Publisher, relatedPackages[i].Name, relatedPackages[i].PackageType, relatedPackages[i].ProcessorArchitecture ); //DataContractSerializer packageDCS = new DataContractSerializer(typeof(Package)); xdw.WriteStartElement("Package"); //packageDCS.WriteStartObject(xdw, package); xdw.WriteAttributeString("Version", package.Version); xdw.WriteAttributeString("Uri", package.FilePath); xdw.WriteAttributeString("Publisher", package.Publisher); if (package.ProcessorArchitecture != "" && package.PackageType != PackageType.MSIXBUNDLE) { xdw.WriteAttributeString("ProcessorArchitecture", package.ProcessorArchitecture.ToString()); } xdw.WriteAttributeString("Name", package.Name); //packageDCS.WriteEndObject(xdw); xdw.WriteEndElement(); } else if (relatedPackages[i].PackageType == PackageType.MSIXBUNDLE) { Bundle bundle = new Bundle( relatedPackages[i].FilePath, relatedPackages[i].Version, relatedPackages[i].Publisher, relatedPackages[i].Name, relatedPackages[i].PackageType ); //DataContractSerializer bundleDCS = new DataContractSerializer(typeof(Bundle)); //bundleDCS.WriteStartObject(xdw, bundle); xdw.WriteStartElement("Bundle"); xdw.WriteAttributeString("Version", bundle.Version); xdw.WriteAttributeString("Uri", bundle.FilePath); xdw.WriteAttributeString("Publisher", bundle.Publisher); xdw.WriteAttributeString("Name", bundle.Name); //bundleDCS.WriteEndObject(xdw); xdw.WriteEndElement(); } } //relatedPackageDCS.WriteEndObject(xdw); xdw.WriteEndElement(); } //Dependency Content ObservableCollection <Dependency> dependencies = App.Dependencies; //DataContractSerializer dependencyDCS = new DataContractSerializer(typeof(Dependency)); if (dependencies.Count > 0 && App.IsDependencies) { //dependencyDCS.WriteStartObject(xdw, dependencies[0]); xdw.WriteStartElement("Dependencies"); for (int i = 0; i < dependencies.Count; i++) { //Write package or bundle element if (dependencies[i].PackageType == PackageType.MSIX) { Package package = new Package( dependencies[i].FilePath, dependencies[i].Version, dependencies[i].Publisher, dependencies[i].Name, dependencies[i].PackageType, dependencies[i].ProcessorArchitecture ); //DataContractSerializer packageDCS = new DataContractSerializer(typeof(Package)); //packageDCS.WriteStartObject(xdw, package); xdw.WriteStartElement("Package"); xdw.WriteAttributeString("Version", package.Version); xdw.WriteAttributeString("Uri", package.FilePath); xdw.WriteAttributeString("Publisher", package.Publisher); if (package.ProcessorArchitecture != "" && package.PackageType != PackageType.MSIXBUNDLE) { xdw.WriteAttributeString("ProcessorArchitecture", package.ProcessorArchitecture.ToString()); } xdw.WriteAttributeString("Name", package.Name); //packageDCS.WriteEndObject(xdw); xdw.WriteEndElement(); } else if (dependencies[i].PackageType == PackageType.MSIXBUNDLE) { Bundle bundle = new Bundle( dependencies[i].FilePath, dependencies[i].Version, dependencies[i].Publisher, dependencies[i].Name, dependencies[i].PackageType ); //DataContractSerializer bundleDCS = new DataContractSerializer(typeof(Bundle)); //bundleDCS.WriteStartObject(xdw, bundle); xdw.WriteStartElement("Bundle"); xdw.WriteAttributeString("Version", bundle.Version); xdw.WriteAttributeString("Uri", bundle.FilePath); xdw.WriteAttributeString("Publisher", bundle.Publisher); xdw.WriteAttributeString("Name", bundle.Name); //bundleDCS.WriteEndObject(xdw); xdw.WriteEndElement(); } } //dependencyDCS.WriteEndObject(xdw); xdw.WriteEndElement(); } //Update Settings UpdateSettings updateSettings = new UpdateSettings(); //OnLaunch OnLaunch onLaunch = new OnLaunch(App.IsCheckUpdates, App.HoursBetweenUpdates, App.IsShowPrompt, App.IsBlockUpdate); //ForceUpdateFromAnyVersion ForceUpdateFromAnyVersion forceUpdate = new ForceUpdateFromAnyVersion(App.IsForceUpdate); //AutomaticBackgroundTask AutomaticBackgroundTask automaticBackgroundTask = new AutomaticBackgroundTask(App.IsAutoUpdate); if (onLaunch.IsCheckUpdates) { //DataContractSerializer updateSettingsDCS = new DataContractSerializer(typeof(UpdateSettings)); //updateSettingsDCS.WriteStartObject(xdw, updateSettings); xdw.WriteStartElement("UpdateSettings"); //DataContractSerializer onLaunchDCS = new DataContractSerializer(typeof(OnLaunch)); //onLaunchDCS.WriteStartObject(xdw, onLaunch); xdw.WriteStartElement("OnLaunch"); //HoursBetweenUpdate checks is only available AFTER 1709 if (!App.AppInstallerFileSchemaNamespace.Equals("http://schemas.microsoft.com/appx/appinstaller/2017")) { xdw.WriteAttributeString("HoursBetweenUpdateChecks", onLaunch.HoursBetweenUpdateChecks.ToString()); } if (onLaunch.IsShowPrompt) { xdw.WriteAttributeString("ShowPrompt", onLaunch.IsShowPrompt.ToString().ToLower()); } if (onLaunch.IsBlockUpdate) { xdw.WriteAttributeString("UpdateBlocksActivation", onLaunch.IsBlockUpdate.ToString().ToLower()); } //onLaunchDCS.WriteEndObject(xdw); xdw.WriteEndElement(); if (forceUpdate.IsForceUpdate) { //DataContractSerializer forceUpdateDCS = new DataContractSerializer(typeof(ForceUpdateFromAnyVersion)); //forceUpdateDCS.WriteStartObject(xdw, forceUpdate); xdw.WriteStartElement("ForceUpdateFromAnyVersion"); xdw.WriteString(forceUpdate.IsForceUpdate.ToString().ToLower()); //forceUpdateDCS.WriteEndObject(xdw); xdw.WriteEndElement(); } if (automaticBackgroundTask.IsAutoUpdate) { //DataContractSerializer autoUpdateDCS = new DataContractSerializer(typeof(AutomaticBackgroundTask)); //autoUpdateDCS.WriteStartObject(xdw, automaticBackgroundTask); xdw.WriteStartElement("AutomaticBackgroundTask"); //autoUpdateDCS.WriteEndObject(xdw); xdw.WriteEndElement(); } //updateSettingsDCS.WriteEndObject(xdw); xdw.WriteEndElement(); } //xdw.WriteEndElement(); //appInstallerDCS.WriteEndObject(xdw); xdw.Dispose(); }); t.Wait(); } catch (Exception exc) { Debug.WriteLine("The serialization operation failed: {0} StackTrace: {1}", exc.Message, exc.StackTrace); } //Display dialog _displaySuccessDialog(file); }
public void Launch(Vector3 direction) { _direction = direction; OnLaunch?.Invoke(_direction); }
/*************************************************************************** * * Private Methods * ***************************************************************************/ private void Generate_File_Button_Click(object sender, RoutedEventArgs e) { //Check that all required fields have been filled if (!_validateInput()) { return; } try { var t = Task.Run(() => { //Create file FileStream writer = new FileStream(ApplicationData.Current.LocalFolder.Path + "//Your_AppInstaller_File_Name.xml", FileMode.Create); AppInstaller appInstaller = new AppInstaller(App.AppInstallerFilePath, App.AppInstallerVersionNumber); //Initialize DCS of type AppInstallerModel XmlDictionaryWriter xdw = XmlDictionaryWriter.CreateTextWriter(writer, Encoding.UTF8); DataContractSerializer appInstallerDCS = new DataContractSerializer(typeof(AppInstaller)); //AppInstaller Content appInstallerDCS.WriteStartObject(xdw, appInstaller); xdw.WriteAttributeString("xmlns", "http://schemas.microsoft.com/appx/appinstaller/2017"); xdw.WriteAttributeString("Uri", App.AppInstallerFilePath); xdw.WriteAttributeString("Version", App.AppInstallerVersionNumber); //Main Package Content if (App.MainPackage.PackageType == PackageType.MSIX) { DataContractSerializer mainPackageDCS = new DataContractSerializer(typeof(MainPackage)); MainPackage mainPackage = new MainPackage(App.MainPackage.FilePath, App.MainPackage.Version, App.MainPackage.Publisher, App.MainPackage.Name, App.MainPackage.PackageType, App.MainPackage.ProcessorArchitecture, App.MainPackage.ResourceId); mainPackageDCS.WriteStartObject(xdw, mainPackage); xdw.WriteAttributeString("Uri", mainPackage.FilePath); xdw.WriteAttributeString("Version", mainPackage.Version); xdw.WriteAttributeString("Publisher", mainPackage.Publisher); if (mainPackage.ResourceId != "") { xdw.WriteAttributeString("ResourceId", mainPackage.ResourceId); } if (mainPackage.ProcessorArchitecture != ProcessorArchitecture.none && mainPackage.PackageType != PackageType.msixbundle) { xdw.WriteAttributeString("ProcessorArchitecture", mainPackage.ProcessorArchitecture.ToString()); } xdw.WriteAttributeString("Name", mainPackage.Name); mainPackageDCS.WriteEndObject(xdw); } else if (App.MainPackage.PackageType == PackageType.msixbundle) { DataContractSerializer mainBundleDCS = new DataContractSerializer(typeof(MainBundle)); MainBundle mainBundle = new MainBundle(App.MainPackage.FilePath, App.MainPackage.Version, App.MainPackage.Publisher, App.MainPackage.Name); mainBundleDCS.WriteStartObject(xdw, mainBundle); xdw.WriteAttributeString("Uri", mainBundle.FilePath); xdw.WriteAttributeString("Version", mainBundle.Version); xdw.WriteAttributeString("Publisher", mainBundle.Publisher); xdw.WriteAttributeString("Name", mainBundle.Name); mainBundleDCS.WriteEndObject(xdw); } //Optional Packages Content ObservableCollection <OptionalPackage> optionalPackages = App.OptionalPackages; DataContractSerializer optionalPackageDCS = new DataContractSerializer(typeof(OptionalPackage)); if (optionalPackages.Count > 0 && App.IsOptionalPackages) { optionalPackageDCS.WriteStartObject(xdw, optionalPackages[0]); for (int i = 0; i < optionalPackages.Count; i++) { //Write package or bundle element if (optionalPackages[i].PackageType == PackageType.MSIX) { Package package = new Package( optionalPackages[i].FilePath, optionalPackages[i].Version, optionalPackages[i].Publisher, optionalPackages[i].Name, optionalPackages[i].PackageType, optionalPackages[i].ProcessorArchitecture ); DataContractSerializer packageDCS = new DataContractSerializer(typeof(Package)); packageDCS.WriteStartObject(xdw, package); xdw.WriteAttributeString("Version", package.Version); xdw.WriteAttributeString("Uri", package.FilePath); xdw.WriteAttributeString("Publisher", package.Publisher); if (package.ProcessorArchitecture != ProcessorArchitecture.none && package.PackageType != PackageType.msixbundle) { xdw.WriteAttributeString("ProcessorArchitecture", package.ProcessorArchitecture.ToString()); } xdw.WriteAttributeString("Name", package.Name); packageDCS.WriteEndObject(xdw); } else if (optionalPackages[i].PackageType == PackageType.msixbundle) { Bundle bundle = new Bundle( optionalPackages[i].FilePath, optionalPackages[i].Version, optionalPackages[i].Publisher, optionalPackages[i].Name, optionalPackages[i].PackageType ); DataContractSerializer bundleDCS = new DataContractSerializer(typeof(Bundle)); bundleDCS.WriteStartObject(xdw, bundle); xdw.WriteAttributeString("Version", bundle.Version); xdw.WriteAttributeString("Uri", bundle.FilePath); xdw.WriteAttributeString("Publisher", bundle.Publisher); xdw.WriteAttributeString("Name", bundle.Name); bundleDCS.WriteEndObject(xdw); } } optionalPackageDCS.WriteEndObject(xdw); } //Modification Packages Content ObservableCollection <ModificationPackage> modificationPackages = App.ModificationPackages; DataContractSerializer modificationPackageDCS = new DataContractSerializer(typeof(ModificationPackage)); if (modificationPackages.Count > 0 && App.IsModificationPackages) { modificationPackageDCS.WriteStartObject(xdw, modificationPackages[0]); for (int i = 0; i < modificationPackages.Count; i++) { //Write package or bundle element if (modificationPackages[i].PackageType == PackageType.MSIX) { Package package = new Package( modificationPackages[i].FilePath, modificationPackages[i].Version, modificationPackages[i].Publisher, modificationPackages[i].Name, modificationPackages[i].PackageType, modificationPackages[i].ProcessorArchitecture ); DataContractSerializer packageDCS = new DataContractSerializer(typeof(Package)); packageDCS.WriteStartObject(xdw, package); xdw.WriteAttributeString("Version", package.Version); xdw.WriteAttributeString("Uri", package.FilePath); xdw.WriteAttributeString("Publisher", package.Publisher); if (package.ProcessorArchitecture != ProcessorArchitecture.none && package.PackageType != PackageType.msixbundle) { xdw.WriteAttributeString("ProcessorArchitecture", package.ProcessorArchitecture.ToString()); } xdw.WriteAttributeString("Name", package.Name); packageDCS.WriteEndObject(xdw); } else if (modificationPackages[i].PackageType == PackageType.msixbundle) { Bundle bundle = new Bundle( modificationPackages[i].FilePath, modificationPackages[i].Version, modificationPackages[i].Publisher, modificationPackages[i].Name, modificationPackages[i].PackageType ); DataContractSerializer bundleDCS = new DataContractSerializer(typeof(Bundle)); bundleDCS.WriteStartObject(xdw, bundle); xdw.WriteAttributeString("Version", bundle.Version); xdw.WriteAttributeString("Uri", bundle.FilePath); xdw.WriteAttributeString("Publisher", bundle.Publisher); xdw.WriteAttributeString("Name", bundle.Name); bundleDCS.WriteEndObject(xdw); } } modificationPackageDCS.WriteEndObject(xdw); } //Related Packages Content ObservableCollection <RelatedPackage> relatedPackages = App.RelatedPackages; DataContractSerializer relatedPackageDCS = new DataContractSerializer(typeof(RelatedPackage)); if (relatedPackages.Count > 0 && App.IsRelatedPackages) { relatedPackageDCS.WriteStartObject(xdw, relatedPackages[0]); for (int i = 0; i < relatedPackages.Count; i++) { //Write package or bundle element if (relatedPackages[i].PackageType == PackageType.MSIX) { Package package = new Package( relatedPackages[i].FilePath, relatedPackages[i].Version, relatedPackages[i].Publisher, relatedPackages[i].Name, relatedPackages[i].PackageType, relatedPackages[i].ProcessorArchitecture ); DataContractSerializer packageDCS = new DataContractSerializer(typeof(Package)); packageDCS.WriteStartObject(xdw, package); xdw.WriteAttributeString("Version", package.Version); xdw.WriteAttributeString("Uri", package.FilePath); xdw.WriteAttributeString("Publisher", package.Publisher); if (package.ProcessorArchitecture != ProcessorArchitecture.none && package.PackageType != PackageType.msixbundle) { xdw.WriteAttributeString("ProcessorArchitecture", package.ProcessorArchitecture.ToString()); } xdw.WriteAttributeString("Name", package.Name); packageDCS.WriteEndObject(xdw); } else if (relatedPackages[i].PackageType == PackageType.msixbundle) { Bundle bundle = new Bundle( relatedPackages[i].FilePath, relatedPackages[i].Version, relatedPackages[i].Publisher, relatedPackages[i].Name, relatedPackages[i].PackageType ); DataContractSerializer bundleDCS = new DataContractSerializer(typeof(Bundle)); bundleDCS.WriteStartObject(xdw, bundle); xdw.WriteAttributeString("Version", bundle.Version); xdw.WriteAttributeString("Uri", bundle.FilePath); xdw.WriteAttributeString("Publisher", bundle.Publisher); xdw.WriteAttributeString("Name", bundle.Name); bundleDCS.WriteEndObject(xdw); } } relatedPackageDCS.WriteEndObject(xdw); } //Dependency Content ObservableCollection <Dependency> dependencies = App.Dependencies; DataContractSerializer dependencyDCS = new DataContractSerializer(typeof(Dependency)); if (dependencies.Count > 0 && App.IsDependencies) { dependencyDCS.WriteStartObject(xdw, dependencies[0]); for (int i = 0; i < dependencies.Count; i++) { //Write package or bundle element if (dependencies[i].PackageType == PackageType.MSIX) { Package package = new Package( dependencies[i].FilePath, dependencies[i].Version, dependencies[i].Publisher, dependencies[i].Name, dependencies[i].PackageType, dependencies[i].ProcessorArchitecture ); DataContractSerializer packageDCS = new DataContractSerializer(typeof(Package)); packageDCS.WriteStartObject(xdw, package); xdw.WriteAttributeString("Version", package.Version); xdw.WriteAttributeString("Uri", package.FilePath); xdw.WriteAttributeString("Publisher", package.Publisher); if (package.ProcessorArchitecture != ProcessorArchitecture.none && package.PackageType != PackageType.msixbundle) { xdw.WriteAttributeString("ProcessorArchitecture", package.ProcessorArchitecture.ToString()); } xdw.WriteAttributeString("Name", package.Name); packageDCS.WriteEndObject(xdw); } else if (dependencies[i].PackageType == PackageType.msixbundle) { Bundle bundle = new Bundle( dependencies[i].FilePath, dependencies[i].Version, dependencies[i].Publisher, dependencies[i].Name, dependencies[i].PackageType ); DataContractSerializer bundleDCS = new DataContractSerializer(typeof(Bundle)); bundleDCS.WriteStartObject(xdw, bundle); xdw.WriteAttributeString("Version", bundle.Version); xdw.WriteAttributeString("Uri", bundle.FilePath); xdw.WriteAttributeString("Publisher", bundle.Publisher); xdw.WriteAttributeString("Name", bundle.Name); bundleDCS.WriteEndObject(xdw); } } dependencyDCS.WriteEndObject(xdw); } //Update Settings UpdateSettings updateSettings = new UpdateSettings(); //OnLaunch OnLaunch onLaunch = new OnLaunch(App.IsCheckUpdates, App.HoursBetweenUpdates); if (onLaunch.IsCheckUpdates) { DataContractSerializer updateSettingsDCS = new DataContractSerializer(typeof(UpdateSettings)); updateSettingsDCS.WriteStartObject(xdw, updateSettings); DataContractSerializer onLaunchDCS = new DataContractSerializer(typeof(OnLaunch)); onLaunchDCS.WriteStartObject(xdw, onLaunch); xdw.WriteAttributeString("HoursBetweenUpdateChecks", onLaunch.HoursBetweenUpdateChecks.ToString()); onLaunchDCS.WriteEndObject(xdw); updateSettingsDCS.WriteEndObject(xdw); } appInstallerDCS.WriteEndObject(xdw); xdw.Dispose(); }); t.Wait(); } catch (Exception exc) { Debug.WriteLine("The serialization operation failed: {0} StackTrace: {1}", exc.Message, exc.StackTrace); } //Display dialog _displaySuccessDialog(); }