Advertisement
raphael76280

Untitled

Jul 19th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.88 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows;
  7. using System.Windows.Controls;
  8. using System.Windows.Data;
  9. using System.Windows.Documents;
  10. using System.Windows.Input;
  11. using System.Windows.Media;
  12. using System.Windows.Media.Imaging;
  13. using System.Windows.Navigation;
  14. using System.Windows.Shapes;
  15. using System.Windows.Forms;
  16. using System.IO;
  17. using Octokit;
  18.  
  19. namespace UnityGitApp
  20. {
  21.     public class UnityObject
  22.     {
  23.         public string name;
  24.         public object content;
  25.  
  26.  
  27.  
  28.         public virtual object Render() {
  29.             return null;
  30.         }
  31.  
  32.         public virtual List<UnityObject> Object
  33.         {
  34.             get {
  35.                 List<UnityObject> obj = new List<UnityObject>();
  36.                 obj.Append(this);
  37.  
  38.                 return obj;
  39.             }
  40.         }
  41.  
  42.  
  43.     }
  44.  
  45.     class UnityFolder : UnityObject
  46.     {
  47.  
  48.  
  49.         public UnityFolder(string nme, List<UnityObject> cnt)
  50.         {
  51.             name = nme;
  52.             content = cnt;
  53.  
  54.         }
  55.  
  56.         public override object Render()
  57.         {
  58.             List<UnityObject> l = (List<UnityObject>)content;
  59.             TreeViewItem tree = new TreeViewItem();
  60.             tree.Header = name;
  61.             for (int i = 0; i < l.Count; i++)
  62.             {
  63.                 tree.Items.Add(l[i].Render());
  64.             }
  65.  
  66.             return tree;
  67.         }
  68.  
  69.         public override List<UnityObject> Object
  70.         {
  71.             get
  72.             {
  73.                 List<UnityObject> obj = new List<UnityObject>();
  74.                 List<UnityObject> l = (List<UnityObject>)content;
  75.                 obj.Add(this);
  76.                 for (int i = 0; i < l.Count; i++)
  77.                 {
  78.                     obj.Add(l[i]);
  79.                 }
  80.  
  81.                 return obj;
  82.             }
  83.         }
  84.  
  85.     }
  86.  
  87.     class UnityFile : UnityObject
  88.     {
  89.         public UnityFile(string nme, string cnt)
  90.         {
  91.             name = nme;
  92.             content = cnt;
  93.  
  94.         }
  95.  
  96.         public override object Render()
  97.         {
  98.             //  ListBox
  99.             //return new ListBox
  100.             TextBlock text = new TextBlock();
  101.             text.Text = name;
  102.             return text;
  103.         }
  104.     }
  105.  
  106.     public class UnityObjectCompare : IComparer<UnityObject>
  107.     {
  108.  
  109.         int IComparer<UnityObject>.Compare(UnityObject x, UnityObject y)
  110.         {
  111.             //throw new NotImplementedException();
  112.             return x.name.CompareTo(y.name);
  113.         }
  114.     }
  115.  
  116.     public class UnityObjectEqualityCompare : IEqualityComparer<UnityObject>
  117.     {
  118.         public bool Equals(UnityObject x, UnityObject y)
  119.         {
  120.             return x.name.Equals(y.name);
  121.         }
  122.  
  123.         public int GetHashCode(UnityObject obj)
  124.         {
  125.             return obj.name.GetHashCode();
  126.         }
  127.     }
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement