/// <summary> /// Spawns a blood drop. /// </summary> /// <returns>The blood drop.</returns> private BloodDrop SpawnBloodDrop(Vector3 position) { GameObject bloodDropObj = GameObject.Instantiate(m_bloodDropResource) as GameObject; bloodDropObj.transform.parent = m_sceneMaster.DynamicObjects; bloodDropObj.transform.position = position; BloodDrop bloodDrop = bloodDropObj.AddComponentNoDupe <BloodDrop>(); m_bloodDropList.Add(bloodDrop); return(bloodDrop); }
/// <summary> /// Updates the blood drop spawning. /// </summary> private void UpdateBloodDropSpawning() { if (!m_startedLeaking || m_isPlugged) { return; } m_timeSinceLastBloodDropSpawn += Time.deltaTime; if (m_timeSinceLastBloodDropSpawn > m_bloodDropSpawnInterval) { m_timeSinceLastBloodDropSpawn = 0.0f; BloodDrop bloodDrop = SpawnBloodDrop(this.transform.position); bloodDrop.Initialize(this, m_bloodDropGravity, m_bloodDropVelocity, m_deleteY); } }
/// <summary> /// Notifies of a blood drop deletion. /// </summary> /// <param name="deletedBloodDrop">Deleted blood drop.</param> public void NotifyBloodDropDeletion(BloodDrop deletedBloodDrop) { m_bloodDropList.Remove(deletedBloodDrop); }