// Called first time when starting a new session public void InitPlayer(Player player) { Debug.Assert(player.FieldPlayer == null, "Not allowed to reinitialize player."); Player = player; FieldManager = FieldManagerFactory.GetManager(player); player.FieldPlayer = FieldManager.RequestCharacter(player); player.LastLogTime = TimeInfo.Now(); }
public void EnterField(Player player) { // If moving maps, need to get the FieldManager for new map if (player.MapId != FieldManager.MapId || player.InstanceId != FieldManager.InstanceId) { // Initialize for new Map FieldManager = FieldManagerFactory.GetManager(player); player.FieldPlayer = FieldManager.RequestCharacter(player); } FieldManager.AddPlayer(this); }
public GameSession(FieldManagerFactory fieldManagerFactory) : base() { FieldManagerFactory = fieldManagerFactory; }