StepFinished() 공개 메소드

public StepFinished ( int next ) : void
next int
리턴 void
예제 #1
0
        public override void Execute(BaseEvent baseEvent)
        {
            var factionManager = OrkEventTools.GetFactionManager(useFactionActor, actorObject, useParentFactionActor, parentActorObject, baseEvent);
            var factionID      = OrkEventTools.GetFactionID(useFactionActor, actorObject, factionName, factionManager, baseEvent);
            var parentID       = OrkEventTools.GetFactionID(useParentFactionActor, parentActorObject, parentFactionName, factionManager, baseEvent);

            if (factionManager == null || factionManager.factionDatabase == null)
            {
                Debug.LogWarning("Love/Hate: CheckHasDirectParentStep - Can't find faction manager");
            }
            if (factionID == -1)
            {
                Debug.LogWarning("Love/Hate: CheckHasDirectParentStep - Can't find faction ID");
            }
            else if (parentID == -1)
            {
                Debug.LogWarning("Love/Hate: CheckHasDirectParentStep - Can't find parent faction ID");
            }
            else
            {
                if (factionManager.factionDatabase.FactionHasDirectParent(factionID, parentID))
                {
                    baseEvent.StepFinished(next);
                }
                else
                {
                    baseEvent.StepFinished(nextFail);
                }
            }
            baseEvent.StepFinished(next);
        }
        public override void Execute(BaseEvent baseEvent)
        {
            var factionMember = OrkEventTools.GetEventObjectComponentInChildren <FactionMember>(actorObject, baseEvent);

            if (factionMember == null)
            {
                Debug.LogWarning("Love/Hate: CheckDominance - Can't find faction member");
            }
            else
            {
                var dominance = factionMember.pad.dominance;
                if (ValueHelper.CheckVariableValue(
                        dominance,
                        checkValue.GetValue(baseEvent),
                        checkValue2 != null ? this.checkValue2.GetValue(baseEvent) : 0,
                        check))
                {
                    baseEvent.StepFinished(next);
                }
                else
                {
                    baseEvent.StepFinished(nextFail);
                }
            }
            baseEvent.StepFinished(next);
        }
        public override void Execute(BaseEvent baseEvent)
        {
            var factionMember = OrkEventTools.GetEventObjectComponentInChildren <FactionMember>(actorObject, baseEvent);

            if (factionMember == null)
            {
                Debug.LogWarning("Love/Hate: GetEmotionalState - Can't find faction member on " + actorObject.GetInfoText());
            }
            else
            {
                var emotionalState = factionMember.GetComponent <EmotionalState>();
                var value          = (emotionalState != null) ? emotionalState.GetCurrentEmotionName() : factionMember.pad.GetTemperament().ToString();
                if (debug)
                {
                    var variableInfo = origin.ToString();
                    if (origin == VariableOrigin.Global || origin == VariableOrigin.Local)
                    {
                        variableInfo += " " + key.GetValue();
                    }
                    Debug.Log("Love/Hate: GetEmotionalState - setting variable " + variableInfo + " to " + value + " (Emotional state on " + factionMember + ")");
                }
                OrkEventTools.SetVariableValue(baseEvent, value, origin, useObject, variableObject, objectID, key);
            }
            baseEvent.StepFinished(next);
        }
예제 #4
0
        public override void Execute(BaseEvent baseEvent)
        {
            QuestState questState;

            if (getQuestEntryState)
            {
                var entryNum = (int)questEntryNumber.GetValue(null, null);
                questState = QuestLog.GetQuestEntryState(questName.GetValue(), entryNum);
                if (DialogueDebug.LogInfo)
                {
                    Debug.Log("Dialogue System: ORK Step Get Quest State: '" + questName.GetValue() + "' entry #" + entryNum + " is " + questState);
                }
            }
            else
            {
                questState = QuestLog.GetQuestState(questName.GetValue());
                if (DialogueDebug.LogInfo)
                {
                    Debug.Log("Dialogue System: ORK Step Get Quest State: '" + questName.GetValue() + "' is " + questState);
                }
                QuestLog.SetQuestState(questName.GetValue(), questState);
            }
            if (variableType == GameVariableType.Float)
            {
                ORKEventTools.SetVariableValue(baseEvent, (float)((int)questState), origin, useObject, variableObject, objectID, key);
            }
            else
            {
                ORKEventTools.SetVariableValue(baseEvent, QuestLog.StateToString(questState), origin, useObject, variableObject, objectID, key);
            }
            baseEvent.StepFinished(this.next);
        }
예제 #5
0
        public override void Execute(BaseEvent baseEvent)
        {
            var result = Lua.Run(luaCode, DialogueDebug.LogInfo);

            if (saveReturnValue)
            {
                if (DialogueDebug.LogInfo)
                {
                    Debug.Log("Dialogue System: Returning value '" + result.AsString + "' to ORK event.");
                }
                switch (variableType)
                {
                case GameVariableType.Bool:
                    ORKEventTools.SetVariableValue(baseEvent, result.AsBool, origin, useObject, variableObject, objectID, key);
                    break;

                case GameVariableType.Float:
                    ORKEventTools.SetVariableValue(baseEvent, result.AsFloat, origin, useObject, variableObject, objectID, key);
                    break;

                default:
                    ORKEventTools.SetVariableValue(baseEvent, result.AsString, origin, useObject, variableObject, objectID, key);
                    break;
                }
            }
            baseEvent.StepFinished(this.next);
        }
 private IEnumerator WaitForConversationEnd(BaseEvent baseEvent)
 {
     while (DialogueManager.IsConversationActive)
     {
         yield return(null);
     }
     baseEvent.StepFinished(this.next);
 }
예제 #7
0
        public override void Execute(BaseEvent baseEvent)
        {
            var actor      = ORKEventTools.GetEventObjectTransform(actorObject, baseEvent);
            var conversant = ORKEventTools.GetEventObjectTransform(conversantObject, baseEvent);

            DialogueManager.PlaySequence(sequence, actor, conversant);
            baseEvent.StepFinished(this.next);
        }
예제 #8
0
        public override void Execute(BaseEvent baseEvent)
        {
            var factionManager = OrkEventTools.GetFactionManager(useJudgeActor, judgeObject, useSubjectActor, subjectObject, baseEvent);
            var judgeID        = OrkEventTools.GetFactionID(useJudgeActor, judgeObject, judgeFactionName, factionManager, baseEvent);
            var subjectID      = OrkEventTools.GetFactionID(useSubjectActor, subjectObject, subjectFactionName, factionManager, baseEvent);

            if (factionManager == null || factionManager.factionDatabase == null)
            {
                Debug.LogWarning("Love/Hate: CheckRelationshipTraitStep - Can't find faction manager");
            }
            if (judgeID == -1)
            {
                Debug.LogWarning("Love/Hate: CheckRelationshipTraitStep - Can't find judge faction ID");
            }
            else if (subjectID == -1)
            {
                Debug.LogWarning("Love/Hate: CheckRelationshipTraitStep - Can't find subject faction ID");
            }
            else
            {
                var traitID = factionManager.factionDatabase.GetRelationshipTraitID(relationshipTraitName);
                if (traitID == -1)
                {
                    Debug.LogWarning("Love/Hate: CheckRelationshipTraitStep - Can't find relationship trait: " + relationshipTraitName);
                }
                else
                {
                    var value = factionManager.factionDatabase.GetRelationshipTrait(judgeID, subjectID, traitID);
                    if (ValueHelper.CheckVariableValue(
                            value,
                            checkValue.GetValue(baseEvent),
                            checkValue2 != null ? this.checkValue2.GetValue(baseEvent) : 0,
                            check))
                    {
                        baseEvent.StepFinished(next);
                    }
                    else
                    {
                        baseEvent.StepFinished(nextFail);
                    }
                }
            }
            baseEvent.StepFinished(next);
        }
예제 #9
0
        public override void Execute(BaseEvent baseEvent)
        {
            var factionManager = OrkEventTools.GetFactionManager(useJudgeActor, judgeObject, useSubjectActor, subjectObject, baseEvent);
            var judgeID        = OrkEventTools.GetFactionID(useJudgeActor, judgeObject, judgeFactionName, factionManager, baseEvent);
            var subjectID      = OrkEventTools.GetFactionID(useSubjectActor, subjectObject, subjectFactionName, factionManager, baseEvent);

            if (factionManager == null)
            {
                Debug.LogWarning("Love/Hate: CheckAffinityStep - Can't find faction manager");
            }
            if (judgeID == -1)
            {
                Debug.LogWarning("Love/Hate: CheckAffinityStep - Can't find judge faction ID");
            }
            else if (subjectID == -1)
            {
                Debug.LogWarning("Love/Hate: CheckAffinityStep - Can't find subject faction ID");
            }
            else
            {
                var affinity = factionManager.GetAffinity(judgeID, subjectID);

                if (ValueHelper.CheckVariableValue(
                        affinity,
                        checkValue.GetValue(baseEvent),
                        checkValue2 != null ? this.checkValue2.GetValue(baseEvent) : 0,
                        check))
                {
                    baseEvent.StepFinished(next);
                }
                else
                {
                    baseEvent.StepFinished(nextFail);
                }
            }
            baseEvent.StepFinished(next);
        }
예제 #10
0
        public override void Execute(BaseEvent baseEvent)
        {
            var judge          = OrkEventTools.GetEventObjectComponentInChildren <FactionMember>(judgeObject, baseEvent);
            var factionManager = (judge == null) ? null : judge.factionManager;
            var actorID        = OrkEventTools.GetFactionID(useActor, actorObject, actorFactionName, factionManager, baseEvent);
            var targetID       = OrkEventTools.GetFactionID(useTargetFactionActor, targetObject, targetFactionName, factionManager, baseEvent);

            if (factionManager == null || factionManager.factionDatabase == null)
            {
                Debug.LogWarning("Love/Hate: CheckKnowsDeedStep - Can't find faction manager");
            }
            else if (judge == null)
            {
                Debug.LogWarning("Love/Hate: CheckKnowsDeedStep - Can't find judge faction member");
            }
            if (actorID == -1)
            {
                Debug.LogWarning("Love/Hate: CheckKnowsDeedStep - Can't find actor faction ID");
            }
            else if (targetID == -1)
            {
                Debug.LogWarning("Love/Hate: CheckKnowsDeedStep - Can't find target faction ID");
            }
            else
            {
                if (judge.KnowsAboutDeed(actorID, targetID, deedTag))
                {
                    baseEvent.StepFinished(next);
                }
                else
                {
                    baseEvent.StepFinished(nextFail);
                }
            }
            baseEvent.StepFinished(next);
        }
예제 #11
0
 public override void Execute(BaseEvent baseEvent)
 {
     if (factionManager == null)
     {
         factionManager = GameObject.FindObjectOfType <FactionManager>();
     }
     if (factionManager == null)
     {
         Debug.LogWarning("Love/Hate: DestroyFactionStep - Can't find faction manager");
     }
     else
     {
         factionManager.factionDatabase.DestroyFaction(factionName);
     }
     baseEvent.StepFinished(next);
 }
예제 #12
0
 public override void Execute(BaseEvent baseEvent)
 {
     if (DialogueDebug.LogInfo)
     {
         Debug.Log("Dialogue System: ORK Step Show Variable Alert: '" + alertMessage.GetValue() + "'");
     }
     if (Mathf.Approximately(0, duration))
     {
         DialogueManager.ShowAlert(alertMessage.GetValue());
     }
     else
     {
         DialogueManager.ShowAlert(alertMessage.GetValue(), duration);
     }
     baseEvent.StepFinished(this.next);
 }
예제 #13
0
        public override void Execute(BaseEvent baseEvent)
        {
            var factionMember = OrkEventTools.GetEventObjectComponentInChildren <FactionMember>(actorObject, baseEvent);

            if (factionMember == null)
            {
                Debug.LogWarning("Love/Hate: ChangePADSteps - Can't find faction member");
            }
            else
            {
                factionMember.pad.happiness = GetNewValue(factionMember.pad.happiness, opHappiness, valueHappiness, baseEvent);
                factionMember.pad.pleasure  = GetNewValue(factionMember.pad.pleasure, opPleasure, valuePleasure, baseEvent);
                factionMember.pad.arousal   = GetNewValue(factionMember.pad.arousal, opArousal, valueArousal, baseEvent);
                factionMember.pad.dominance = GetNewValue(factionMember.pad.dominance, opDominance, valueDominance, baseEvent);
            }
            baseEvent.StepFinished(next);
        }
        public override void Execute(BaseEvent baseEvent)
        {
            var factionManager = OrkEventTools.GetFactionManager(useJudgeActor, judgeObject, useSubjectActor, subjectObject, baseEvent);
            var judgeID        = OrkEventTools.GetFactionID(useJudgeActor, judgeObject, judgeFactionName, factionManager, baseEvent);
            var subjectID      = OrkEventTools.GetFactionID(useSubjectActor, subjectObject, subjectFactionName, factionManager, baseEvent);

            if (factionManager == null || factionManager.factionDatabase == null)
            {
                Debug.LogWarning("Love/Hate: ChangeRelationshipTraitStep - Can't find faction manager");
            }
            if (judgeID == -1)
            {
                Debug.LogWarning("Love/Hate: ChangeRelationshipTraitStep - Can't find judge faction ID");
            }
            else if (subjectID == -1)
            {
                Debug.LogWarning("Love/Hate: ChangeRelationshipTraitStep - Can't find subject faction ID");
            }
            else
            {
                var traitID = factionManager.factionDatabase.GetRelationshipTraitID(relationshipTraitName);
                if (traitID == -1)
                {
                    Debug.LogWarning("Love/Hate: ChangeRelationshipTraitStep - Can't find relationship trait: " + relationshipTraitName);
                }
                else
                {
                    switch (op)
                    {
                    case SimpleOperator.Set:
                        factionManager.factionDatabase.SetPersonalRelationshipTrait(judgeID, subjectID, traitID, value.GetValue(baseEvent));
                        break;

                    case SimpleOperator.Add:
                        factionManager.factionDatabase.ModifyPersonalRelationshipTrait(judgeID, subjectID, traitID, value.GetValue(baseEvent));
                        break;

                    case SimpleOperator.Sub:
                        factionManager.factionDatabase.ModifyPersonalRelationshipTrait(judgeID, subjectID, traitID, -value.GetValue(baseEvent));
                        break;
                    }
                }
            }
            baseEvent.StepFinished(next);
        }
예제 #15
0
        public override void Execute(BaseEvent baseEvent)
        {
            var firstMember  = OrkEventTools.GetEventObjectComponentInChildren <FactionMember>(firstObject, baseEvent);
            var secondMember = OrkEventTools.GetEventObjectComponentInChildren <FactionMember>(secondObject, baseEvent);

            if (firstMember == null)
            {
                Debug.LogWarning("Love/Hate: ShareRumorsStep - Can't find first faction member");
            }
            if (secondMember == null)
            {
                Debug.LogWarning("Love/Hate: ShareRumorsStep - Can't find second faction member");
            }
            else
            {
                firstMember.ShareRumors(secondMember);
            }
            baseEvent.StepFinished(next);
        }
예제 #16
0
        public override void Execute(BaseEvent baseEvent)
        {
            object value = "unassigned";

            if (VariableOrigin.Local.Equals(origin))
            {
                value = GetVar(baseEvent.Variables, variableType);
            }
            else if (VariableOrigin.Global.Equals(origin))
            {
                value = GetVar(ORK.Game.Variables, variableType);
            }
            else if (VariableOrigin.Object.Equals(origin))
            {
                if (useObject)
                {
                    List <GameObject> list2 = variableObject.GetObject(baseEvent);
                    for (int j = 0; j < list2.Count; j++)
                    {
                        if (list2[j] != null)
                        {
                            ObjectVariablesComponent[] comps = list2[j].
                                                               GetComponentsInChildren <ObjectVariablesComponent>();
                            for (int k = 0; k < comps.Length; k++)
                            {
                                value = GetVar(comps[k].GetHandler(), variableType);
                            }
                        }
                    }
                }
                else
                {
                    value = GetVar(ORK.Game.Scene.GetObjectVariables(objectID), variableType);
                }
            }

            if (DialogueDebug.LogInfo)
            {
                Debug.Log("Dialogue System: ORK Step Set DS Variable " + DSVariableName + " to '" + value + "'");
            }
            DialogueLua.SetVariable(DSVariableName, value);
            baseEvent.StepFinished(this.next);
        }
예제 #17
0
        public override void Execute(BaseEvent baseEvent)
        {
            var deedReporter = OrkEventTools.GetEventObjectComponentInChildren <DeedReporter>(actorObject, baseEvent);
            var target       = OrkEventTools.GetEventObjectComponentInChildren <FactionMember>(targetObject, baseEvent);

            if (deedReporter == null)
            {
                Debug.LogWarning("Love/Hate: ReportDeedStep - Can't find deed reporter");
            }
            else if (target == null)
            {
                Debug.LogWarning("Love/Hate: ReportDeedStep - Can't find target faction member");
            }
            else
            {
                deedReporter.ReportDeed(deedTag, target);
            }
            baseEvent.StepFinished(next);
        }
예제 #18
0
        public override void Execute(BaseEvent baseEvent)
        {
            var factionManager = OrkEventTools.GetFactionManager(useFactionActor, actorObject, false, null, baseEvent);
            var factionID      = OrkEventTools.GetFactionID(useFactionActor, actorObject, factionName, factionManager, baseEvent);

            if (factionManager == null)
            {
                Debug.LogWarning("Love/Hate: AddDirectParentStep - Can't find faction manager");
            }
            if (factionID == -1)
            {
                Debug.LogWarning("Love/Hate: AddDirectParentStep - Can't find faction ID");
            }
            else
            {
                factionManager.factionDatabase.InheritTraitsFromParents(factionID);
            }
            baseEvent.StepFinished(next);
        }
예제 #19
0
 public override void Execute(BaseEvent baseEvent)
 {
     if (setQuestEntryState)
     {
         var entryNum = (int)questEntryNumber.GetValue(null, null);
         if (DialogueDebug.LogInfo)
         {
             Debug.Log("Dialogue System: ORK Step Set Quest State: '" + questName.GetValue() + "' entry #" + entryNum + " to " + questState);
         }
         QuestLog.SetQuestEntryState(questName.GetValue(), entryNum, questState);
     }
     else
     {
         if (DialogueDebug.LogInfo)
         {
             Debug.Log("Dialogue System: ORK Step Set Quest State: '" + questName.GetValue() + "' to " + questState);
         }
         QuestLog.SetQuestState(questName.GetValue(), questState);
     }
     baseEvent.StepFinished(this.next);
 }
예제 #20
0
        public override void Execute(BaseEvent baseEvent)
        {
            var factionMember = OrkEventTools.GetEventObjectComponentInChildren <FactionMember>(actorObject, baseEvent);

            if (factionMember == null)
            {
                Debug.LogWarning("Love/Hate: UseFactionManagerStep - Can't find faction member");
            }
            if (factionManager == null)
            {
                Debug.LogWarning("Love/Hate: UseFactionManagerStep - No faction manager was specified");
            }
            else
            {
                if (factionMember.factionManager != null)
                {
                    // Unregister from the old faction manager first:
                    factionMember.factionManager.UnregisterFactionMember(factionMember);
                }
                factionMember.factionManager = factionManager;
                factionManager.RegisterFactionMember(factionMember);
            }
            baseEvent.StepFinished(next);
        }
        public override void Execute(BaseEvent baseEvent)
        {
            var factionManager = OrkEventTools.GetFactionManager(useFactionActor, actorObject, useParentFactionActor, parentActorObject, baseEvent);
            var factionID      = OrkEventTools.GetFactionID(useFactionActor, actorObject, factionName, factionManager, baseEvent);
            var parentID       = OrkEventTools.GetFactionID(useParentFactionActor, parentActorObject, parentFactionName, factionManager, baseEvent);

            if (factionManager == null)
            {
                Debug.LogWarning("Love/Hate: RemoveDirectParentStep - Can't find faction manager");
            }
            if (factionID == -1)
            {
                Debug.LogWarning("Love/Hate: RemoveDirectParentStep - Can't find faction ID");
            }
            else if (parentID == -1)
            {
                Debug.LogWarning("Love/Hate: RemoveDirectParentStep - Can't find parent faction ID");
            }
            else
            {
                factionManager.RemoveFactionParent(factionID, parentID, inheritRelationships);
            }
            baseEvent.StepFinished(next);
        }
예제 #22
0
        public override void Execute(BaseEvent baseEvent)
        {
            var result = DialogueLua.GetVariable(DSVariableName);

            if (DialogueDebug.LogInfo)
            {
                Debug.Log("Dialogue System: Get DS Variable: Storing DS variable " + DSVariableName + " value '" + result.AsString + "' in ORK variable w/key=" + key.GetValue());
            }
            switch (variableType)
            {
            case GameVariableType.Bool:
                ORKEventTools.SetVariableValue(baseEvent, result.AsBool, origin, useObject, variableObject, objectID, key);
                break;

            case GameVariableType.Float:
                ORKEventTools.SetVariableValue(baseEvent, result.AsFloat, origin, useObject, variableObject, objectID, key);
                break;

            default:
                ORKEventTools.SetVariableValue(baseEvent, result.AsString, origin, useObject, variableObject, objectID, key);
                break;
            }
            baseEvent.StepFinished(this.next);
        }