blob: cba611d4bc2dda7fe53bc7173f5113f71e4aba91 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
package scalevalapokalypsi.Model
import scalevalapokalypsi.Model.Entities.Entity
/** A description of an action.
*
* @param target the entity that was as a target in this event
* @param inFirstPerson textual description of the event in first person
* @param inThirdPerson textual description of the event in third person
*/
class Event(
val target: Entity,
val inFirstPerson: String,
val inThirdPerson: String
):
/** Gets the description of this event as seen by the given
* entity. Note that this method does no checks whether the given entity
* could even see the event, only what it would have looked like to them.
*
* @param entity the entity whose perspective to use
* @return a textual description of the event
*/
def descriptionFor(entity: Entity): String =
if entity == target then inFirstPerson
else inThirdPerson
end Event
|