SharpMod.Entity.GetIndex C# (CSharp) Method

GetIndex() public static method

public static GetIndex ( IntPtr ptr ) : int
ptr IntPtr
return int
        public static int GetIndex(IntPtr ptr)
        {
            return MetaModEngine.engineFunctions.IndexOfEdict(ptr);
        }

Same methods

Entity::GetIndex ( void ptr ) : int

Usage Example

Beispiel #1
0
        public static Entity CreateEntity(IntPtr entityPointer)
        {
            if (entityPointer == IntPtr.Zero)
            {
                return(null);
            }

            int index = Entity.GetIndex(entityPointer);

            if (entityDictionary.ContainsKey(index))
            {
                return(entityDictionary[index]);
            }
            else
            {
                Edict *edict = (Edict *)entityPointer.ToPointer();
                // TODO: 1 and maxplayer can be bot or player
                if (index >= 1 && index <= Server.MaxPlayers)
                {
                    return(RegisterEntity(index, new Player(entityPointer)));
                }

                string classname = GetClassName(edict);

                if (classname.StartsWith("weapon_"))
                {
                    return(RegisterEntity(index, new CounterStrike.Weapon(edict)));
                }

                switch (classname)
                {
                case "player":
                    return(RegisterEntity(index, new Player(entityPointer)));

                default:
                    return(RegisterEntity(index, new Entity(entityPointer)));
                }
            }
        }