Пример #1
0
        public override void Create()
        {
            behaviours = new List <GameBehaviour>(ModData.mods.Values.Select(m => m.gameBehaviour).Where(gb => gb != null));

            base.Create();

            preUpdate        = HookManager.CreateHooks <GameBehaviour, Action>(behaviours, "PreUpdate");
            postUpdate       = HookManager.CreateHooks <GameBehaviour, Action>(behaviours, "PostUpdate");
            onUpdateKeyboard = HookManager.CreateHooks <GameBehaviour, Action>(behaviours, "OnUpdateKeyboard");

            preDraw  = HookManager.CreateHooks <GameBehaviour, Action <SpriteBatch> >(behaviours, "PreDraw");
            postDraw = HookManager.CreateHooks <GameBehaviour, Action <SpriteBatch> >(behaviours, "PostDraw");

            preScreenClear  = HookManager.CreateHooks <GameBehaviour, Action>(behaviours, "PreScreenClear");
            postScreenClear = HookManager.CreateHooks <GameBehaviour, Action>(behaviours, "PostScreenClear");

            preDrawBackground  = HookManager.CreateHooks <GameBehaviour, Func <SpriteBatch, bool> >(behaviours, "PreDrawBackground");
            postDrawBackground = HookManager.CreateHooks <GameBehaviour, Action <SpriteBatch> >(behaviours, "PostDrawBackground");

            updateDebug = HookManager.CreateHooks <GameBehaviour, Action>(behaviours, "UpdateDebug");

            updateMusic = HookManager.CreateHooks <GameBehaviour, Action <Ref <BgmEntry> > >(behaviours, "UpdateMusic");
        }
Пример #2
0
 public void OnUnload()
 {
     HookManager.Call(onUnload);
 }
Пример #3
0
 public void OnAllModsLoaded()
 {
     HookManager.Call(onAllModsLoaded);
 }
Пример #4
0
 public void Create()
 {
     onAllModsLoaded = HookManager.CreateHooks <ModDef, Action>(ModData.mods.Values, "OnAllModsLoaded");
     onUnload        = HookManager.CreateHooks <ModDef, Action>(ModData.mods.Values, "OnUnload");
 }
Пример #5
0
 public void OnUpdateKeyboard()
 {
     HookManager.Call(onUpdateKeyboard);
 }
Пример #6
0
 public void PostUpdate()
 {
     HookManager.Call(postUpdate);
 }
Пример #7
0
 public void PreUpdate()
 {
     HookManager.Call(preUpdate);
 }
Пример #8
0
 public void PostScreenClear()
 {
     HookManager.Call(postScreenClear);
 }
Пример #9
0
 public void PreScreenClear()
 {
     HookManager.Call(preScreenClear);
 }
Пример #10
0
 public void PostDraw(SpriteBatch sb)
 {
     HookManager.Call(postDraw, sb);
 }
Пример #11
0
 public void PreDraw(SpriteBatch sb)
 {
     HookManager.Call(preDraw, sb);
 }
Пример #12
0
 public void PostDrawBackground(SpriteBatch sb)
 {
     HookManager.Call(postDrawBackground, sb);
 }
Пример #13
0
        public bool PreDrawBackground(SpriteBatch sb)
        {
            var r = HookManager.Call(preDrawBackground, sb);

            return(r.Length == 0 || r.All(Convert.ToBoolean));
        }