Пример #1
0
        public void BreakConnectionsWithStatement(Statement statement)
        {
            if (NPCStatements.Contains(statement))
            {
                foreach (Statement npcStatement in NPCStatements)
                {
                    if (npcStatement.NextStatements.Contains(statement))
                    {
                        npcStatement.NextStatements.Remove(statement);
                    }
                }
            }
            else
            {
                foreach (Statement playerStatement in PlayerStatements)
                {
                    if (playerStatement.NextStatements.Contains(statement))
                    {
                        playerStatement.NextStatements.Remove(statement);
                    }
                }
            }

            statement.NextStatements.Clear();
        }
Пример #2
0
 public void RemoveStatement(Statement statement)
 {
     for (int n = NPCStatements.Count - 1; n >= 0; n--)
     {
         if (NPCStatements[n].Equals(statement))
         {
             NPCStatements.RemoveAt(n);
             if (StartStatements.Contains(statement))
             {
                 StartStatements.Remove(statement);
             }
         }
     }
     for (int n = PlayerStatements.Count - 1; n >= 0; n--)
     {
         if (PlayerStatements[n].Equals(statement))
         {
             PlayerStatements.RemoveAt(n);
         }
     }
 }