コード例 #1
0
        internal void OnPlayerLeaveDynamicCP(int playerid, int checkpointid)
        {
            var checkpoint = DynamicCheckpoint.Find(checkpointid);

            if (checkpoint == null)
            {
                return;
            }

            OnPlayerLeaveDynamicCheckpoint(checkpoint, new PlayerEventArgs(BasePlayer.FindOrCreate(playerid)));
        }
コード例 #2
0
        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.");
        }