示例#1
0
        public override void Entry(IModHelper helper)
        {
            _instance = this;
            monitor   = Monitor;
            helper.Events.GameLoop.GameLaunched += (o, e) =>
            {
                sdata = new CustomObjectData("Parachute", "Parachute/0/-300/Crafting -9/Play 'Parachute with Wumbus' at home!/true/true/0/Parachute", helper.Content.Load <Texture2D>(@"assets/arcade.png"), Color.White, bigCraftable: true, type: typeof(MachineParachute));
                if (Helper.ModRegistry.GetApi <IMobilePhoneApi>("aedenthorn.MobilePhone") is IMobilePhoneApi api)
                {
                    Texture2D appIcon = Helper.Content.Load <Texture2D>(Path.Combine("assets", "mobile_app_icon.png"));
                    bool      success = api.AddApp(Helper.ModRegistry.ModID + "Mobile2048", "2048", () =>
                    {
                        Game1.currentMinigame = new GameParachute();
                    }, appIcon);
                }
            };
            helper.Events.GameLoop.SaveLoaded += (o, e) => addToCatalogue();

            helper.ConsoleCommands.Add("getparachute", "", (s, p) =>
            {
                Game1.player.addItemByMenuIfNecessary(sdata.getObject());
            });
        }
        public override void Entry(IModHelper helper)
        {
            _monitor           = Monitor;
            cData              = new List <CustomObjectData>();
            cartTexture        = Helper.Content.Load <Texture2D>(@"Assets/cartridge.png");
            romfolder          = Path.Combine(helper.DirectoryPath, "roms");
            GBCartridge.roms   = new Dictionary <string, byte[]>();
            GameBoy.attTexture = helper.Content.Load <Texture2D>(@"Assets/slot.png");
            gbData             = new CustomObjectData("GameBoy", "GameBoy/0/-300/Crafting -9/A classic GameBoy,but it looks damaged./GameBoy", helper.Content.Load <Texture2D>(@"Assets/gameboy.png"), Color.White, type: typeof(GameBoy));
            loadRoms();

            helper.Events.GameLoop.SaveLoaded += (s, e) =>
            {
                cData.ForEach(c => new InventoryItem(c.getObject(), 500, 1).addToNPCShop("Gus"));
                new InventoryItem(gbData.getObject(), 2000, 1).addToNPCShop("Gus");
            };
        }
示例#3
0
        private void setup()
        {
            new InventoryItem(pdata.getObject(), 0, 1).addToFurnitureCatalogue();
            PongMinigame.game = Helper.Reflection.GetField <object>(pong, "game").GetValue();
            pongHelper        = (IModHelper)typeof(Mod).GetProperty("Helper", BindingFlags.Public | BindingFlags.Instance).GetValue(pong);
            keyEvents.AddOrReplace(SButton.Space.onPressed(() =>
            {
                if (Game1.currentMinigame is PongMinigame p)
                {
                    Helper.Reflection.GetMethod(PongMinigame.game, "Start").Invoke();
                }
            }));

            keyEvents.AddOrReplace(SButton.Escape.onPressed(() =>
            {
                if (Game1.currentMinigame is PongMinigame p)
                {
                    if (Helper.Reflection.GetMethod(PongMinigame.game, "HasStarted").Invoke <bool>())
                    {
                        PongMinigame.game.GetType().GetMethod("Reset", new Type[] { }).Invoke(PongMinigame.game, null);
                    }
                    else
                    {
                        PongMinigame.quit       = true;
                        Game1.options.zoomLevel = PongMachine.zoom;
                    }
                }
            }));
            keyEvents.AddOrReplace(SButton.P.onPressed(() =>
            {
                if (Game1.currentMinigame is PongMinigame p)
                {
                    Helper.Reflection.GetMethod(PongMinigame.game, "TogglePaused").Invoke();
                }
            }));
        }
示例#4
0
        private static void GameLoop_UpdateTicked(object sender, StardewModdingAPI.Events.UpdateTickedEventArgs e)
        {
            string modId = Helper.ModRegistry.ModID;
            var    items = Helper.Data.ReadJsonFile <Items>("data.json");

            foreach (Data data in items.Content)
            {
                Texture2D texture = Helper.Content.Load <Texture2D>(data.Texture);
                if (data.ScaleUp)
                {
                    float scale  = (float)(Convert.ToDouble(texture.Width) / Convert.ToDouble(data.OriginalWidth));
                    int   height = (int)(texture.Height / scale);
                    texture = ScaledTexture2D.FromTexture(texture.getArea(new Rectangle(0, 0, data.OriginalWidth, height)), texture, scale);
                }
                var cod = new CustomObjectData(modId + "." + data.Id, data.DataString.Replace("{Name}", i18n.Get(data.Id + ".Name")).Replace("{Description}", i18n.Get(data.Id + ".Description")), texture, Color.White, data.TileIndex, data.BigCraftable, typeof(CustomItem), data.CraftingRecipe != null ? new CraftingData(modId + "." + data.Id, data.CraftingRecipe, i18n.Get(data.Id + ".Name"), -1, data.BigCraftable) : null);
                if (data.SoldBy != null)
                {
                    var i = new InventoryItem(cod.getObject(), data.Price);
                    i.addToNPCShop(data.SoldBy);
                }
            }

            Helper.Events.GameLoop.UpdateTicked -= GameLoop_UpdateTicked;
        }
示例#5
0
 public void addToCatalogue()
 {
     new InventoryItem(sdata.getObject(), 5000, 1).addToNPCShop("Gus");
 }
示例#6
0
 private void setup()
 {
     new InventoryItem(pdata.getObject(), 5000, 1).addToNPCShop("Gus");
 }