Ejemplo n.º 1
0
        // ----------------------------------------------------------------------------------------------------
        #endregion

        #region Spawning Methods
        // ----------------------------------------------------------------------------------------------------
        /// <summary>
        /// Spawns a new instance.
        /// </summary>
        public GameObject Spawn(Vector3 position, Quaternion rotation, Vector3 scale)
        {
            // Fetch next available instance
            FeatherPoolInstance poolInstance = NextAvailableInstance;

            if (poolInstance == null)
            {
                return(null);
            }

            // Signal if implementing
            poolInstance.InvokeOnSpawning();

            // Set Transform
            poolInstance.SetPosition(position);
            poolInstance.SetRotation(rotation);
            poolInstance.SetScale(scale);

            // Signal if implementing
            poolInstance.InvokeResettable();

            // Signal if implementing
            poolInstance.InvokeOnSpawned();

            // Activate instance
            poolInstance.SetActive();

            // Return instance
            return(poolInstance.PrefabInstance);
        }