예제 #1
0
 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);
     }
 }
예제 #2
0
        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);
        }