private void Init() { // First run targetOnExit = Game.Instance.GameState.GetChapterTarget(Game.Instance.GameState.CurrentTarget); Game.Instance.GameState.BeginChangeAmbit(); exitEffects = toRun.ExitMb.GetExitEffects(out exits); }
public void exit() { //Game.Instance.hideMenu (); if (ConditionChecker.check(ed.getConditions())) { EffectHolder effect = new EffectHolder(ed.getEffects()); if (Game.Instance.GameState.isCutscene(ed.getNextSceneId())) { effect.effects.Add(new EffectHolderNode(new TriggerCutsceneEffect(ed.getNextSceneId()))); } else { effect.effects.Add(new EffectHolderNode(new TriggerSceneEffect(ed.getNextSceneId(), 0, 0, ed.getTransitionTime(), ed.getTransitionType()))); } if (ed.getPostEffects() != null) { EffectHolder eh = new EffectHolder(ed.getPostEffects()); foreach (EffectHolderNode ehn in eh.effects) { effect.effects.Add(ehn); } } if (Game.Instance.getAlternativeTarget() != null) { if (Game.Instance.getAlternativeTarget().getXApiType() == "menu") { Tracker.T.alternative.Selected(Game.Instance.getAlternativeTarget().getId(), ed.getNextSceneId(), AlternativeTracker.Alternative.Menu); } else { Tracker.T.alternative.Selected(Game.Instance.getAlternativeTarget().getId(), ed.getNextSceneId(), true); } } Game.Instance.Execute(effect); GUIManager.Instance.setCursor("default"); } else { if (Game.Instance.getAlternativeTarget() != null) { if (Game.Instance.getAlternativeTarget().getXApiType() != "menu") { Tracker.T.alternative.Selected(Game.Instance.getAlternativeTarget().getId(), "Incorrect", false); } } if (ed.isHasNotEffects()) { Game.Instance.Execute(new EffectHolder(ed.getNotEffects())); } } Tracker.T.RequestFlush(); }
private void Init() { // First run targetOnExit = Game.Instance.GameState.GetChapterTarget(Game.Instance.GameState.CurrentTarget); try { trace = toRun.ExitMb.TraceExit(exits, targetOnExit); trace?.SetPartial(); } catch (Exception ex) { Debug.Log("Error while tracing the exit! (" + ex.Message + ", " + ex.StackTrace + ")"); } Game.Instance.GameState.BeginChangeAmbit(trace); exitEffects = toRun.ExitMb.GetExitEffects(out exits); }
public bool execute() { if (exitEffects == null) { Game.Instance.GameState.BeginChangeAmbit(); targetOnExit = Game.Instance.GameState.GetChapterTarget(Game.Instance.GameState.CurrentTarget); exitEffects = toRun.ExitMb.GetExitEffects(out exit); } var forceWait = exitEffects.execute(); if (!forceWait) { Game.Instance.GameState.EndChangeAmbit(); toRun.ExitMb.TrackExit(exit, targetOnExit); } return(forceWait); }
private EffectHolder GetExitEffects(out bool exited) { var ed = area.Element as Exit; Effects effects = new Effects(); exited = false; if (ConditionChecker.check(ed.getConditions())) { exited = true; effects.AddRange(ed.getEffects()); if (Game.Instance.GameState.IsCutscene(ed.getNextSceneId())) { effects.Add(new TriggerCutsceneEffect(ed.getNextSceneId())); } else { effects.Add(new TriggerSceneEffect(ed.getNextSceneId(), ed.getDestinyX(), ed.getDestinyY(), ed.getDestinyScale(), ed.getTransitionTime(), ed.getTransitionType())); } if (ed.getPostEffects() != null) { effects.AddRange(ed.getPostEffects()); } } else { if (ed.isHasNotEffects()) { effects.AddRange(ed.getNotEffects()); } } var effectHolder = new EffectHolder(effects); if (exited) { effectHolder.effects[ed.getEffects().Count].AddAdditionalInfo("not_trace", true); } return(effectHolder); }
public ConversationNodeHolder(ConversationNode node) { this.node = node; if (node != null) { if (node is DialogueConversationNode) { var dialog = node as DialogueConversationNode; this.additional_effects = new EffectHolder(dialog.getEffects()); this.child = 0; } else if (node is OptionConversationNode) { var option = node as OptionConversationNode; this.additional_effects = new EffectHolder(option.getEffects()); this.child = -2; this.showOption = option.isShowUserOption(); } } }
public ConversationNodeHolder(ConversationNode node) { this.node = node; if (node != null) { switch (node.getType()) { case ConversationNodeViewEnum.DIALOGUE: var dialog = node as DialogueConversationNode; this.additional_effects = new EffectHolder(dialog.getEffects()); this.child = 0; break; case ConversationNodeViewEnum.OPTION: var option = node as OptionConversationNode; this.additional_effects = new EffectHolder(option.getEffects()); this.child = -2; break; } } }
public ConversationNodeHolder(GraphConversationHolder holder, Conversation conversation, ConversationNode node) { this.holder = holder; this.conversation = conversation; this.node = node; nodeIndex = conversation.getAllNodes().IndexOf(node); if (node != null) { if (node is DialogueConversationNode) { var dialog = node as DialogueConversationNode; this.additional_effects = new EffectHolder(dialog.getEffects()); this.child = 0; } else if (node is OptionConversationNode) { var option = node as OptionConversationNode; this.additional_effects = new EffectHolder(option.getEffects()); this.child = -2; this.showOption = option.isShowUserOption(); } } }