public new void OnDestroy() { base.OnDestroy(); SGT_Helper.DestroyGameObject(skysphereGameObject); SGT_Helper.DestroyObject(skysphereMaterial); }
public new void OnDestroy() { base.OnDestroy(); SGT_Helper.DestroyGameObject(starfieldGameObject); SGT_Helper.DestroyObject(starfieldMaterial); SGT_Helper.DestroyObjects(meshes); }
public new void OnDestroy() { base.OnDestroy(); SGT_Helper.DestroyGameObject(dust); SGT_Helper.DestroyObject(dustMaterial); SGT_Helper.DestroyObject(generatedMesh); }
public new void OnDestroy() { base.OnDestroy(); SGT_Helper.DestroyGameObject(atmosphereGameObject); SGT_Helper.DestroyGameObject(oblatenessGameObject); SGT_Helper.DestroyObject(lightingTexture); SGT_Helper.DestroyObject(atmosphereMaterial); }
public new void OnDestroy() { base.OnDestroy(); SGT_Helper.DestroyGameObject(surfaceGameObject); SGT_Helper.DestroyGameObject(oblatenessGameObject); SGT_Helper.DestroyGameObject(atmosphereGameObject); SGT_Helper.DestroyObjects(surfaceMaterials); SGT_Helper.DestroyObject(atmosphereMaterial); SGT_Helper.DestroyObject(atmosphereTexture); SGT_Helper.DestroyObject(atmosphereSurfaceTexture); }
public new void OnDestroy() { base.OnDestroy(); SGT_Helper.DestroyGameObject(surfaceGameObject); SGT_Helper.DestroyGameObject(atmosphereGameObject); SGT_Helper.DestroyGameObject(cloudsGameObject); SGT_Helper.DestroyObjects(surfaceMaterials); SGT_Helper.DestroyObject(atmosphereMaterial); SGT_Helper.DestroyObjects(cloudsMaterials); SGT_Helper.DestroyObject(surfaceLightingTexture); SGT_Helper.DestroyObject(atmosphereTexture); SGT_Helper.DestroyObject(atmosphereSurfaceTexture); SGT_Helper.DestroyObject(cloudsLightingTexture); }
public void Remove(int index) { if (index >= 0) { if (meshes != null && index < meshes.Count) { meshes.RemoveAt(index); } if (meshGameObjects != null && index < meshGameObjects.Count) { SGT_Helper.DestroyGameObject(meshGameObjects[index]); meshGameObjects.RemoveAt(index); } } }
private void UpdateDebris() { if (debrisCentre != null) { if (debrisList != null) { var centre = debrisCentre.transform.position; var sqrOuterRadius = DebrisContainerOuterRadius * DebrisContainerOuterRadius; for (var i = debrisList.Count - 1; i >= 0; i--) { var debris = debrisList[i]; if (debris != null) { if ((debris.transform.position - centre).sqrMagnitude > sqrOuterRadius) { if (debrisList.Count > debrisCountMax) { debrisList[i] = SGT_Helper.DestroyGameObject(debris); } else { debris.transform.position = RandomEdgePosition; debris.SendMessage("ResetDebrisPosition", SendMessageOptions.DontRequireReceiver); } } } else { debrisList.RemoveAt(i); } } } for (var i = DebrisCount; i < debrisCountMax; i++) { SpawnDebris(true); } } }
public override void OnInspector() { var mbs = (SGT_MonoBehaviour[])Object.FindObjectsOfType(typeof(SGT_MonoBehaviour)); SGT_EditorGUI.HelpBox("This tool allows you to cleanup any hidden game objects that have been orphaned by SGT.", MessageType.Info); SGT_EditorGUI.HelpBox("If a game object is still visible after showing it, then it's still in use by SGT.", MessageType.Info); SGT_EditorGUI.Separator(); if (SGT_EditorGUI.Button("Show All Hidden Game Objects") == true) { foreach (var mb in mbs) { if (mb != null) { foreach (Transform t in mb.transform) { if (Check(t) == true) { t.hideFlags = 0; } } } } Repaint(); } SGT_EditorGUI.Separator(); if (SGT_EditorGUI.Button("Delete All Hidden Game Objects") == true) { foreach (var mb in mbs) { if (mb != null) { foreach (Transform t in mb.transform) { if (Check(t) == true) { SGT_Helper.DestroyGameObject(t); } } } } Repaint(); } SGT_EditorGUI.Separator(); var totalHiddenCount = 0; for (var i = 0; i < mbs.Length; i++) { var mb = mbs[i]; if (mb != null) { var hiddenCount = 0; foreach (Transform t in mb.transform) { if (Check(t) == true) { hiddenCount += 1; totalHiddenCount += 1; } } if (hiddenCount > 0) { SGT_EditorGUI.BeginGroup("SGT Component (" + mb.name + ")"); { for (var j = 0; j < mb.transform.childCount; j++) { var t = mb.transform.GetChild(j); if (Check(t) == true) { if (SGT_EditorGUI.TextWithButton("Hidden GameObject (" + t.name + ")", "Show", 50.0f) == true) { t.hideFlags = 0; GUI.changed = true; EditorUtility.SetDirty(mb); EditorApplication.RepaintHierarchyWindow(); Repaint(); } } } } SGT_EditorGUI.EndGroup(); SGT_EditorGUI.Separator(); } } } if (totalHiddenCount == 0) { SGT_EditorGUI.HelpBox("This scene contains no hidden children of SGT components.", MessageType.Info); } }
public void OnDestroy() { SGT_Helper.DestroyGameObject(thrusterFlameGameObject); SGT_Helper.DestroyGameObject(thrusterFlareGameObject); }
private System.Collections.IEnumerator Update_Coroutine() { for (;;) { // Swap currentVertices = nextVertices; nextVertices = null; if (currentVertices != null) { nextGameObject = SGT_Helper.CreateGameObject("Collider (Currently Building)", gameObject); nextGameObject.layer = gameObject.layer; nextGameObject.tag = gameObject.tag; nextCollider = new SGT_MultiMesh(); nextCollider.GameObject = nextGameObject; nextCollider.HasMeshColliders = true; nextCollider.MeshCollidersEnabled = true; nextCollider.SharedPhysicsMaterial = physicsMaterial; var vertexCount = currentVertices.Length; var copyFrom = 0; while (copyFrom < vertexCount) { var copyTo = Mathf.Min(copyFrom + verticesPerMesh, vertexCount); var copyCount = copyTo - copyFrom; var vertices = new Vector3[copyCount]; var triangles = new int[copyCount]; for (var i = 0; i < copyCount; i++) { vertices[i] = currentVertices[copyFrom + i]; triangles[i] = i; } var mesh = new Mesh(); mesh.name = "Tessellator Collider Generated"; mesh.vertices = vertices; mesh.triangles = triangles; mesh.RecalculateBounds(); nextCollider.Add(mesh); nextCollider.Update(); copyFrom += verticesPerMesh; yield return(new WaitForEndOfFrame()); } // Remove current ones if (activeCollider != null) { activeCollider.DestroyAllMeshes(); } SGT_Helper.DestroyGameObject(activeGameObject); // Swap activeCollider = nextCollider; activeGameObject = nextGameObject; activeGameObject.name = "Collider (Active)"; // Remove old nextGameObject = null; nextCollider = null; } yield return(new WaitForEndOfFrame()); } }
public void Update() { if (surfaceGameObject == null) { var fillSurfaceGameObject = new SGT_FillGameObject(); SendMessage("FillSurfaceGameObject", fillSurfaceGameObject, SendMessageOptions.DontRequireReceiver); surfaceGameObject = fillSurfaceGameObject.GameObject; } if (activeCollider != null) { if (activeGameObject == null) { activeGameObject = SGT_Helper.CreateGameObject("Collider (Active)", gameObject); } activeCollider.GameObject = activeGameObject; activeCollider.Update(); } else { if (activeGameObject != null) { SGT_Helper.DestroyGameObject(activeGameObject); } } if (nextCollider != null) { if (nextGameObject == null) { nextGameObject = SGT_Helper.CreateGameObject("Collider (Currently Building)", gameObject); } nextCollider.GameObject = nextGameObject; nextCollider.Update(); } else { if (nextGameObject != null) { SGT_Helper.DestroyGameObject(nextGameObject); } } if (activeGameObject != null) { SGT_Helper.SetLocalScale(activeGameObject.transform, surfaceGameObject.transform.localScale); } if (nextGameObject != null) { SGT_Helper.SetLocalScale(nextGameObject.transform, surfaceGameObject.transform.localScale); } #if UNITY_EDITOR == true if (Application.isEditor == true) { SGT_Helper.HideGameObject(activeGameObject); SGT_Helper.HideGameObject(nextGameObject); } #endif }