예제 #1
0
 public void ClearQuestIndicatorStates()
 {
     if (indicatorStates == null)
     {
         return;
     }
     foreach (var kvp in indicatorStates)
     {
         MessageSystem.SendMessageWithTarget(this, kvp.Key, QuestMachineMessages.SetIndicatorStateMessage, id, QuestIndicatorState.None);
     }
     indicatorStates.Clear();
     QuestMachineMessages.RefreshIndicators(questGiverID);
 }
예제 #2
0
 public void SetQuestIndicatorState(string entityID, QuestIndicatorState questIndicatorState)
 {
     if (string.IsNullOrEmpty(entityID))
     {
         return;
     }
     if (!indicatorStates.ContainsKey(entityID))
     {
         indicatorStates.Add(entityID, QuestIndicatorState.None);
     }
     indicatorStates[entityID] = questIndicatorState;
     MessageSystem.SendMessageWithTarget(this, entityID, QuestMachineMessages.SetIndicatorStateMessage, id, questIndicatorState);
 }
        private void Interact()
        {
            CleanTargetList();
            var inventory = FindObjectOfType <DemoInventory>();

            for (int i = 0; i < m_targets.Count; i++)
            {
                if (inventory.usingIndex != -1)
                {
                    MessageSystem.SendMessageWithTarget(this, m_targets[i], "Use", "Wand");
                }
                else
                {
                    m_targets[i].Interact();
                }
            }
        }
        public override void Execute()
        {
            if (value == null)
            {
                value = new MessageValue();
            }
            switch (value.valueType)
            {
            case MessageValueType.Int:
                MessageSystem.SendMessageWithTarget(runtimeSenderID, runtimeTargetID, runtimeMessage, runtimeParameter, value.intValue);
                break;

            case MessageValueType.String:
                MessageSystem.SendMessageWithTarget(runtimeSenderID, runtimeTargetID, runtimeMessage, runtimeParameter, runtimeStringValue);
                break;

            default:
                MessageSystem.SendMessageWithTarget(runtimeSenderID, runtimeTargetID, runtimeMessage, runtimeParameter);
                break;
            }
        }
 public static void DiscussedQuest(object sender, object target, StringField targetID, StringField questID)
 {
     MessageSystem.SendMessageWithTarget(sender, target, DiscussedQuestMessage, questID, targetID);
 }
 public static void Greeted(object sender, object target, StringField targetID)
 {
     MessageSystem.SendMessageWithTarget(sender, target, GreetedMessage, targetID);
 }
 public static void RefreshIndicator(object sender, StringField entityID)
 {
     MessageSystem.SendMessageWithTarget(sender, entityID, RefreshIndicatorMessage, entityID);
 }
 public static void SetIndicatorState(object sender, StringField entityID, StringField questID, QuestIndicatorState state)
 {
     MessageSystem.SendMessageWithTarget(sender, entityID, SetIndicatorStateMessage, questID, state);
 }