public override void ProgressPlot(PlotPointer PlotToProgress)
    {
        if(myOwner.CheckPlotTopics(PlotToProgress))
        {
            ConversationTopics = myOwner.GetPlotTopics(PlotToProgress);
            //myOwner.ClearAllAvaliableTopics();
        }

        for (int i = 0; i < ConversationTopics.Count; i++)
        {
            myOwner.AddAvaliableTopic(ConversationTopics[i]);
            ConversationTopics.Clear();
        }

        if (PlotToProgress == PlotPointer.Items)
        {
            if (inv == null)
            {
                inv = GlobalVars.inventory;
            }
            inv.Add(11);
            inv.Add(12);
            Debug.Log("Items");
        }
    }
    public override void OnInspectorGUI()
    {
        serializedObject.Update();
        base.DrawDefaultInspector();

        bool enlarge = false;

        EditorGUILayout.BeginVertical();
        EditorGUILayout.LabelField(string.Format("Message count = {0}", _propMessage.arraySize));
        _content = (PlotPointer)EditorGUILayout.EnumPopup("Plot Points", _content);
           /* if (!string.IsNullOrEmpty(_content) && GUILayout.Button("Add"))
        {
            enlarge = true;
        }*/

        EditorGUILayout.EndVertical();

        if (enlarge)
        {
            EnlargeArray();
            serializedObject.ApplyModifiedProperties();
            // I'm not in love with setting the array value this way.
            // Can't see an appropriate property method though.
            PlotBehaviour t = target as PlotBehaviour;
            t.PlotLinks[t.PlotLinks.Length - 1] = _content;
            _content =PlotPointer.Begin;
        }
    }
 public void ChangePlotStatus(PlotPointer PlotReached)
 {
     Plots[PlotReached] = true;
     CurrentPlot = PlotReached;
     QueuedPlots.Add(PlotReached);
     AdvancePlot();
 }
 public bool CheckPlotLinks(PlotPointer PlotToCheck)
 {
     for (int i = 0; i < PlotLinks.Length; i++)
     {
         if (PlotLinks[i] == PlotToCheck)
         {
             return true;
         }
     }
     return false;
 }
 public virtual void ProgressPlot(PlotPointer PlotToProgress)
 {
 }
 public override void ProgressPlot(PlotPointer PlotToProgress)
 {
 }
 public bool CheckPlotTopics(PlotPointer ID)
 {
     if (PlotTopics.ContainsKey(ID))
     {
         return true;
     }
     else
     {
         return false;
     }
 }
 public List<int> GetPlotTopics(PlotPointer ID)
 {
     return PlotTopics[ID];
 }
 public bool CheckPlotStatus(PlotPointer PlotEvent)
 {
     return Plots[PlotEvent];
 }