public void Awake() { instance = this; //Create Main game completable var trackerConfigs = Game.Instance.GameState.Data.getObjects <TrackerConfig>(); PrepareTracker(trackerConfigs.Count == 0 ? new TrackerConfig() : trackerConfigs[0]); Completable mainGame = new Completable(); Completable.Milestone gameStart = new Completable.Milestone(); gameStart.setType(Completable.Milestone.MilestoneType.SCENE); gameStart.setId(Game.Instance.GameState.InitialChapterTarget.getId()); mainGame.setStart(gameStart); mainGame.setId(Game.Instance.GameState.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); var completables = Game.Instance.GameState.GetObjects <Completable>(); foreach (Completable part in completables) { 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); completables.Insert(0, mainGame); SetCompletables(completables); Game.Instance.GameState.OnConditionChanged += (_, __) => ConditionChanged(); Game.Instance.OnTargetChanged += TargetChanged; Game.Instance.OnElementInteracted += ElementInteracted; }
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); }
// ######################################### // ############### COMPLETABLES ############ // ######################################### private void InitCompletables() { //Create Main game completabl Completable mainGame = new Completable(); Completable.Milestone gameStart = new Completable.Milestone(); gameStart.setType(Completable.Milestone.MilestoneType.SCENE); gameStart.setId(Game.Instance.GameState.InitialChapterTarget.getId()); mainGame.setStart(gameStart); mainGame.setId(Game.Instance.GameState.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); completables = new List <Completable>(Game.Instance.GameState.GetObjects <Completable>()); foreach (Completable part in completables) { 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); completables.Insert(0, mainGame); SetCompletables(completables); }
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); }
private Completable.Milestone parseMilestone(XmlElement element, params object[] parameters) { Completable.Milestone milestone = new Completable.Milestone(); string tmpString = ""; tmpString = element.GetAttribute("type"); if (!string.IsNullOrEmpty(tmpString)) { milestone.setType(ParseEnum <Completable.Milestone.MilestoneType>(tmpString)); } if (milestone.getType() != Completable.Milestone.MilestoneType.CONDITION) { tmpString = element.GetAttribute("targetId"); if (!string.IsNullOrEmpty(tmpString)) { milestone.setId(tmpString); } } else { XmlElement c = (XmlElement)element.SelectSingleNode("condition"); if (c != null) { milestone.setConditions(DOMParserUtility.DOMParse(c, parameters) as Conditions ?? new Conditions()); } } tmpString = element.GetAttribute("progress"); if (!string.IsNullOrEmpty(tmpString)) { milestone.setProgress(float.Parse(tmpString)); } return(milestone); }
public MilestoneController(Completable.Milestone milestone) { Milestone = milestone; }
public MilestoneController(Completable.Milestone milestone) { SetMilestone(milestone); }
internal void SetMilestone(Completable.Milestone value) { milestone = value; }
public MilestoneDataControl(Completable.Milestone milestone) { this.milestone = milestone; this.conditionsController = new ConditionsController(milestone.getConditions()); }