internal void OnPlayerPickUpDynamicPickup(int playerid, int pickupid) { var pickup = DynamicPickup.Find(pickupid); if (pickup == null) { return; } OnPlayerPickUpDynamicPickup(pickup, new PlayerEventArgs(BasePlayer.FindOrCreate(playerid))); }
private T GetItem <T>(int id) where T : IDynamicWorldObject { if (typeof(DynamicTextLabel).IsAssignableFrom(typeof(T))) { return((T)(IDynamicWorldObject)DynamicTextLabel.Find(id)); } if (typeof(DynamicPickup).IsAssignableFrom(typeof(T))) { return((T)(IDynamicWorldObject)DynamicPickup.Find(id)); } if (typeof(DynamicRaceCheckpoint).IsAssignableFrom(typeof(T))) { return((T)(IDynamicWorldObject)DynamicRaceCheckpoint.Find(id)); } if (typeof(DynamicObject).IsAssignableFrom(typeof(T))) { return((T)(IDynamicWorldObject)DynamicObject.Find(id)); } if (typeof(DynamicMapIcon).IsAssignableFrom(typeof(T))) { return((T)(IDynamicWorldObject)DynamicMapIcon.Find(id)); } if (typeof(DynamicCheckpoint).IsAssignableFrom(typeof(T))) { return((T)(IDynamicWorldObject)DynamicCheckpoint.Find(id)); } if (typeof(DynamicArea).IsAssignableFrom(typeof(T))) { return((T)(IDynamicWorldObject)DynamicArea.Find(id)); } if (typeof(DynamicActor).IsAssignableFrom(typeof(T))) { return((T)(IDynamicWorldObject)DynamicActor.Find(id)); } throw new Exception("Unknown dynamic world object type."); }