Línea 72: |
Línea 72: |
| # Referencia el PH7: "paquete NuGet <tt>Pathoschild.Stardew.ModBuildConfig</tt>" (lee [[Modding:IDE reference#add-nuget|como añadir el paquete]]). | | # Referencia el PH7: "paquete NuGet <tt>Pathoschild.Stardew.ModBuildConfig</tt>" (lee [[Modding:IDE reference#add-nuget|como añadir el paquete]]). |
| # Reinicia Visual Studio/MonoDevelop tras instalar el paquete. | | # Reinicia Visual Studio/MonoDevelop tras instalar el paquete. |
| + | |
| + | ===Añadir el código=== |
| + | Ahora hay que añadir algo de código, que SMAPI ejecutará. |
| + | |
| + | <ol> |
| + | <li>Elimina el archivo <tt>Class1.cs</tt> o <tt>MyClass.cs</tt> (lee [[Modding:IDE reference#delete-file|como eliminar un archivo]]).</li> |
| + | <li>Añade un archivo de clase C# llamado <tt>ModEntry.cs</tt> a tu proyecto (lee [[Modding:IDE reference#Add a file|como añadir un archivo]]).</li> |
| + | <li>Pon este código en el archivo (reemplaza <tt>NombreDeTuProyecto</tt> con el nombre de tu proyecto): |
| + | <source lang="c#"> |
| + | using System; |
| + | using Microsoft.Xna.Framework; |
| + | using StardewModdingAPI; |
| + | using StardewModdingAPI.Events; |
| + | using StardewModdingAPI.Utilities; |
| + | using StardewValley; |
| + | |
| + | namespace NombreDeTuProyecto |
| + | { |
| + | /// <summary>El punto de entrada del mod.</summary> |
| + | public class ModEntry : Mod |
| + | { |
| + | /********* |
| + | ** Métodos públicos |
| + | *********/ |
| + | /// <summary>El punto de entrada del mod, invocado cuando el mod se carga por primera vez.</summary> |
| + | /// <param name="helper">Proporciona referencias API simplificadas al escribir mods.</param> |
| + | public override void Entry(IModHelper helper) |
| + | { |
| + | helper.Events.Input.ButtonPressed += this.OnButtonPressed; |
| + | } |
| + | |
| + | |
| + | /********* |
| + | ** Métodos privador |
| + | *********/ |
| + | /// <summary>Invocado cuando el jugador presiona un boton en el teclado, controlador, o ratón</summary> |
| + | /// <param name="sender">El invocador del objeto</param> |
| + | /// <param name="e">La información del objeto</param> |
| + | private void OnButtonPressed(object sender, ButtonPressedEventArgs e) |
| + | { |
| + | // ignora si el jugador aún no ha cargado una partida |
| + | if (!Context.IsWorldReady) |
| + | return; |
| + | |
| + | // emprime los clicks del boton en la consola |
| + | this.Monitor.Log($"{Game1.player.Name} presionó {e.Button}.", LogLevel.Debug); |
| + | } |
| + | } |
| + | } |
| + | </source></li> |
| + | </ol> |
| + | |
| | | |
| {{Stub}} | | {{Stub}} |