Jump to content
Unity Insider Forum

Bradley

Members
  • Content Count

    77
  • Joined

  • Last visited

  • Days Won

    3

Bradley last won the day on July 2 2019

Bradley had the most liked content!

Community Reputation

14 Gut

About Bradley

  • Rank
    Advanced Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Wieder ein kleiner Fortschritt beim Anlegen der Tickets. DAs Linke ist die Basis eines Bugs, das Rechte eine UserStory. Ich denke, ich werde da noch etwas mit Farbe oder Symbolen arbeiten damit Sie auf den Erstem Blick unterscheidbar sind. Ausserdem bekomme ich von Azure Devops tatsächlich HTML texte zurück für die Felder was mich dann doch etwas überrascht hat. Die Hauptmaske wurde jetzt in so weit erweitert, dass die Tickets nur einmal geöffnet werden bzw. beim nochmaligen öffnen einfach wieder in den Focus gesetzt werden.
  2. Die notwendigen Daten wie Organisation, Projekt, Query ID und PAT lassen sich jetzt funktional eingeben und auch speichern. Bisher ist es so gelöst das alle 4 Felder als XML (De)Serialisiert werden. Die Entsprechende XML liegt als File im Ordner von des PlugIns. Im Moment ist der Pfad noch Hardcodiert also Application.dataPath + "/UnityCallsAzure/config.xml" das funktioniert exakt so lange wie das nicht verschoben wird. Das PAT im Klartext zu speichern macht mir tatsächlich ein wenig Bauschmerzen. Als nächstes gehts mal an die Detailansicht der Workitems ran.
  3. Aus einer Idee heraus, entsteht gerade ein kleines PlugIn das es mir ermöglicht die Workitems eines Query direkt via REST API von Azure Devops abzufragen. Das Ganze ist noch so was wie eine Machbarkeitsstudie. Immerhin funktioniert das Abfragen einer Query und das Anzeigen der verschiedenen Tickekts innerhalb von Unity bereits. Ich möchte diesen kleinen Prototyp soweit ausbauen das man sich eine beliebige Work Item Query abfragen kann, die Items in der Listenform angezeigt werden und weitere Informationen wie Description, Comments etc. als zusätzliches Fenster geöffnet werden können. Wenn das soweit steht ist der nächste Schritt, Änderungen an den Tickets wieder auf den Azure Devops Server zurück zu spielen.
  4. Erstmal danke an dich Sascha. Ich bin jetzt mal ein Schritt weiter gekommen: public class ToolTipWindow_Test : MonoBehaviour { private GameObject toolTip; [SetUp] public void Setup() { toolTip = new GameObject("Panel_ToolTip"); toolTip.gameObject.AddComponent<ToolTipText>(); //toolTip.GetComponent<ToolTipText>().Start(); toolTip.GetComponent<ToolTipText>().toolTipText = gameObject.AddComponent<Text>(); toolTip.GetComponent<ToolTipText>().toolTipPanel = new GameObject("Panel"); } [Test] public void CheckTextInTooltip_False() { bool result = false; result = toolTip.GetComponent<ToolTipText>().ToolTipTextInputCheck(""); Assert.IsFalse(result); } [Test] public void CheckTextInTooltip_True() { bool result = false; result = toolTip.GetComponent<ToolTipText>().ToolTipTextInputCheck("TEST"); Assert.IsTrue(result); } [TearDown] public void Teardown() { Object.DestroyImmediate(toolTip); } } Einziges Problem, das ich noch habe ist folgender Abschnitt: toolTip.GetComponent<ToolTipText>().toolTipText = gameObject.AddComponent<Text>(); Lagere ich das ganze in eine Funktion aus welche in der zu testenden Klasse ist, und rufe die Funktion im Setup auf, habe ich kein Problem mehr. Ich wollte das ganze allerdings auch das ganze in der TestSetup machen.
  5. Noch Banaler kann sein das man erst mal in Visual Studio speichern muss damit Unity anfängt zu denken.
  6. Tatsächlich ist Sie eine. using System.Collections; using System.Collections.Generic; using NUnit.Framework; using UnityEngine; using UnityEngine.TestTools; namespace Tests { public class ToolTipWindow_Test : MonoBehaviour { [Test] public void CheckTextInTooltip() { bool result = false; ToolTipText toolTip = gameObject.AddComponent(typeof(ToolTipText)) as ToolTipText; result = toolTip.ToolTipTextInputCheck(""); Assert.IsFalse(result); } } }
  7. Tatsächlich fliegt der Fehler schon bei: ToolTipText toolTip = gameObject.AddComponent(typeof(ToolTipText)) as ToolTipText; Der genau Fehlertext: Ich hänge mal die Entsprechende (noch schlampig aussehende) Klasse an. using UnityEngine; using UnityEngine.UI; public class ToolTipText : MonoBehaviour { [Header("Einstellungen")] [Tooltip("Zeit in Sekunden bis das Tooltip erscheint")] [Range(0.0f, 5.0f)] public float targetTime = 1.5f; [Tooltip("Gibt an ob das Tooltip per Default Aktiv ist")] public bool ToolTipAktiv = true; [Tooltip("Gibt an ob das Tooltip aktuell aktiv ist oder nicht")] public bool ToolTipVisible = false; [Header("Zuweisungen")] public Text toolTipText; public GameObject toolTipPanel; [SerializeField] private float deltaTimer = 0.0f; Vector3 MousCordOffset = new Vector3(0, 0, 0); private void Start() { } public void ToolTip(string Text) { toolTipText.text = Text; } public void Update() { if (ToolTipAktiv) { ToolTipVisible = ToolTipTextInputCheck(toolTipText.text); toolTipPanel.gameObject.transform.position = ShowToolTip(ToolTipVisible); Debug.Log(toolTipPanel.gameObject.transform.position); //if (!ToolTipVisible) //{ // deltaTimer -= Time.deltaTime; // if (deltaTimer <= 0.0f) // { // ToolTipVisible = true; // } //} //else //{ // MousCordOffset.x = Input.mousePosition.x + 20; // MousCordOffset.y = Input.mousePosition.y + 00; // toolTipPanel.gameObject.transform.position = MousCordOffset; //} } } /// <summary> /// In abhängigkeit vom Text wird True oder False zurück gegeben /// </summary> /// <param name="text">Text kommt vom tooltip.text</param> /// <returns>Ist text leer, wird False zurück gegeben. Sonst True</returns> public bool ToolTipTextInputCheck(string text) { if (text.Length == 0 || text == null) { toolTipPanel.gameObject.transform.position = new Vector3(-500, -500, 0); deltaTimer = targetTime; return false; } return true; } private Vector3 ShowToolTip(bool toolTipVisible) { if (!toolTipVisible) { deltaTimer -= Time.deltaTime; if (deltaTimer <= 0.0f) { ToolTipVisible = true; } return new Vector3(-500, -500, 0); } else { MousCordOffset.x = Input.mousePosition.x + 20; MousCordOffset.y = Input.mousePosition.y + 00; return MousCordOffset; } } }
  8. Ich will meinen Code etwas solider gestalten und versuche mich gerade in die Unittests mit Monobehaivour heran zu tasten. Im Moment scheitere ich aber schon daran überhaupt mein Script aufgerufen zu bekommen: public void CheckTextInTooltip() { bool result = false; ToolTipText toolTip = gameObject.AddComponent(typeof(ToolTipText)) as ToolTipText; result = toolTip.ToolTipTextInputCheck(""); Assert.IsFalse(result); } Der Editor verkündet immer ein NullReference Error. Dass ich solche Klassen nicht einfach mit New Instanziieren kann ist mir mittlerweile klar. Eine weitere Frage: Kann ich diese Unittests auch automatisiert in Azure DevOps testen lassen?
  9. Ein wenig weiter gearbeitet. Radarschüssel ist dran, 2 Frachtcontainer wurden angehängt und dann noch Waffen an den Flügelspitzen. Das ganze muss ich noch fertig Textuieren und dann mal eine kleine Demo draus machen.
  10. Um mal mein skill für texturen zu verbessern habe ich mal ein kleines Low poly Modell erstellt und erstelle dafür eine textur. Mal der aktuelle Zwischenstand.
  11. Letztendlich suche ich ein System mit dem ich effizenter guis erstellen kann. Von daher hast du recht, doozyui ist da der Flasche weg. Ich werde noch etwas mit uibuilder herum spielen.
  12. Okay also wenn NGUI Praktisch identisch mit UGUI ist, dann habe ich davon keinen wirklichen Mehrwert. Für mich klingt DoozyUI letztlich nach einer Ergänzung für Animationen etc. aber nicht um wirlklich ein UI zu bauen? In dem zusammenhang bin ich auf das Video gestoßen: Den UI Builder selbst habe ich als Package herunterladen und installiert, darin auch etwas herum gespielt. Nur bin ich dann gescheitertet das erstellte UI auch anzeigen zu lassen.
  13. Ich konnte das Problem jetzt lösen in dem ich Unity vollständig gelöscht und neu installiert habe. Keine Ahnung warum es überhaupt zu dem Problem gekommen ist.
  14. Ich bin reichlich erstaunt und genervt. Nach einem Urlaub habe ich mein Unity auf 2019.2.9.f1 upgedatet. Seid dem hab ich mit meinem Projekt massive Problem, unter anderem ist im Code die using UnityEngine.UI; nicht mehr finden können. Die dll selbst ist zwar auf der Festplatte vorhanden, aber nach dem manuellen Einfügen und einmal Builden in Unity fliegt mir die Referenz wieder raus. ReImport All habe ich bereits Probiert, auch das bringt keine besserung. Erstelle ich ein komplett neues Projekt, kann ich die Dll problemlos nutzen. Ich stehe vor einem Rätsel
×
×
  • Create New...