//----------------------------------------------------------------------------- // Exports CServerUnknown. //----------------------------------------------------------------------------- void export_server_unknown(scope _entities) { class_< IServerUnknown, bases<IHandleEntity>, boost::noncopyable >("ServerUnknown", no_init) .def("get_collideable", &IServerUnknown::GetCollideable, "Returns the Collideable object for this entity.", reference_existing_object_policy() ) .def("get_networkable", &IServerUnknown::GetNetworkable, "Returns the ServerNetworkable object for this entity.", reference_existing_object_policy() ) .def("get_base_entity", &IServerUnknown::GetBaseEntity, "Returns the CBasEntity pointer for this entity.", return_by_value_policy() ) .add_property("classname", &IServerUnknownExt::GetClassname, "Return the entity's classname." ) .def("is_networked", &IServerUnknownExt::IsNetworked, "Return True if the entity is networked." ) ADD_MEM_TOOLS(IServerUnknown) ; }
//----------------------------------------------------------------------------- // Exports CServerNetworkable. //----------------------------------------------------------------------------- void export_server_networkable(scope _entities) { class_< IServerNetworkable, IServerNetworkable *, boost::noncopyable >("ServerNetworkable", no_init) .def("get_entity_handle", &IServerNetworkable::GetEntityHandle, "Returns the HandleEntity instance of this entity.", reference_existing_object_policy() ) .def("get_server_class", &IServerNetworkable::GetServerClass, "Returns the ServerClass instance of this entity.", reference_existing_object_policy() ) .def("get_edict", &IServerNetworkable::GetEdict, "Returns the edict_t instance of this entity.", reference_existing_object_policy() ) .def("get_class_name", &IServerNetworkable::GetClassName, "Returns the class name of this entity." ) .def("release", &IServerNetworkable::Release ) .def("area_num", &IServerNetworkable::AreaNum ) /* .def("get_base_networkable", &IServerNetworkable::GetBaseNetworkable, reference_existing_object_policy() ) */ .def("get_base_entity", &IServerNetworkable::GetBaseEntity, return_by_value_policy() ) .def("get_pvs_info", &IServerNetworkable::GetPVSInfo, "Returns the current visible data.", reference_existing_object_policy() ) ADD_MEM_TOOLS(IServerNetworkable) ; }
//----------------------------------------------------------------------------- // Expose functions. //----------------------------------------------------------------------------- void export_functions(scope _core) { def( "console_message", &ConsoleMessage, "Output a message to the server console." ); def( "get_interface", &GetInterface, return_by_value_policy(), "Retrieve an interface from a library." ); def( "get_core_modules", &GetCoreModules, "Return a list of all modules exposed by Source.Python's core.\n\n" ":rtype: list"); }
//----------------------------------------------------------------------------- // Exports CServerUnknown. //----------------------------------------------------------------------------- void export_server_unknown(scope _entities) { class_< IServerUnknown, bases<IHandleEntity>, boost::noncopyable >("ServerUnknown", no_init) .def("get_collideable", &IServerUnknown::GetCollideable, "Returns the Collideable object for this entity.", reference_existing_object_policy() ) .def("get_networkable", &IServerUnknown::GetNetworkable, "Returns the ServerNetworkable object for this entity.", reference_existing_object_policy() ) .def("get_base_entity", &IServerUnknown::GetBaseEntity, "Returns the CBasEntity pointer for this entity.", return_by_value_policy() ) ADD_MEM_TOOLS(IServerUnknown) ; }
//----------------------------------------------------------------------------- // Exports IPhysicsObject. //----------------------------------------------------------------------------- void export_physics_object(scope _physics) { class_<IPhysicsObjectWrapper, boost::noncopyable> PhysicsObject("PhysicsObject", no_init); PhysicsObject.def( "is_static", &IPhysicsObjectWrapper::IsStatic, "Return True if the object is static." ); PhysicsObject.add_property( "asleep", &IPhysicsObjectWrapper::IsAsleep, &IPhysicsObjectWrapper::EnableSleep, "Return True if the object is asleep." ); PhysicsObject.def( "is_trigger", &IPhysicsObjectWrapper::IsTrigger, "Return True if the object is a trigger." ); PhysicsObject.def( "is_fluid", &IPhysicsObjectWrapper::IsFluid, "Return True if the object is fluid." ); PhysicsObject.def( "is_hinged", &IPhysicsObjectWrapper::IsHinged, "Return True if the object is hinged." ); PhysicsObject.add_property( "collision_enabled", &IPhysicsObjectWrapper::IsCollisionEnabled, &IPhysicsObjectWrapper::EnableCollisions, "Return True if collisions are enabled." ); PhysicsObject.add_property( "gravity_enabled", &IPhysicsObjectWrapper::IsGravityEnabled, &IPhysicsObjectWrapper::EnableGravity, "Return True if gravity is enabled." ); PhysicsObject.add_property( "drag_enabled", &IPhysicsObjectWrapper::IsDragEnabled, &IPhysicsObjectWrapper::EnableDrag, "Return True if air fraction/drag is enabled." ); PhysicsObject.add_property( "motion_enabled", &IPhysicsObjectWrapper::IsMotionEnabled, &IPhysicsObjectWrapper::EnableMotion, "Return True if motion is enabled." ); PhysicsObject.def( "is_moveable", &IPhysicsObjectWrapper::IsMoveable ); PhysicsObject.def( "is_attached_to_constraint", &IPhysicsObjectWrapper::IsAttachedToConstraint ); PhysicsObject.add_property( "game_data", make_function(&IPhysicsObjectWrapper::GetGameData, return_by_value_policy()), &IPhysicsObjectWrapper::SetGameData ); PhysicsObject.add_property( "game_flags", &IPhysicsObjectWrapper::GetGameFlags, &IPhysicsObjectWrapper::SetGameFlags ); PhysicsObject.add_property( "game_index", &IPhysicsObjectWrapper::GetGameIndex, &IPhysicsObjectWrapper::SetGameIndex ); PhysicsObject.add_property( "callback_flags", &IPhysicsObjectWrapper::GetCallbackFlags, &IPhysicsObjectWrapper::SetCallbackFlags ); PhysicsObject.add_property( "mass", &IPhysicsObjectWrapper::GetMass, &IPhysicsObjectWrapper::SetMass ); PhysicsObject.def( "recheck_collision_filter", &IPhysicsObjectWrapper::RecheckCollisionFilter ); PhysicsObject.def( "recheck_contact_points", &IPhysicsObjectWrapper::RecheckContactPoints ); PhysicsObject.add_property( "inertia", &IPhysicsObjectWrapper::GetInertia, &IPhysicsObjectWrapper::SetInertia ); PhysicsObject.add_property( "material_index", &IPhysicsObjectWrapper::GetMaterialIndex, &IPhysicsObjectWrapper::SetMaterialIndex ); PhysicsObject.add_property( "contents", &IPhysicsObjectWrapper::GetContents, &IPhysicsObjectWrapper::SetContents ); PhysicsObject.add_property( "sphere_radius", &IPhysicsObjectWrapper::GetSphereRadius, "Return the radius if this is a sphere object (zero if this is a polygonal mesh)." ); PhysicsObject.add_property( "energy", &IPhysicsObjectWrapper::GetEnergy ); PhysicsObject.add_property( "mass_center_local_space", &IPhysicsObjectWrapper::GetMassCenterLocalSpace ); PhysicsObject.add_property( "position", &IPhysicsObjectWrapper::GetPosition, "Return a tuple that contains the position and the angle of the object." ); PhysicsObject.def( "set_position", &IPhysicsObjectWrapper::SetPosition ); PhysicsObject.add_property( "velocity", &IPhysicsObjectWrapper::GetVelocity, "Return a tuple that contains the velocity in worldspace and relative to the object." ); PhysicsObject.def( "set_velocity", &IPhysicsObjectWrapper::SetVelocity ); PhysicsObject.def( "set_velocity_instantaneous", &IPhysicsObjectWrapper::SetVelocityInstantaneous ); PhysicsObject.def( "apply_force_center", &IPhysicsObjectWrapper::ApplyForceCenter ); PhysicsObject.add_property( "name", &IPhysicsObjectWrapper::GetName ); PhysicsObject.def( "output_debug_info", &IPhysicsObjectWrapper::OutputDebugInfo ); }
) .add_property("max_num_bits", &bf_write::GetMaxNumBits ) .add_property("num_bits_left", &bf_write::GetNumBitsLeft ) .add_property("num_bytes_left", &bf_write::GetNumBytesLeft ) .add_property("data", make_function(&bf_write::GetBasePointer, return_by_value_policy()) ) .def("check_for_overflow", &bf_write::CheckForOverflow ) .def("is_overflowed", &bf_write::IsOverflowed ) .def("set_overflow_flag", &bf_write::SetOverflowFlag ) .def_readwrite("data_bytes_count",