Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
            }
        }