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; } }
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(); }