Cambios

Ir a la navegación Ir a la búsqueda
sin resumen de edición
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}}
15

ediciones

Menú de navegación