public void DestroyObject(object obj) { BridgeObject bridgeObject = obj as BridgeObject; //Debug.Log("Bridge: DestroyObject: ======== obj: " + obj + " bridgeObject: " + bridgeObject + " destroying: " + bridgeObject.destroying + " destroyed: " + bridgeObject.destroyed); string id = null; if ((bridgeObject != null) && (bridgeObject.gameObject != null)) { id = bridgeObject.id; //Debug.Log("Bridge: DestroyObject: bridgeObject: " + bridgeObject + " id: " + id + " checking destroyed: " + bridgeObject.destroyed + " destroying: " + bridgeObject.destroying); if (bridgeObject.destroyed) { Debug.Log("Bridge: DestroyObject: already destroyed!"); return; } bridgeObject.destroyed = true; //Debug.Log("Bridge: DestroyObject: bridgeObject: " + bridgeObject + " id: " + id + " restarting: " + restarting); if (!restarting) { bridgeObject.SendEventName("Destroyed"); } //Debug.Log("Bridge: DestroyObject: DestroyImmediate: id: " + bridgeObject.id + " gameObject: " + bridgeObject.gameObject + " destroying: " + bridgeObject.destroying); if (!bridgeObject.destroying) { DestroyImmediate(bridgeObject.gameObject); } } if (objectToID.ContainsKey(obj)) { id = objectToID[obj]; objectToID.Remove(obj); } else { //Debug.Log("Bridge: DestroyObject: objectToID missing obj: " + obj, this); } if ((id != null) && (id != "bridge") && idToObject.ContainsKey(id)) { idToObject.Remove(id); } else { //Debug.Log("Bridge: DestroyObject: idToObject missing id: " + id, this); } }
public void DestroyObject(object obj) { BridgeObject bridgeObject = obj as BridgeObject; string id = null; if (bridgeObject != null) { if (bridgeObject.destroyed) { return; } id = bridgeObject.id; bridgeObject.destroyed = true; //Debug.Log("Bridge: DestroyObject: bridgeObject: " + bridgeObject); if (!restarting) { bridgeObject.SendEventName("Destroyed"); } Destroy(bridgeObject.gameObject); } if (objectToID.ContainsKey(obj)) { id = objectToID[obj]; objectToID.Remove(obj); } else { //Debug.Log("Bridge: DestroyObject: objectToID missing obj: " + obj, this); } if ((id != null) && (id != "bridge") && idToObject.ContainsKey(id)) { idToObject.Remove(bridgeObject.id); } else { //Debug.Log("Bridge: DestroyObject: idToObject missing id: " + id, this); } }