48 lines
1.2 KiB
C#
48 lines
1.2 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
|
|||
|
namespace ScriptToolGui
|
|||
|
{
|
|||
|
abstract class NavigationEntry
|
|||
|
{
|
|||
|
public abstract NavigationType Type { get; }
|
|||
|
}
|
|||
|
|
|||
|
enum NavigationType
|
|||
|
{
|
|||
|
MatchedGroup,
|
|||
|
Reference
|
|||
|
}
|
|||
|
|
|||
|
class MatchedGroupNavigationEntry : NavigationEntry
|
|||
|
{
|
|||
|
public override NavigationType Type { get { return NavigationType.MatchedGroup; } }
|
|||
|
|
|||
|
public MatchedGroup Group { get; private set; }
|
|||
|
public MatchedGroupCollection Collection { get; private set; }
|
|||
|
|
|||
|
public MatchedGroupNavigationEntry(MatchedGroup group, MatchedGroupCollection collection)
|
|||
|
{
|
|||
|
Group = group;
|
|||
|
Collection = collection;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
class ReferenceNavigationEntry : NavigationEntry
|
|||
|
{
|
|||
|
public override NavigationType Type { get { return NavigationType.Reference; } }
|
|||
|
|
|||
|
public string Label { get; private set; }
|
|||
|
public Game Game { get; private set; }
|
|||
|
|
|||
|
public ReferenceNavigationEntry(Game game, string label)
|
|||
|
{
|
|||
|
Game = game;
|
|||
|
Label = label;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|