Also, was wir haben.
Entwickler von der VS Tools for Unity team
sagte, dass es eine ihrer am meisten abgestimmten Feature-Anfragen ist. Und es ist überraschenderweise nicht trivial zu reparieren, sie arbeiten daran.
Ich habe jedoch ein Skript gefunden, das verwendet werden kann. Ich habe es in der russischen Einheitsgemeinschaft gefunden .
Vielen Dank an DbIMok . Außerdem hat er dieses Skript gestern auf forum.unity3d.com gepostet
Sie müssen ein C # -Skript mit dem Namen erstellen FileModDialogCloser.cs
und es in den Editor
Ordner legen . Hier ist der Code:
using System;
using System.Runtime.InteropServices;
using UnityEditor;
[InitializeOnLoad]
public class FileModDialogCloser {
[DllImport("user32.dll", EntryPoint = "FindWindow", SetLastError = true)]
static extern IntPtr FindWindowByCaption(IntPtr ZeroOnly, string lpWindowName);
[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
[DllImport("user32.dll")]
static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, int dwExtraInfo);
const string search = "File Modification Detected";
static IntPtr hwnd;
static void Check() {
hwnd = FindWindowByCaption(IntPtr.Zero, search);
if ((int)hwnd != 0) {
ShowWindow(hwnd, 5);
keybd_event(0x0D, 0, 0, 0);
}
}
static FileModDialogCloser() {
EditorApplication.update += Check;
}
}
Ich frage mich!
Es funktioniert zum Erstellen und Löschen von C # -Skripten über Unity.
Wie Sie sehen können, hat der Code eine Zeile keybd_event(0x0D, 0, 0, 0);
. Dies simuliert das Drücken einer EnterTaste. Und das bedeutet Reload- Realisierung. Wenn Sie ReloadAll benötigen, müssen Sie Folgendes tun:
keybd_event(0x09, 0, 0, 0);
keybd_event(0x0D, 0, 0, 0);
Dies ist das Drücken der TabTaste und dann Enter.
KLEINER FEHLER: Wenn Sie ein Skript erstellen / löschen: Bestätigen, dass das Fenster geöffnet, ausgeführt keybd_event
und geschlossen wird. Es geht sehr schnell, so dass Sie keine Schaltfläche anklicken müssen. Aber Sie können dieses Fenster trotzdem in wenigen Millisekunden sehen. Ich denke, im Moment gibt es keinen besseren Weg, das zu tun.
ZUSÄTZLICH:
Sie können darin ein C # -Skript für Unity-Projekte erstellen (nicht nur ein einfaches C # -Skript) Visual Studio
. Unity
fügt die Datei automatisch ohne Bestätigungsfenster hinzu.
Die erste Methode (einfach) :
Wenn ich es richtig verstanden habe: Wenn Sie verwenden Visual Studio Tools for Unity
, integriert dieses Tool bereits Vorlagen zum Erstellen von Unity C # -Skripten in das VS
. Klicken Sie also mit der rechten Maustaste auf Lösung und wählen Sie Add -> NewItem
. Sie können zwei Vorlagen für Unity sehen:
Allerdings können diese Vorlagen eine Menge unnötiger Informationen enthält, Kommentare zum Beispiel // Use this for initialization
, // Update is called once per frame
usw. Und wie @wondra in den Kommentaren gesagt : Sie eigene benutzerdefinierte Elementvorlage für die Einheit Skripte hinzufügen.
Die zweite Methode :
- Datei von überall erstellen.
- Hinzufügen, was Sie wollen oder löschen Sie etw. Oder Beispiel:
- Überprüfen Sie Ihre Vorlage in der Liste
- Klicken Sie auf
Next
,Next
- Legen Sie den Namen und die Beschreibung für die Vorlage fest und klicken Sie auf
Finish
- Die Vorlage wird dem
c:\Users\YOUR_PROFILE\Documents\Visual Studio 2015\My Exported Templates\
Ordner hinzugefügt , auch dem c:\Users\YOUR_PROFILE\Documents\Visual Studio 2015\Templates\ItemTemplates\
. Nach dem VS
Neustart sehen Sie diese Vorlage in der Liste nur als VS Tools for Unity
Vorlagen:
Hier ist die Videoerklärung .
Glückliches Ende!