/// <summary> /// Chargement des items /// </summary> /// <param name="item1"></param> /// <param name="item2"></param> private void LoadItem(Guid item1, Guid item2) { Cursor.Current = Cursors.WaitCursor; //Code de chargement if (item1 != new Guid()) { CurrentItem1 = GameCore.Instance.GetItemById(item1); } if (item2 != new Guid()) { CurrentItem2 = GameCore.Instance.GetItemById(item2); } if (CurrentItem1.Id != new Guid() && CurrentItem2.Id != new Guid() && CurrentItem1.Id != CurrentItem2.Id) { //Afficher les groupes grpCommands.Visible = true; //Récupération des données du script ou création si nécessaire. VO_Script script = null; VO_ItemInteraction itemInteraction = CurrentItem1.ItemInteraction.Find(p => p.AssociatedItem == CurrentItem2.Id); if (itemInteraction == null) { script = ObjectsFactory.CreateScript(true, Enums.ScriptType.ItemEvents); VO_ItemInteraction itemInteraction1 = new VO_ItemInteraction(); itemInteraction1.AssociatedItem = CurrentItem2.Id; itemInteraction1.Script = script.Id; CurrentItem1.ItemInteraction.Add(itemInteraction1); VO_ItemInteraction itemInteraction2 = new VO_ItemInteraction(); itemInteraction2.AssociatedItem = CurrentItem1.Id; itemInteraction2.Script = script.Id; CurrentItem2.ItemInteraction.Add(itemInteraction2); } else { script = GameCore.Instance.GetInteractionScriptsById(itemInteraction.Script); if (script == null) { script = ObjectsFactory.CreateScript(true, Enums.ScriptType.ItemEvents); itemInteraction.Script = script.Id; VO_ItemInteraction itemInteraction2 = CurrentItem2.ItemInteraction.Find(p => p.AssociatedItem == CurrentItem1.Id); itemInteraction2.Script = script.Id; } } //Chargement du script _LoadedScript = script; ScriptManager.LoadScript(script); } else { grpCommands.Visible = false; } Cursor.Current = DefaultCursor; }
/// <summary> /// Création d'un projet /// </summary> /// <param name="pProject">VO_Project</param> public void CreateProject(VO_Project project) { //Nouvelles données projet. GameCore.Instance.ResetGameCore(); GameCore.Instance.Game.Project = project; GameCore.Instance.Game.Project.ProjectFileName = project.Title; GameCore.Instance.Game.Project.Version = GlobalConstants.PROJECT_VERSION; GameCore.Instance.Game.Project.BetaVersion = GlobalConstants.BETA_VERSION; GameCore.Instance.Game.Project.RootPath = project.RootPath += "\\" + ValidationTools.NormalizeFolderName(project.Title) + "\\"; GameCore.Instance.Game.Project.MovementDirections = 4; //Création des dossiers du projet Directory.CreateDirectory(project.RootPath + GlobalConstants.PROJECT_DIR_MANUALS); Directory.CreateDirectory(project.RootPath + GlobalConstants.PROJECT_DIR_RESOURCES); Directory.CreateDirectory(project.RootPath + GlobalConstants.PROJECT_DIR_RESOURCES + "\\" + GlobalConstants.PROJECT_DIR_ANIMATIONS); Directory.CreateDirectory(project.RootPath + GlobalConstants.PROJECT_DIR_RESOURCES + "\\" + GlobalConstants.PROJECT_DIR_ANIMATIONS + "\\" + GlobalConstants.PROJECT_DIR_CHARACTERANIMATIONS); Directory.CreateDirectory(project.RootPath + GlobalConstants.PROJECT_DIR_RESOURCES + "\\" + GlobalConstants.PROJECT_DIR_ANIMATIONS + "\\" + GlobalConstants.PROJECT_DIR_CHARACTERFACES); Directory.CreateDirectory(project.RootPath + GlobalConstants.PROJECT_DIR_RESOURCES + "\\" + GlobalConstants.PROJECT_DIR_ANIMATIONS + "\\" + GlobalConstants.PROJECT_DIR_ICONS); Directory.CreateDirectory(project.RootPath + GlobalConstants.PROJECT_DIR_RESOURCES + "\\" + GlobalConstants.PROJECT_DIR_ANIMATIONS + "\\" + GlobalConstants.PROJECT_DIR_MENUS); Directory.CreateDirectory(project.RootPath + GlobalConstants.PROJECT_DIR_RESOURCES + "\\" + GlobalConstants.PROJECT_DIR_ANIMATIONS + "\\" + GlobalConstants.PROJECT_DIR_OBJECTANIMATIONS); Directory.CreateDirectory(project.RootPath + GlobalConstants.PROJECT_DIR_RESOURCES + "\\" + GlobalConstants.PROJECT_DIR_DECORS); //Directory.CreateDirectory(project.RootPath + GlobalConstants.PROJECT_DIR_RESOURCES + "\\" + GlobalConstants.PROJECT_DIR_FONTS); Directory.CreateDirectory(project.RootPath + GlobalConstants.PROJECT_DIR_RESOURCES + "\\" + GlobalConstants.PROJECT_DIR_LIFEBAR); Directory.CreateDirectory(project.RootPath + GlobalConstants.PROJECT_DIR_RESOURCES + "\\" + GlobalConstants.PROJECT_DIR_MUSICS); Directory.CreateDirectory(project.RootPath + GlobalConstants.PROJECT_DIR_RESOURCES + "\\" + GlobalConstants.PROJECT_DIR_SOUNDS); Directory.CreateDirectory(project.RootPath + GlobalConstants.PROJECT_DIR_RESOURCES + "\\" + GlobalConstants.PROJECT_DIR_SOUNDS + "\\" + GlobalConstants.PROJECT_DIR_VOICES); Directory.CreateDirectory(project.RootPath + GlobalConstants.PROJECT_DIR_RESOURCES + "\\" + GlobalConstants.PROJECT_DIR_SOUNDS + "\\" + GlobalConstants.PROJECT_DIR_EFFECTS); Directory.CreateDirectory(project.RootPath + GlobalConstants.PROJECT_DIR_RESOURCES + "\\" + GlobalConstants.PROJECT_DIR_GUIS); project.GameOverMusic = new VO_Music(); project.MainMenuMusic = new VO_Music(); project.GameOver = ObjectsFactory.CreateScript(Enums.ScriptType.GameOverEvent); //Création de Map de base. EditorHelper.Instance.LastOrdinalLayer = 0; project.GameOver = ObjectsFactory.CreateScript(Enums.ScriptType.GameOverEvent); //Création de l'action "Aller" VO_Action go = ObjectsFactory.CreateAction(new Guid(GlobalConstants.ACTION_GO_ID)); go.Title = GlobalConstants.ACTION_GO; go.GoAction = true; //Création de l'action "Utiliser" VO_Action use = ObjectsFactory.CreateAction(new Guid(GlobalConstants.ACTION_USE_ID)); use.Title = GlobalConstants.ACTION_USE; use.UseAction = true; //Création des menus ObjectsFactory.CreateMenu(); //Terminology ObjectsFactory.CreateTerminology(); }
/// <summary> /// Charger un script /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void listActions_SelectedIndexChanged(object sender, EventArgs e) { VO_ActionOnItemScript actionScript = CurrentItem.Scripts.Find(p => p.Id == ((VO_Base)listActions.SelectedItem).Id); if (actionScript == null) { actionScript = new VO_ActionOnItemScript(((VO_Base)listActions.SelectedItem).Id, ObjectsFactory.CreateScript(Enums.ScriptType.ItemEvents)); CurrentItem.Scripts.Add(actionScript); } ViewScript.LoadScript(actionScript.Script); }