// Checks if the current skill tree classes properly inherit from a base class
		bool IsValidInheritance (SkillTreeBase target) {
			if (!target.SkillCategory.IsSubclassOf(typeof(SkillCategoryBase))) {
				return false;
			} else if (!target.SkillCollection.IsSubclassOf(typeof(SkillCollectionBase))) {
				return false;
			} else if (!target.Skill.IsSubclassOf(typeof(SkillBase))) {
				return false;
			}

			return true;
		}
        // Checks if the current skill tree classes properly inherit from a base class
        bool IsValidInheritance(SkillTreeBase target)
        {
            if (!target.SkillCategory.IsSubclassOf(typeof(SkillCategoryBase)))
            {
                return(false);
            }
            else if (!target.SkillCollection.IsSubclassOf(typeof(SkillCollectionBase)))
            {
                return(false);
            }
            else if (!target.Skill.IsSubclassOf(typeof(SkillBase)))
            {
                return(false);
            }

            return(true);
        }
		void UpdateTarget (GameObject go) {
			if (go != null) {
				SkillTreeBase skillTree = go.GetComponent<SkillTreeBase>();
				if (skillTree) {
					// Verify inheritance on SkillTree
					if (IsValidInheritance(skillTree)) {
						// Assign the new skill tree
						target = skillTree;
						sidebar.target = target;
						camera.Reset();
					} else {
						Debug.LogError("Invalid inheritance for skill classes. Please verify they inherit from proper base classes before proceeding.");
					}
				}
			}

			Repaint();
		}
        void UpdateTarget(GameObject go)
        {
            if (go != null)
            {
                SkillTreeBase skillTree = go.GetComponent <SkillTreeBase>();
                if (skillTree)
                {
                    // Verify inheritance on SkillTree
                    if (IsValidInheritance(skillTree))
                    {
                        // Assign the new skill tree
                        target         = skillTree;
                        sidebar.target = target;
                        camera.Reset();
                    }
                    else
                    {
                        Debug.LogError("Invalid inheritance for skill classes. Please verify they inherit from proper base classes before proceeding.");
                    }
                }
            }

            Repaint();
        }