Esempio n. 1
0
//-----------------------------------------------------------------------------
// 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)
	;
}
Esempio n. 2
0
//-----------------------------------------------------------------------------
// 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
	);
}
Esempio n. 6
0
		)

		.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",