예제 #1
0
        public override string GetDisplayName(bool isAddingNew)
        {
            string displayName = "Timer Condition";

            if (!isAddingNew)
            {
                displayName += " [";
                displayName += ("TimerName=" + TimerName.ToString());
                displayName += "]";
            }

            return(displayName);
        }
예제 #2
0
        public override bool CreateConfigurationMenu(ExtensionParameter extensionParameter, ref Dictionary <String, Object> Parameters)
        {
            ImGui.TextDisabled("Action Info");
            ImGuiExtension.ToolTipWithText("(?)", "This timer is used to begin or end a specific timer");
            TimerName = ImGuiExtension.InputText("Timer Name", TimerName, 30, ImGuiInputTextFlags.AlwaysInsertMode);
            ImGuiExtension.ToolTipWithText("(?)", "Name for this timer");
            Parameters[TimerNameString] = TimerName.ToString();

            var selectedOption = ForceStop ? 1 : 0;

            ImGui.RadioButton("Start Timer", ref selectedOption, 0);
            ImGui.RadioButton("End Timer", ref selectedOption, 1);
            ForceStop = selectedOption == 1;
            Parameters[ForceStopString] = ForceStop.ToString();

            return(true);
        }
예제 #3
0
        public override void Invoke(TimerName name)
        {
            ICollection <Timer> timers = GetTimers(name);

            foreach (Timer timer in timers)
            {
                Delay delay = timer.Delay();
                _clock.forward(delay.Amount(), delay.Unit());
            }

            foreach (Timer timer in timers)
            {
                timer.Invoke();
            }

            _onDemandJobScheduler.runJob();
        }
예제 #4
0
 public virtual long InvocationCount(TimerName name)
 {
     return(_counts.getOrDefault(name.Name(), 0L));
 }
예제 #5
0
 static public void createTimer(TimerName s)
 {
     dic[s] = 0;
 }