Example #1
0
        /// <summary>
        /// Unregisters the specified entity.
        /// </summary>
        /// <param name="name">Original name of the entity.</param>
        /// <param name="numberOfArguments">Number of entity arguments.</param>
        public void Unregister(string name, int numberOfArguments = 0)
        {
            var key = Tuple.Create(name, numberOfArguments);

            Debug.Assert(NameWithArgToId.ContainsKey(key));
            NameWithArgToId.Remove(key);
        }
Example #2
0
        /// <summary>
        /// Registers the specified entity and returns the registered ID value.
        /// </summary>
        /// <param name="name">Original name of the entity.</param>
        /// <param name="numberOfArguments">Number of entity arguments.</param>
        /// <returns>Registered entity ID.</returns>
        public int Register(string name, int numberOfArguments = 0)
        {
            var key = Tuple.Create(name, numberOfArguments);

            Debug.Assert(!NameWithArgToId.ContainsKey(key));
            NameWithArgToId.Add(key, NextFreeId);
            return(NextFreeId++);
        }
Example #3
0
        /// <summary>
        /// Gets the entity ID from its name.
        /// </summary>
        /// <param name="name">Original entity name.</param>
        /// <param name="numberOfArguments">Number of entity arguments (if it has any).</param>
        /// <returns>Mapped entity ID.</returns>
        public int GetId(string name, int numberOfArguments = 0)
        {
            var key = Tuple.Create(name, numberOfArguments);

            int value;

            if (!NameWithArgToId.TryGetValue(key, out value))
            {
                Debug.Assert(false, "Invalid entity name requested!");
            }
            return(value);
        }
Example #4
0
        /// <summary>
        /// Checks whether the entity has been registered.
        /// </summary>
        /// <param name="name">Original entity name.</param>
        /// <param name="numberOfArguments">Number of entity arguments (if it has any).</param>
        /// <returns>True if the entity has been registered. False otherwise.</returns>
        public bool IsRegistered(string name, int numberOfArguments = 0)
        {
            var key = Tuple.Create(name, numberOfArguments);

            return(NameWithArgToId.ContainsKey(key));
        }