private static Stream <DateTime> Periodic(ITimerSystem <DateTime> sys, TimeSpan period) { Cell <DateTime> time = sys.Time; DiscreteCellLoop <Maybe <DateTime> > oAlarm = new DiscreteCellLoop <Maybe <DateTime> >(); Stream <DateTime> sAlarm = sys.At(oAlarm); oAlarm.Loop(sAlarm.Map(t => Maybe.Some(t + period)).Hold(Maybe.Some(time.Sample() + period))); return(sAlarm); }
public static void Init(IntPtr smutilsptr, IntPtr sharesysptr, IntPtr myself, IntPtr playermanager, IntPtr timersystem) { Console.WriteLine (Directory.GetCurrentDirectory()); HomePath = Path.Combine(Directory.GetCurrentDirectory(), "cstrike/addons/sharpsource"); ExtensionsPath = Path.Combine(HomePath, "extensions"); SourceMod = new ISourceMod(new CppInstancePtr(smutilsptr)); ShareSys = new IShareSys(new CppInstancePtr(sharesysptr)); Extension = new IExtension(new CppInstancePtr(myself)); PlayerManager = new IPlayerManager(new CppInstancePtr(playermanager)); TimerSystem = new ITimerSystem(new CppInstancePtr(timersystem)); Init(); }
public static void Init(IntPtr smutilsptr, IntPtr sharesysptr, IntPtr myself, IntPtr playermanager, IntPtr timersystem) { Console.WriteLine(Directory.GetCurrentDirectory()); HomePath = Path.Combine(Directory.GetCurrentDirectory(), "cstrike/addons/sharpsource"); ExtensionsPath = Path.Combine(HomePath, "extensions"); SourceMod = new ISourceMod(new CppInstancePtr(smutilsptr)); ShareSys = new IShareSys(new CppInstancePtr(sharesysptr)); Extension = new IExtension(new CppInstancePtr(myself)); PlayerManager = new IPlayerManager(new CppInstancePtr(playermanager)); TimerSystem = new ITimerSystem(new CppInstancePtr(timersystem)); Init(); }