Ejemplo n.º 1
0
    public void Run()
    {
        foreach (Conditional condition in PlayConditions)
        {
            if (!condition.ConditionMet())
            {
                Debug.Log("Condition was not met for PhaseEvent: " + Name);
            }
            return;
        }

        Queue <PhaseEventStep> TempQueue = new Queue <PhaseEventStep>(Steps);

        Debug.Log("Steps for PhaseEvent \"" + Name + "\": " + Steps.Count);
        while (TempQueue.Count > 0)
        {
            PhaseEventStep step = TempQueue.Dequeue();
            step.Run();
        }
    }
Ejemplo n.º 2
0
 public void AddStep(PhaseEventStep step)
 {
     Steps.Enqueue(step);
 }
Ejemplo n.º 3
0
    private static void CreateCustomEvent(ref StreamReader fileReader, string name, int preReqs=0)
    {
        Debug.Log("Creating Custom Event: " + name);
        Debug.Log("PreReq Count: " + preReqs);
        PhaseEvent pEvent = new PhaseEvent();
        pEvent.Name = name;

        // Get any prerequisites if they are present.
        while (preReqs > 0)
        {
          ++CurrentLine;
          Debug.Log("Line #" + CurrentLine);
          string req = fileReader.ReadLine();

          if (String.IsNullOrEmpty(req) || req.Trim().Length == 0)
          {
        Debug.Log("Skipping: Empty Line");
        continue;
          }
          if(req.GetWord(0, " ") != PP.EVENT_MATH_CONDITION)
          {
        Debug.LogError("Found Actions before listed number of Prerequisites were added. Event Name: " + name);
        Debug.Break();
          }
          pEvent.AddConditional(CreateConditional(req));
          --preReqs;
        }

        while(true)
        {
          string line = fileReader.ReadLine();
          line = line.Trim();
          ++CurrentLine;
          Debug.Log("Line #" + CurrentLine);
          if (String.IsNullOrEmpty(line) || line.Trim().Length == 0)
          {
        Debug.Log("Skipping: Empty Line");
        continue;
          }

          if (line.GetWord(0, " ") == PP.CUSTOM_EVENT_CLOSE)
          {
        Debug.Log("End of " + name + " event");
        break;
          }

          if (line.GetWord(0, " ") == PP.EVENT_MATH_CONDITION)
          {
        Debug.LogError("Found a condition where one should not be. Event Name: " + name);
        Debug.Break();
          }

          PhaseEventStep eStep = new PhaseEventStep();
          eStep.Action = line.GetWord(0, " ");
          Debug.Log("Set Action to " + eStep.Action);

          List<KeyValuePair<string, string>> values = BreakLine(line);
          foreach (KeyValuePair<string, string> pair in values)
          {
        SetProperty(eStep, pair.Key, pair.Value);
          }
          pEvent.AddStep(eStep);
        }
        CurrentPhase.AddPhaseEvent(pEvent);
    }
Ejemplo n.º 4
0
 public void AddStep(PhaseEventStep step)
 {
     Steps.Enqueue(step);
 }
Ejemplo n.º 5
0
    private static void CreateCustomEvent(ref StreamReader fileReader, string name, int preReqs = 0)
    {
        Debug.Log("Creating Custom Event: " + name);
        Debug.Log("PreReq Count: " + preReqs);
        PhaseEvent pEvent = new PhaseEvent();

        pEvent.Name = name;

        // Get any prerequisites if they are present.
        while (preReqs > 0)
        {
            ++CurrentLine;
            Debug.Log("Line #" + CurrentLine);
            string req = fileReader.ReadLine();

            if (String.IsNullOrEmpty(req) || req.Trim().Length == 0)
            {
                Debug.Log("Skipping: Empty Line");
                continue;
            }
            if (req.GetWord(0, " ") != PP.EVENT_MATH_CONDITION)
            {
                Debug.LogError("Found Actions before listed number of Prerequisites were added. Event Name: " + name);
                Debug.Break();
            }
            pEvent.AddConditional(CreateConditional(req));
            --preReqs;
        }

        while (true)
        {
            string line = fileReader.ReadLine();
            line = line.Trim();
            ++CurrentLine;
            Debug.Log("Line #" + CurrentLine);
            if (String.IsNullOrEmpty(line) || line.Trim().Length == 0)
            {
                Debug.Log("Skipping: Empty Line");
                continue;
            }

            if (line.GetWord(0, " ") == PP.CUSTOM_EVENT_CLOSE)
            {
                Debug.Log("End of " + name + " event");
                break;
            }

            if (line.GetWord(0, " ") == PP.EVENT_MATH_CONDITION)
            {
                Debug.LogError("Found a condition where one should not be. Event Name: " + name);
                Debug.Break();
            }

            PhaseEventStep eStep = new PhaseEventStep();
            eStep.Action = line.GetWord(0, " ");
            Debug.Log("Set Action to " + eStep.Action);

            List <KeyValuePair <string, string> > values = BreakLine(line);
            foreach (KeyValuePair <string, string> pair in values)
            {
                SetProperty(eStep, pair.Key, pair.Value);
            }
            pEvent.AddStep(eStep);
        }
        CurrentPhase.AddPhaseEvent(pEvent);
    }