示例#1
0
        /*--------------------------------------------------------------------------------------------*/
        private static T BuildRenderer <T>(Transform pParentTx, GameObject pPrefab,
                                           string pDisplayTypeName, Type pDefaultType) where T : class, IGameObjectProvider
        {
            if (pPrefab != null)
            {
                T prefabRend = TryBuildPrefabRenderer <T>(pPrefab);

                if (prefabRend != null)
                {
                    prefabRend.gameObject.transform.SetParent(pParentTx, false);

                    TreeUpdater treeUp = prefabRend.gameObject.GetComponent <TreeUpdater>();

                    if (treeUp != null)
                    {
                        TreeUpdater.SendTreeUpdatableChanged(treeUp, "BuildRenderer");
                    }

                    return(prefabRend);
                }

                Debug.LogError(pDisplayTypeName + " prefab '" + pPrefab.name + "' must contain a '" +
                               typeof(T) + "' component. ", pParentTx);
            }

            Debug.LogWarning("Could not find existing renderer, and no prefab provided.", pParentTx);
            return(default(T));
        }
示例#2
0
 /*--------------------------------------------------------------------------------------------*/
 public void ReleaseSelectionPrevention()
 {
     if (IsSelectionPrevented)
     {
         IsSelectionPrevented = false;
         TreeUpdater.SendTreeUpdatableChanged(this, "ReleaseSelectionPrevent");
     }
 }
示例#3
0
        /*--------------------------------------------------------------------------------------------*/
        public virtual void DeselectStickySelections()
        {
            if (!IsStickySelected)
            {
                return;
            }

            IsStickySelected = false;
            TreeUpdater.SendTreeUpdatableChanged(this, "IsStickySelected");
            OnDeselected(this);
        }