Ejemplo n.º 1
0
        /// <summary>
        /// Start/Endpunkt wird abgespeichert
        /// </summary>
        private void SafeValues()
        {
            //Start der Gruppe, ist Start des ersten Objekts
            this.GroupStart = ContainingObjects.First().GetStart();

            //Ende der Gruppe, ist Ende des letzten Objekts
            this.GroupEnd = ContainingObjects.Last().GetEnd();
        }
Ejemplo n.º 2
0
        public DrawWord(Point startPoint, string word)
        {
            //word wird in Großbuchstaben geschreiben
            word.ToUpper();

            this._Word      = word;
            this.GroupStart = startPoint;

            var firstletter = true;

            //Jeder Buchstabe wird einzeln hinzugefügt
            foreach (var letter in word)
            {
                //Pfad der Buchstaben wird gespeichert
                // Buchstaben befinden sich im characters ordner
                string filepath = Path.Combine(
                    Directory.GetParent(
                        Directory.GetParent(
                            Environment.CurrentDirectory)
                        .ToString())
                    .ToString(),
                    "characters");

                //bei einem Leerzeichen
                if (letter == ' ')
                {
                    //Datei wird dem Pfad hinzugefügt
                    filepath += "\\" + "_.txt";
                }
                else
                {
                    //Pfad befindet sich im letters ordner
                    filepath += "\\" + letter + ".txt";
                }

                //Objekte des Buchstabens werden abgespeichert
                var letterObjectList = DrawFile.ListFromFile(filepath);

                //Position wird für jedes Objekt berechnet
                foreach (DrawObject drawObject in letterObjectList)
                {
                    var index = letterObjectList.IndexOf(drawObject);

                    //Wenn das Object nicht das erste ist
                    if (index > 0)
                    {
                        //der Start ist das Ende des letzten Objekts
                        drawObject.ObjectStart = letterObjectList[index - 1].GetEnd();
                    }
                    else
                    {
                        if (firstletter)
                        {
                            //Beim ersten Buchstaben, ist der Start der startpoint des Worts
                            drawObject.ObjectStart = startPoint;

                            firstletter = false;
                        }
                        else
                        {
                            //dannach ist der Start das Ende des letzten Objekts
                            drawObject.ObjectStart = ContainingObjects.Last().GetEnd();
                        }
                    }

                    //Endpunkt wird berechnet
                    drawObject.CalculateEnd();

                    drawObject.Redraw();

                    // Objekt wird der Objektliste des DrawWords hinzugefügt
                    ContainingObjects.Add(drawObject);
                }
            }

            //Start und Endpunkt wird abgespeichert
            SafeValues();

            //Die Objekte der Gruppe werden aus der DrawObjectList entfernt, da die ganze Gruppe hinzugefügt wird
            //index des ersten Objekts wird gespeichert
            var startIndex = MainWindow.DrawList.IndexOf(ContainingObjects.First());

            ////alle Objekte werden entfernt
            //MainWindow.DrawList.RemoveRange(startIndex, ContainingObjects.Count);


            ////wird zur Liste hinzugefügt
            //MainWindow.DrawList.Add(this);
        }