Ejemplo n.º 1
0
        public virtual void ChangeColor(Season season)
        {
            switch (season)
            {
            case Season.Winter:
            {
                color = TreeColor.Brown;
                break;
            }

            case Season.Spring:
            {
                color = TreeColor.LightGreen;
                break;
            }

            case Season.Summer:
            {
                color = TreeColor.Green;
                break;
            }

            case Season.Autumn:
            {
                color = TreeColor.Yellow;
                break;
            }

            default:
            {
                throw new Exception();
            }
            }
        }
 public Tree(TreeColor _treeColor, Vector3 _position, int _treeType)
 {
     color    = _treeColor;
     position = _position;
     treeType = _treeType;
     MatchColorWithPrefab();
 }
Ejemplo n.º 3
0
 public virtual void ChangeColor(Season season)
 {
     switch (season)
     {
         case Season.Winter:
             {
                 color = TreeColor.Brown;
                 break;
             }
         case Season.Spring:
             {
                 color = TreeColor.LightGreen;
                 break;
             }
         case Season.Summer:
             {
                 color = TreeColor.Green;
                 break;
             }
         case Season.Autumn:
             {
                 color = TreeColor.Yellow;
                 break;
             }
         default:
             {
                 break;
             }
     }
 }
Ejemplo n.º 4
0
 public TreeNode(int data, TreeColor color, int lvl)
 {
     this.data  = data;
     this.color = color;
     left       = right = null;
     level      = lvl;
     visited    = false;
 }
Ejemplo n.º 5
0
        /*      void Delete_FixUp(TreeNode x)
         *    {
         *        TreeNode w = new TreeNode(0, TreeColor.black,0);
         *        while (x != root && x.color == TreeColor.black)
         *        {
         *            if (x == x.parent.left)
         *            {
         *                w = x.parent.right;
         *                if (w.color == TreeColor.red)
         *                {
         *                    w.color = TreeColor.black;
         *                    x.parent.color = TreeColor.red;
         *                    Left_Rotate(x.parent);
         *                    w = x.parent.right;
         *                }
         *                if (w.left.color == TreeColor.black && w.right.color == TreeColor.black)
         *                {
         *                    w.color = TreeColor.red;
         *                    x = x.parent;
         *                }
         *                else
         *                {
         *                    if (w.right.color == TreeColor.black)
         *                    {
         *                        w.left.color = TreeColor.black;
         *                        w.color = TreeColor.red;
         *                        Right_Rotate(w);
         *                        w = x.parent.right;
         *                    }
         *                    w.color = x.parent.color;
         *                    x.parent.color = TreeColor.black;
         *                    w.right.color = TreeColor.black;
         *                    Left_Rotate(x.parent);
         *                    x = root;
         *                }
         *            }
         *            else
         *            {
         *                w = x.parent.left;
         *                if (w.color == TreeColor.red)
         *                {
         *                    w.color = TreeColor.black;
         *                    x.parent.color = TreeColor.red;
         *                    Right_Rotate(x.parent);
         *                    w = x.parent.left;
         *                }
         *                if (w.right.color == TreeColor.black && w.left.color == TreeColor.black)
         *                {
         *                    w.color = TreeColor.red;
         *                    x = x.parent;
         *                }
         *                else
         *                {
         *                    if (w.left.color == TreeColor.black)
         *                    {
         *                        w.right.color = TreeColor.black;
         *                        w.color = TreeColor.red;
         *                        Left_Rotate(w);
         *                        w = x.parent.left;
         *                    }
         *                    w.color = x.parent.color;
         *                    x.parent.color = TreeColor.black;
         *                    w.left.color = TreeColor.black;
         *                    Left_Rotate(x.parent);
         *                    x = root;
         *                }
         *
         *            }
         *
         *        }
         *        x.color = TreeColor.black;
         *    }*/

        void Delete(TreeNode z)
        {
            bool      m = false;
            TreeNode  y = z;
            TreeNode  x = NIL;
            TreeColor y_original_color = y.color;

            if (z.left == NIL)
            {
                x = z.right;
                Transplant(z, z.right);
            }
            else
            {
                if (z.right == NIL)
                {
                    x = z.left;
                    Transplant(z, z.left);
                }
                else
                {
                    y = Tree_Minimum(z.right);
                    y_original_color = y.color;
                    x = y.right;
                    if (y.parent == z)
                    {
                        x.parent = y;
                    }
                    else
                    {
                        Transplant(y, y.right);
                        Transplant(z, y);
                        y.right.level += 1;
                        y.right        = z.right;
                        y.right.parent = y;
                        m = true;
                    }
                    if (m == false)
                    {
                        Transplant(z, y);
                    }
                    y.left        = z.left;
                    y.left.parent = y;
                    y.color       = z.color;
                }
                if (y_original_color == TreeColor.black)
                {
                    deleteFixup(x);
                }
            }
        }
Ejemplo n.º 6
0
        public TreeInformation GetOrAddTreeInfo(TreeColor color, TreeType treeType, Mainland mainland)
        {
            var treeData = treeDatas.FirstOrDefault(t => t.Color == color && t.TreeType == treeType && t.Mainland == mainland);

            if (treeData != null)
            {
                return(treeData);
            }

            var newTreeData = new TreeInformation()
            {
                Color    = color,
                TreeType = treeType,
                Mainland = mainland
            };

            treeDatas.Add(newTreeData);
            return(newTreeData);
        }
 public TallTree(TreeColor _color, Vector3 _position) : base(_color, _position, 2)
 {
 }
 public TallpineTree(TreeColor _color, Vector3 _position) : base(_color, _position, 1)
 {
 }
 public PineTree(TreeColor _color, Vector3 _position) : base(_color, _position, 0)
 {
 }