Exemple #1
0
        public static void RunFunction(ConversationOutput toRun, Data parameters, BaseCharacterController speaker, BaseCharacterController listener)
        {
            switch (toRun)
            {
            case ConversationOutput.None:
                break;

            case ConversationOutput.TransferMoney:
                TransferMoney(speaker, listener, parameters.iVal);
                break;

            case ConversationOutput.Heal:
                HealListener(listener, parameters.iVal);
                break;

            case ConversationOutput.GiveAbility:
                GiveAbility(listener, parameters.sVal);
                break;

            case ConversationOutput.BuyAbility:
                GiveAbility(listener, parameters.sVal);
                TransferMoney(speaker, listener, parameters.iVal);
                break;
            }
        }
Exemple #2
0
        public ConversationFragment(BinaryReader reader)
        {
            IsPlayer = reader.ReadBoolean();

            int count = reader.ReadInt32();

            ToSay            = new string[count];
            OptionOutputData = new ConversationData[count];

            for (int idx = 0; idx < count; idx++)
            {
                ToSay[idx] = reader.ReadString();
            }

            Output      = (ConversationOutput)reader.ReadInt16();
            IsAvailable = (ConversationPredicate)reader.ReadInt16();

            for (int idx = 0; idx < count; idx++)
            {
                OptionOutputData[idx] = new ConversationData(reader);
            }

            ShouldRerun = (RerunPredicate)reader.ReadInt16();
        }