| [8483] | 1 | /** | 
|---|
|  | 2 | @addtogroup Portals Portals | 
|---|
|  | 3 | @ingroup Modules | 
|---|
|  | 4 |  | 
|---|
| [8599] | 5 | This module allows you to place @ref orxonox::PortalEndPoint "PortalEndPoints" in space and connect pairs of them with a @ref orxonox::PortalLink "PortalLink" in order to allow fast travelling from A to B. | 
|---|
| [8483] | 6 |  | 
|---|
|  | 7 | @section FastHowTo Fast HowTo: Including portals in a level | 
|---|
|  | 8 | The simplest way to use portals is show by the following piece of xml-code | 
|---|
|  | 9 | @code | 
|---|
|  | 10 | <Template name=PortalDefault> | 
|---|
|  | 11 | <PortalEndPoint> | 
|---|
|  | 12 | <attached> | 
|---|
|  | 13 | <Billboard material="Portals/Default" /> | 
|---|
|  | 14 | </attached> | 
|---|
|  | 15 | </PortalEndPoint> | 
|---|
|  | 16 | </Template> | 
|---|
|  | 17 |  | 
|---|
|  | 18 | <PortalEndPoint position="0,0,0" id="1" design="PortalDefault"/> | 
|---|
|  | 19 | <PortalEndPoint position="-100,0,0" id="2" design="PortalDefault"/> | 
|---|
|  | 20 | <PortalLink fromID="1" toID="2" /> | 
|---|
|  | 21 | @endcode | 
|---|
|  | 22 | This | 
|---|
|  | 23 | - creates two @ref orxonox::PortalEndPoint "PortalEndPoints", one at 0,0,0 and the other at -100,0,0 | 
|---|
|  | 24 | - makes them visible by attaching a Billboard made of the "Portals/Default" material to each of them and | 
|---|
|  | 25 | - connects them, meaning that any @ref orxonox::Pawn "Pawn" which gets near 0,0,0 is immediately "warped" to -100,0,0 (but not the other way round) | 
|---|
|  | 26 |  | 
|---|
|  | 27 | @section IncludePortals Detailed HowTo: Including portals in a level | 
|---|
|  | 28 | In the example above some default values are used. The full possibilities are shown below | 
|---|
|  | 29 | @code | 
|---|
|  | 30 | <Template name=PortalDefault> | 
|---|
|  | 31 | <PortalEndPoint> | 
|---|
|  | 32 | <attached> | 
|---|
|  | 33 | <Billboard material="Portals/Default" /> | 
|---|
|  | 34 | </attached> | 
|---|
|  | 35 | </PortalEndPoint> | 
|---|
|  | 36 | </Template> | 
|---|
|  | 37 |  | 
|---|
|  | 38 | <Template name=PortalBig> | 
|---|
|  | 39 | <PortalEndPoint> | 
|---|
|  | 40 | <attached> | 
|---|
|  | 41 | <Billboard material="Portals/Big" /> | 
|---|
|  | 42 | </attached> | 
|---|
|  | 43 | </PortalEndPoint> | 
|---|
|  | 44 | </Template> | 
|---|
|  | 45 |  | 
|---|
|  | 46 | <PortalEndPoint position="0,0,0" id="1" distance="40" target="MobileEntity" design="PortalDefault"/> | 
|---|
|  | 47 | <PortalEndPoint position="-100,0,0" id="2" distance="40" target="MobileEntity" design="PortalBig"/> | 
|---|
|  | 48 | <PortalLink fromID="1" toID="2" /> | 
|---|
|  | 49 | <PortalLink fromID="2" toID="1" /> | 
|---|
|  | 50 | @endcode | 
|---|
|  | 51 |  | 
|---|
|  | 52 | step by step | 
|---|
|  | 53 | @subsection Templates "Templates" | 
|---|
|  | 54 | In order to make @ref orxonox::PortalEndPoint "PortalEndPoints" visible in the game there must be something visible. | 
|---|
| [8599] | 55 | The idea (as shown above) is to define or include arbitrary Templates which make a PortalEndPoint visible and use them later by setting the design attribute of a @ref orxonox::PortalEndPoint "PortalEndPoint" to the template name | 
|---|
| [8483] | 56 | @subsection Parameters "Parameters" | 
|---|
|  | 57 | - position: 3d-coordinate in space | 
|---|
| [8599] | 58 | - distance (default: 50): distance at which a valid entity gets pulled in (if the end point is an entrance). | 
|---|
| [8483] | 59 | - target (default: "Pawn"): the class which is able to enter this end point (if it is an entrance) | 
|---|
| [8599] | 60 | - design: the name of the @ref orxonox::Template "design template" | 
|---|
| [11099] | 61 | */ | 
|---|