public static void GameFlagAndConversationHappenedExample() { foreach (UnitEntityData unitEntityData in Game.Instance.State.PlayerState.AllCharacters) { string characterName = unitEntityData.CharacterName; string characterCondition = ""; if (characterName == "Valerie") { //Scar BlueprintDialog blueprintDialog = Game.Instance.Player.Dialog.ShownDialogs.ToList <BlueprintDialog>().Find(x => x.AssetGuid == "3fb2516a55a21684aac00eb4f4015a77"); if (blueprintDialog != null) { characterCondition = "ValerieScar"; } //Scar Healed BlueprintCueBase blueprintCueBase = Game.Instance.Player.Dialog.ShownCues.ToList <BlueprintCueBase>().Find(x => x.AssetGuid == "3bc0f984c248897479bc30b16d91ffc5"); if (blueprintCueBase != null) { characterCondition = "ValerieHealed"; } } if (characterName == "Tristian") { //Blinded if (Game.Instance.Player.UnlockableFlags.UnlockedFlags.Keys.FirstOrDefault(x => x.name.Equals("OculusShattered"))) { characterCondition = "TristianBlind"; } } Main.DebugLog(characterName + " - " + characterCondition); } }
public static BlueprintDialog CreateBookEvent(string name, CueSelection FirstCue, Condition[] conditions = null, GameAction[] startaction = null, GameAction[] finishaction = null, GameAction[] replaceaction = null, params BlueprintComponent[] components) { BlueprintDialog o = Helpers.Create <BlueprintDialog>(); o.FirstCue = FirstCue; o.Type = DialogType.Book; o.TurnFirstSpeaker = true; o.TurnPlayer = true; o.name = "BookEventCustom" + name; o.Conditions = new ConditionsChecker(); o.Conditions.Conditions = conditions == null?Array.Empty <Condition>() : conditions; o.StartActions = new ActionList(); o.StartActions.Actions = startaction == null?Array.Empty <GameAction>() : startaction; o.FinishActions = new ActionList(); o.FinishActions.Actions = finishaction == null?Array.Empty <GameAction>() : finishaction; o.ReplaceActions = new ActionList(); o.ReplaceActions.Actions = replaceaction == null?Array.Empty <GameAction>() : replaceaction; o.SetComponents(components); library.AddAsset(o, Guid(o.name)); return(o); }