Ejemplo n.º 1
0
        //-----------------------------------------------------------------------------------------------
        public void UnregisterInfluenceObject(IInfluenceObject objectToUnregister)
        {
            List <IInfluenceObject> objectsWithTag = null;
            string objectTag = objectToUnregister.ObjectTag;
            bool   isTagAlreadyRegistered = InfluenceObjects.TryGetValue(objectTag.ToLower(), out objectsWithTag);

            if (!isTagAlreadyRegistered)
            {
                return;
            }

            foreach (IInfluenceObject influenceObject in objectsWithTag)
            {
                if (influenceObject == objectToUnregister)
                {
                    objectsWithTag.Remove(objectToUnregister);
                    return;
                }
            }
        }
Ejemplo n.º 2
0
        //-----------------------------------------------------------------------------------------------
        public void RegisterInfluenceObject(IInfluenceObject objectToRegister)
        {
            List <IInfluenceObject> objectsWithTag = null;
            string objectTag = objectToRegister.ObjectTag;
            bool   isTagAlreadyRegistered = InfluenceObjects.TryGetValue(objectTag.ToLower(), out objectsWithTag);

            if (isTagAlreadyRegistered)
            {
                // Avoid adding an object twice
                if (objectsWithTag.Contains(objectToRegister))
                {
                    return;
                }

                objectsWithTag.Add(objectToRegister);
                return;
            }

            // Add the new tag with a new list
            objectsWithTag = new List <IInfluenceObject>();
            objectsWithTag.Add(objectToRegister);
            InfluenceObjects.Add(objectTag.ToLower(), objectsWithTag);
        }
Ejemplo n.º 3
0
 //-----------------------------------------------------------------------------------------------
 public void UnregisterInfluenceObject(IInfluenceObject influenceObject)
 {
     GetAndInitializeInfluenceSystemReferenceIfNeeded();
     m_influenceSystem.UnregisterInfluenceObject(influenceObject);
 }