コード例 #1
0
        public override int DetermineReward(int points, Quest quest, EntityType entityType)
        {
            var val = (int)pointsCurve.Evaluate(points);

            if (!StringField.IsNullOrEmpty(thing))
            {
                var bodyText = BodyTextQuestContent.CreateInstance <BodyTextQuestContent>();
                bodyText.bodyText = new StringField(val + " " + thing);
                quest.offerContentList.Add(bodyText);
            }

            var messageQuestAction = MessageQuestAction.CreateInstance <MessageQuestAction>();

            messageQuestAction.senderID        = new StringField(QuestMachineTags.QUESTGIVERID);
            messageQuestAction.targetID        = target;
            messageQuestAction.message         = message;
            messageQuestAction.parameter       = parameter;
            messageQuestAction.value.valueType = MessageValueType.Int;
            messageQuestAction.value.intValue  = val;
            var successInfo = quest.GetStateInfo(QuestState.Successful);

            successInfo.actionList.Add(messageQuestAction);

            return(consumePoints ? (points - val) : points);
        }