예제 #1
0
        /// <summary>
        /// Ajoute un rail et le définit comme sélection actuelle
        /// </summary>
        /// <param name="railIndex">Index du prefab à ajouter, depuis la palette de rails</param>
        private GameObject AddRail(int railIndex)
        {
            // Récupération de la sélection actuelle
            GameObject selected     = Selection.activeGameObject;
            Rail       selectedRail = null;

            if (selected)
            {
                selectedRail = selected.GetComponent <Rail>();
                // null si l'objet sélectionné n'est pas un rail

                if (!selectedRail)
                {
                    // Recherche parmi les parents
                    selectedRail = selected.GetComponentInParent <Rail>();
                }

                if (selectedRail != null)
                {
                    // Can be null
                    RailAnchor anchor = selectedRail.GetAnchorForEndpoint(Rail.Endpoint.Default);

                    return(AddRail(railIndex, selectedRail, anchor));
                }
            }

            return(AddRail(railIndex, null, null));
        }
예제 #2
0
        /// <summary>
        /// Ajoute un rail au circuit
        /// </summary>
        /// <param name="prefab"></param>
        /// <param name="toRail"></param>
        /// <param name="point"></param>
        /// <returns></returns>
        public Rail AddRail(Rail prefab, Rail toRail, Rail.Endpoint point)
        {
            if (toRail != null)
            {
                RailAnchor anchor = toRail.GetAnchorForEndpoint(point);

                if (anchor != null)
                {
                    return(AddRail(prefab, toRail, anchor));
                }
            }

            return(AddRail(prefab, null, null));
        }