public override bool addElement(int type, string id) { if (!canAddElement(type)) { return(false); } var milestone = new Completable.Milestone(); progress.addMilestone(milestone); milestoneDataControls.Add(new MilestoneDataControl(milestone)); return(true); }
public void Init(Completable.Milestone mil) { editor = EditorWindow.GetWindow <MilestoneEditorWindow>(); editor.Milestone = mil; scenes = Controller.getInstance().getSelectedChapterDataControl().getScenesList().getScenesIDs(); characters = Controller.getInstance().getSelectedChapterDataControl().getNPCsList().getNPCsIDs(); items = Controller.getInstance().getSelectedChapterDataControl().getItemsList().getItemsIDs(); List <string> tmplist = new List <string>(); foreach (Completable c in Controller.getInstance().getSelectedChapterDataControl().getCompletables()) { tmplist.Add(c.getId()); } completables = tmplist.ToArray(); selectedId = 0; antiguo = milestone.getType(); if (milestone.getId() != "") { string[] tmp = { }; switch (milestone.getType()) { case Completable.Milestone.MilestoneType.CHARACTER: tmp = characters; break; case Completable.Milestone.MilestoneType.ITEM: tmp = items; break; case Completable.Milestone.MilestoneType.SCENE: tmp = scenes; break; case Completable.Milestone.MilestoneType.COMPLETABLE: break; } for (int i = 0; i < tmp.Length; i++) { if (tmp[i] == milestone.getId()) { selectedId = i; break; } } } }
public static XmlElement buildMilestoneDOM(Completable.Milestone milestone, string elementName = "milestone") { XmlElement milestoneNode = Writer.GetDoc().CreateElement(elementName); milestoneNode.SetAttribute("type", milestone.getType().ToString()); if (milestone.getType() != Completable.Milestone.MilestoneType.CONDITION) { milestoneNode.SetAttribute("targetId", milestone.getId()); } else { DOMWriterUtility.DOMWrite(milestoneNode, milestone.getConditions()); } if (milestone.getProgress() >= 0) { milestoneNode.SetAttribute("progress", milestone.getProgress().ToString()); } return(milestoneNode); }
public MilestoneController(Completable.Milestone milestone) { Milestone = milestone; }
public void OnGUI() { GUILayout.Label("Progress is given by: "); progress.setType((Completable.Progress.ProgressType)EditorGUILayout.Popup((int)progress.getType(), typeoptions)); GUILayout.Label("Milestones: "); //GUILayout.BeginArea(tableRect); GUILayout.BeginHorizontal(); GUILayout.BeginVertical(GUILayout.Width(position.width * 0.9f)); GUILayout.BeginHorizontal(); if (progress.getType() == Completable.Progress.ProgressType.SUM) { GUILayout.Box("Time", GUILayout.Width(position.width * 0.88f)); } else { GUILayout.Box("Time", GUILayout.Width(position.width * 0.44f)); GUILayout.Box("Progress", GUILayout.Width(position.width * 0.44f)); } GUILayout.EndHorizontal(); scrollPosition = GUILayout.BeginScrollView(scrollPosition); foreach (Completable.Milestone milestone in progress.getMilestones()) { GUILayout.BeginHorizontal(); if (progress.getType() == Completable.Progress.ProgressType.SUM) { if (GUILayout.Button(milestone.ToString(), GUILayout.Width(position.width * 0.88f))) { MilestoneEditorWindow window = ScriptableObject.CreateInstance <MilestoneEditorWindow>(); window.Init(milestone); } } else { if (GUILayout.Button(milestone.ToString(), GUILayout.Width(position.width * 0.44f))) { MilestoneEditorWindow window = ScriptableObject.CreateInstance <MilestoneEditorWindow>(); window.Init(milestone); } milestone.setProgress(EditorGUILayout.Slider(milestone.getProgress(), 0, 1, GUILayout.Width(position.width * 0.44f))); } GUILayout.EndHorizontal(); } GUILayout.EndScrollView(); GUILayout.EndVertical(); //GUILayout.EndArea(); //GUILayout.BeginArea(rightPanelRect); GUILayout.BeginVertical(GUILayout.Width(0.1f * position.width)); if (GUILayout.Button(addTexture)) { progress.addMilestone(new Completable.Milestone()); } if (GUILayout.Button(moveUp)) { int pos = progress.getMilestones().IndexOf(selectedMilestone); if (pos > 0) { Completable.Milestone tmp = progress.getMilestones()[pos - 1]; progress.getMilestones()[pos - 1] = progress.getMilestones()[pos]; progress.getMilestones()[pos] = tmp; } } if (GUILayout.Button(moveDown)) { int pos = progress.getMilestones().IndexOf(selectedMilestone); if (pos < progress.getMilestones().Count - 1) { Completable.Milestone tmp = progress.getMilestones()[pos + 1]; progress.getMilestones()[pos + 1] = progress.getMilestones()[pos]; progress.getMilestones()[pos] = tmp; } } if (GUILayout.Button(clearImg)) { } GUILayout.EndVertical(); GUILayout.EndHorizontal(); }
public MilestoneDataControl(Completable.Milestone milestone) { this.milestone = milestone; this.conditionsController = new ConditionsController(milestone.getConditions()); }
protected void Awake() { Game.instance = this; executeStack = new Stack <KeyValuePair <Interactuable, ExecutionEvent> >(); skin = Resources.Load("basic") as GUISkin; if (!string.IsNullOrEmpty(gamePath)) { ResourceManager = ResourceManagerFactory.CreateExternal(gamePath + gameName); } else { if (!string.IsNullOrEmpty(gameName)) { ResourceManager = ResourceManagerFactory.CreateLocal(gameName, useSystemIO ? ResourceManager.LoadingType.SYSTEM_IO : ResourceManager.LoadingType.RESOURCES_LOAD); } else { ResourceManager = ResourceManagerFactory.CreateLocal("CurrentGame/", useSystemIO ? ResourceManager.LoadingType.SYSTEM_IO : ResourceManager.LoadingType.RESOURCES_LOAD); } } if (Game.GameToLoad != "") { gameName = Game.GameToLoad; gamePath = ResourceManager.getCurrentDirectory() + System.IO.Path.DirectorySeparatorChar + "Games" + System.IO.Path.DirectorySeparatorChar; useSystemIO = true; } AdventureData data = new AdventureData(); var incidences = new List <Incidence>(); AdventureHandler adventure = new AdventureHandler(data, ResourceManager, incidences); adventure.Parse("descriptor.xml"); PrepareTracker(data.getTrackerConfig()); game_state = new GameState(data); //Create Main game completable Completable mainGame = new Completable(); Completable.Milestone gameStart = new Completable.Milestone(); gameStart.setType(Completable.Milestone.MilestoneType.SCENE); gameStart.setId(data.getChapters()[0].getInitialChapterTarget().getId()); mainGame.setStart(gameStart); mainGame.setId(data.getTitle()); mainGame.setType(Completable.TYPE_GAME); Completable.Milestone gameEnd = new Completable.Milestone(); gameEnd.setType(Completable.Milestone.MilestoneType.ENDING); mainGame.setEnd(gameEnd); Completable.Progress gameProgress = new Completable.Progress(); gameProgress.setType(Completable.Progress.ProgressType.SUM); Completable.Score mainScore = new Completable.Score(); mainScore.setMethod(Completable.Score.ScoreMethod.AVERAGE); foreach (Completable part in GameState.GetCompletables()) { Completable.Milestone tmpMilestone = new Completable.Milestone(); tmpMilestone.setType(Completable.Milestone.MilestoneType.COMPLETABLE); tmpMilestone.setId(part.getId()); gameProgress.addMilestone(tmpMilestone); Completable.Score tmpScore = new Completable.Score(); tmpScore.setMethod(Completable.Score.ScoreMethod.SINGLE); tmpScore.setType(Completable.Score.ScoreType.COMPLETABLE); tmpScore.setId(part.getId()); mainScore.addSubScore(tmpScore); } mainGame.setProgress(gameProgress); mainGame.setScore(mainScore); GameState.GetCompletables().Insert(0, mainGame); CompletablesController.Instance.SetCompletables(GameState.GetCompletables()); bookDrawer = new BookDrawer(ResourceManager); }