protected override void OnDestroy() { if (m_loader) { Object.Destroy(m_loader.gameObject); } m_loader = null; if (m_baseBehaviour) { m_baseBehaviour.sceneObject = null; } m_baseBehaviour = null; if (m_gameObject) { m_gameObject.SetActive(false); if (m_gameObject.name.StartsWith("effect_") || m_gameObject.name.StartsWith("eff_")) { Level.BackEffect(m_gameObject); } else { Object.Destroy(m_gameObject); } } m_gameObject = null; m_transform = null; m_baseBehaviour = null; }
private void AddToScene() { m_baseBehaviour = m_gameObject.GetComponentDefault(behaviourType) as SceneObjectBehaviour; m_baseBehaviour.sceneObject = this; OnAddedToScene(); DispatchEvent(Events.SCENE_ADD_OBJECT); }