C# 클래스 Gruppe22.Backend.PureLogic

Program Logic completely abstracted from Frontend
상속: Logic, IHandleEvent
파일 보기 프로젝트 열기: propra13-orga/gruppe22 1 사용 예제들

공개 메소드들

메소드 설명
ChangeMap ( string filename, Coords pos ) : void

Method to change the "room" Loads the saved (previously visited) version of the next room if possible and the generated version if there is no saved one

ConnectRecursive ( List rooms, int id, List visited = null ) : void
ConnectRooms ( List rooms = null, int From, Direction exit = Direction.None, int roomsPerRow ) : void
GenerateMaps ( ) : void

Generate three levels consisting of multiple rooms each and save them to xml files

GenericDialog ( int from, int to, string message = "" ) : void

A text displayed if the player died or talk to NPC

HandleEvent ( bool DownStream, Events eventID ) : void

Handle events from UIElements and/or backend objects

PureLogic ( IHandleEvent parent, Map map = null, Random _random = null ) : System

The constructor for the logic behind the game

ReassignPlayer ( ) : void
Restart ( ) : void

Method to for reseting the game to the generated version

Restore ( string name ) : void

Restore game progress from a saved state

Save ( string name ) : void

Save the game to a new folder

Update ( GameTime gametime ) : void

Method to start the update-routine of the map

보호된 메소드들

메소드 설명
_CombatDamage ( int attacker, int defender ) : void

Methode to evaluate the damage in a combat between two actors. Calculates the percentage damage reduction based on armor and penetration. Shows the floating combat text for the attack.

_TrapDamage ( Coords target ) : void

methode to evaluate the damage a trap deals to an actor walking over it or stands on raising trap

비공개 메소드들

메소드 설명
FindAvailableExits ( List rooms = null, int id, int col, int totalCols, int row, int totalRows, int totalRooms, int roomsPerRow ) : Direction
_DeleteSavedRooms ( ) : void

Method to delete old saved rooms

메소드 상세

ChangeMap() 공개 메소드

Method to change the "room" Loads the saved (previously visited) version of the next room if possible and the generated version if there is no saved one
public ChangeMap ( string filename, Coords pos ) : void
filename string The path to the .xml of the next room
pos Coords The spawning position in the next room
리턴 void

ConnectRecursive() 공개 메소드

public ConnectRecursive ( List rooms, int id, List visited = null ) : void
rooms List
id int
visited List
리턴 void

ConnectRooms() 공개 메소드

public ConnectRooms ( List rooms = null, int From, Direction exit = Direction.None, int roomsPerRow ) : void
rooms List
From int
exit Direction
roomsPerRow int
리턴 void

GenerateMaps() 공개 메소드

Generate three levels consisting of multiple rooms each and save them to xml files
public GenerateMaps ( ) : void
리턴 void

GenericDialog() 공개 메소드

A text displayed if the player died or talk to NPC
public GenericDialog ( int from, int to, string message = "" ) : void
from int
to int
message string A custom message that could be displayed
리턴 void

HandleEvent() 공개 메소드

Handle events from UIElements and/or backend objects
public HandleEvent ( bool DownStream, Events eventID ) : void
DownStream bool
eventID Events The ID of the event
리턴 void

PureLogic() 공개 메소드

The constructor for the logic behind the game
public PureLogic ( IHandleEvent parent, Map map = null, Random _random = null ) : System
parent IHandleEvent
map Map The map object which will contain the rooms
_random System.Random A random
리턴 System

ReassignPlayer() 공개 메소드

public ReassignPlayer ( ) : void
리턴 void

Restart() 공개 메소드

Method to for reseting the game to the generated version
public Restart ( ) : void
리턴 void

Restore() 공개 메소드

Restore game progress from a saved state
public Restore ( string name ) : void
name string The directory where the gamestate is stored
리턴 void

Save() 공개 메소드

Save the game to a new folder
public Save ( string name ) : void
name string The directory to which the game should be saved
리턴 void

Update() 공개 메소드

Method to start the update-routine of the map
public Update ( GameTime gametime ) : void
gametime Microsoft.Xna.Framework.GameTime
리턴 void

_CombatDamage() 보호된 메소드

Methode to evaluate the damage in a combat between two actors. Calculates the percentage damage reduction based on armor and penetration. Shows the floating combat text for the attack.
protected _CombatDamage ( int attacker, int defender ) : void
attacker int the attacking actor
defender int the attacked actor
리턴 void

_TrapDamage() 보호된 메소드

methode to evaluate the damage a trap deals to an actor walking over it or stands on raising trap
protected _TrapDamage ( Coords target ) : void
target Coords Coords of the actor which walked over the trap
리턴 void