Ejemplo n.º 1
0
        private void Handle_Entity_Destroyed()
        {
            Identifiable ident = base.gameObject.GetComponent <Identifiable>();

            Identifiable.Id ID = ident ? ident.id : Identifiable.Id.NONE;

            object return_value = new object();

            SiscosHooks.call(HOOK_ID.Destroyed_Entity, base.gameObject, ref return_value, new object[] { ID });

            if (Identifiable.IsSlime(ID) || Identifiable.IsLargo(ID) || Identifiable.IsGordo(ID))
            {
                SiscosHooks.call(HOOK_ID.Destroyed_Slime, base.gameObject, ref return_value, new object[] { ID });
            }

            if (Identifiable.IsAnimal(ID))
            {
                SiscosHooks.call(HOOK_ID.Destroyed_Animal, base.gameObject, ref return_value, new object[] { ID });
            }

            if (Identifiable.IsFood(ID))
            {
                SiscosHooks.call(HOOK_ID.Destroyed_Food, base.gameObject, ref return_value, new object[] { ID });
            }
        }
Ejemplo n.º 2
0
        internal static Sisco_Return Ext_Identifiable_Spawn(ref object sender, ref object[] args, ref object return_value)
        {
            Identifiable ident = sender as Identifiable;

            if (ident.id == Identifiable.Id.PLAYER)
            {
                SiscosHooks.call(HOOK_ID.Player_Spawn, ident.gameObject, ref return_value, args);
            }
            return(null);
        }
Ejemplo n.º 3
0
        private void Handle_Garden_Patch_Destroyed()
        {
            SpawnResource plot = base.gameObject.GetComponent <SpawnResource>();

            SpawnResource.Id ID = plot ? plot.id : SpawnResource.Id.NONE;

            object return_value = new object();

            SiscosHooks.call(HOOK_ID.Destroyed_Garden_Patch, base.gameObject, ref return_value, new object[] { ID });
        }
Ejemplo n.º 4
0
        private void Handle_Land_Plot_Destroyed()
        {
            LandPlot plot = base.gameObject.GetComponent <LandPlot>();

            LandPlot.Id ID = plot ? plot.id : LandPlot.Id.NONE;

            object return_value = new object();

            SiscosHooks.call(HOOK_ID.Destroyed_Land_Plot, plot, ref return_value, new object[] { ID });
        }
Ejemplo n.º 5
0
        internal static Sisco_Return Ext_Demolish_Plot_Upgrade(ref object sender, ref object[] args, ref object return_value)
        {
#if !SR_VANILLA
            LandPlot.Id kind = Get_Plot_ID_From_Upgrades_UI_Class(sender);
            LandPlotUI  ui   = sender as LandPlotUI;
            LandPlot    plot = ui.Get_LandPlot();
            return(new Sisco_Return(SiscosHooks.call(HOOK_ID.Demolished_Land_Plot, plot, ref return_value, new object[] { kind })));
#else
            return(null);
#endif
        }
Ejemplo n.º 6
0
 internal static Sisco_Return Ext_LockOnDeath_End(ref object sender, ref object[] args, ref object return_value)
 {
     if (is_player_dead)
     {
         is_player_dead = false;
         return(new Sisco_Return(SiscosHooks.call(HOOK_ID.Player_Spawn, sender, ref return_value, new object[] {})));
     }
     else
     {
         return(new Sisco_Return(SiscosHooks.call(HOOK_ID.Player_Sleep_End, sender, ref return_value, args)));
     }
 }
Ejemplo n.º 7
0
        private static void Hook_MainMenu()
        {
            if (Instance != null)
            {
                return;                  // If the instance isn't null then we will have already added all of our buttons and stuff
            }
            Instance = UnityEngine.Object.FindObjectOfType <MainMenuUI>();
            if (Instance == null)
            {
                throw new Exception("Cannot find MainMenuUI!");
            }
            if (Instance.gameObject == null)
            {
                throw new Exception("MainMenuUI component has no GameObject!");
            }

            //Output_Hierarchy();

            var tracker = Instance.gameObject.AddComponent <MainMenuUI_Tracking_Script>();// Attach our tracking script to it.

            if (tracker == null)
            {
                throw new Exception("Cannot attach MainMenu tracking script!");
            }
            // Reset the MainMenu visibility state because we JUST found it so theres no way we have it hidden yet.
            State.Reset();

            //Add_Button("Manage Plugins", "PluginsMenu", new UnityAction(Show_PluginManager));
            //Add_Button("Manage Plugins", "PluginsMenu", new UnityAction(Show_PluginManager));
            //Add_Button("Manage Plugins", "PluginsMenu", new UnityAction(Show_PluginManager));
            //Add_Button("Manage Plugins", "PluginsMenu", new UnityAction(Show_PluginManager));
            Add_Button("Plugins", "Plugins", new UnityAction(Show_PluginManager), clr_gold_light, clr_gold, clr_brown);

            object retVal = new object();

            SiscosHooks.call(HOOK_ID.MainMenu_Loaded, null, ref retVal, new object[] {});
        }
Ejemplo n.º 8
0
        internal void Level_Loaded(int level_idx = 0)
        {
            object retVal = new object();

            SiscosHooks.call(HOOK_ID.Level_Loaded, null, ref retVal, new object[] { level_idx });
        }
Ejemplo n.º 9
0
 // The LockOnDeath class is used to lock player input for the game
 // This means that it is used both when the player "goes to sleep" and when they die
 // So we can use it to differentiate between the two
 internal static Sisco_Return Ext_LockOnDeath_Start(ref object sender, ref object[] args, ref object return_value)
 {
     return(new Sisco_Return(SiscosHooks.call(HOOK_ID.Player_Sleep_Begin, sender, ref return_value, args)));
 }
Ejemplo n.º 10
0
 internal static Sisco_Return Ext_Player_Death(ref object sender, ref object[] args, ref object return_value)
 {
     is_player_dead = true;
     return(new Sisco_Return(SiscosHooks.call(HOOK_ID.Player_Death, sender, ref return_value, args)));
 }
Ejemplo n.º 11
0
        internal static Sisco_Return Ext_Game_Saved(ref object sender, ref object[] args, ref object return_value)
        {
            string saveFile = GameData.ToPath((sender as GameData).gameName);

            return(new Sisco_Return(SiscosHooks.call(HOOK_ID.Game_Saved, sender, ref return_value, new object[] { saveFile })));
        }
Ejemplo n.º 12
0
        internal static Sisco_Return Ext_Post_Game_Loaded(ref object sender, ref object[] args, ref object return_value)
        {
            string saveFile = GameData.ToPath(args[0] as string);

            return(new Sisco_Return(SiscosHooks.call(HOOK_ID.Post_Game_Loaded, sender, ref return_value, new object[] { saveFile })));
        }
Ejemplo n.º 13
0
 internal static Sisco_Return Ext_Spawn_Plot_Upgrades_UI(ref object sender, ref object[] args, ref object return_value)
 {
     LandPlot.Id kind = Get_Plot_ID_From_Upgrades_UI_Class(sender);
     return(new Sisco_Return(SiscosHooks.call(HOOK_ID.Spawn_Plot_Upgrades_UI, sender, ref return_value, new object[] { kind })));
 }