using System.Collections.Generic;
using Machinations.FromFlash.machinations.model;

namespace Machinations.Description
{
    /// <summary>
    /// handles which elements parameters and how should be shown 
    /// </summary>
    public static class NodesDescription
    {
        //jedna vlastnost = unikatni cislo...v pripade ze se muze potkat
        public const int ActivationModeOrder = 1;
        public const int PullModeOrder = 2;
        public const int ForwardOnlyOrder = 3;
        public const int HasPoolTurnsOrder = 5;
        public const int IsPoolTurnOrder = 6;
        public const int CanFireTwice = 7;

        public const int DiceSymbolOrder = 8;

        public static Dictionary<PullMode, string> PullModeDescription = new Dictionary<PullMode, string>
        {
            {PullMode.PullAny, ""},
            {PullMode.PullAll, "<&"},
            {PullMode.PushAny, ">"},
            {PullMode.PushAll, ">&"}
        };

        public static Dictionary<ActivationMode, string> ActivationModeDescription = new Dictionary<ActivationMode, string>
        {
            {ActivationMode.Automatic, "*" },
            {ActivationMode.Interactive, "I" },
            {ActivationMode.Passive, "" },
            {ActivationMode.OnStart, "s" }
        };

        //public static string HasPoolTurnDescription = "PT";
        //public static string HasPoolTurnsDescription = "PTs";

        public static string ForwardOnlyDescription = "|->";

        public static string DiceSymbol = "\u2684";

        public static Dictionary<TurnPoolType, string> TurnPoolDescription = new Dictionary<TurnPoolType, string>
        {
            {TurnPoolType.None, "" },
            {TurnPoolType.Normal, "(n)->" },
            {TurnPoolType.Inverse, "(0)->" }
        };

        public static string FireTwice = "2x";
    }
}
