public void initialize() { this.mainWindowPosition = new Position(Configurations.getInstance.mainWindowPosition.x, Configurations.getInstance.mainWindowPosition.y); this.mainWindowDimensions = new Dimensions(Configurations.getInstance.mainWindowDimensions.width, Configurations.getInstance.mainWindowDimensions.height); this.subWindowPosition = new Position(Configurations.getInstance.subWindowPosition.x, Configurations.getInstance.subWindowPosition.y); this.subWindowDimensions = new Dimensions(Configurations.getInstance.subWindowDimensions.width, Configurations.getInstance.subWindowDimensions.height); this.mapPosition = new Position(0, 0); this.mainWindowFrame = new Frame(Configurations.getInstance.mainWindowDimensions, Configurations.getInstance.mainWindowPosition, Configurations.getInstance.mainWindowBorders); }
public int createCharacter(Position position, string typeOfCharacter) { int newCreatureID = EntityManager.getInstance.createEntity(typeOfCharacter); EntityManager.getInstance.getEntity(newCreatureID).currentPosition.x = position.x; EntityManager.getInstance.getEntity(newCreatureID).currentPosition.y = position.y; EntityManager.getInstance.getEntity(newCreatureID).previousPosition.x = position.x; EntityManager.getInstance.getEntity(newCreatureID).previousPosition.y = position.y; entityPositionMap.Add(generatePositionString(position), EntityManager.getInstance.getEntity(newCreatureID)); return newCreatureID; }
public Panel(String title, ConsoleColor titleColor, ConsoleColor fieldsColor, ConsoleColor valuesColor, Object obj, Position position, Dimensions dimensions, BorderSymbols borders) { this.title = title; this.titleColor = titleColor; this.fieldsColor = fieldsColor; this.valuesColor = valuesColor; this.obj = obj; this.position = position; this.dimensions = dimensions; this.borders = borders; //need to error check here to make sure the position //and dimension passed do not exceed the max width //of the console screen buffer. }
private Position generateValidPosition() { Random r = new Random(); int x = MapManager.getInstance.getCurrentMap().width; int y = MapManager.getInstance.getCurrentMap().height; Position result = new Position(r.Next(0, x), r.Next(0, y)); while (CollisionManager.getInstance.collisionCheck(result)) { result.x = r.Next(0, x); result.y = r.Next(0, y); } return result; }
public Entity getEntityByPosition(Position position) { if (entityPositionMap.ContainsKey(generatePositionString(position))) { return entityPositionMap[generatePositionString(position)]; } return null; }
public string generatePositionString(Position position) { return position.x.ToString() + "+" + position.y.ToString(); }
public bool collisionResponse(int ID, Position position) { return collisionResponse(ID, position.x, position.y); }
//these versions are called for just checking with no resolutions. public bool collisionCheck(Position position) { return collisionCheck(position.x, position.y); }
public bool updateMapPosition(int ID) { Position entitysPosition = new Position(normalizeEntityPosition(EntityManager.getInstance.getEntity(ID), true)); if (entitysPosition.x < this.subWindowPosition.x && mapPosition.x > 0) { //DrawManager.getInstance.clearMap(); mapPosition.x--; //DrawManager.getInstance.drawMap(); //InputActions.getInstance.undoEntityMove(ID); return true; } if (entitysPosition.y < this.subWindowPosition.y && mapPosition.y > 0) { //DrawManager.getInstance.clearMap(); mapPosition.y--; //DrawManager.getInstance.drawMap(); //InputActions.getInstance.undoEntityMove(ID); return true; } if (entitysPosition.x > this.subWindowPosition.x + this.subWindowDimensions.width - 1 && mapPosition.x < MapManager.getInstance.getCurrentMap().width - mainWindowDimensions.width + Configurations.getInstance.BORDER_SIZE * 2) { //DrawManager.getInstance.clearMap(); mapPosition.x++; //DrawManager.getInstance.drawMap(); //InputActions.getInstance.undoEntityMove(ID); return true; } if (entitysPosition.y > this.subWindowPosition.y + this.subWindowDimensions.height - 1 && mapPosition.y < MapManager.getInstance.getCurrentMap().height - mainWindowDimensions.height + Configurations.getInstance.BORDER_SIZE * 2) { // DrawManager.getInstance.clearMap(); mapPosition.y++; //DrawManager.getInstance.drawMap(); //InputActions.getInstance.undoEntityMove(ID); return true; } return false; }
public Entity(int ID, EntityTypes entityType, bool combatFlag, char symbol, string name, Stats stats, Position currentPosition, Position previousPosition, ConsoleColor color, bool alive, bool show) { initialize(ID, entityType, combatFlag, symbol, name, stats, currentPosition, previousPosition, color, alive, show); moved = true; }
public void initialize(int ID, EntityTypes entityType, bool combatFlag, char symbol, string name, Stats stats, Position currentPosition, Position previousPosition, ConsoleColor color, bool alive, bool show) { this.ID = ID; this.entityType = entityType; this.combatFlag = combatFlag; this.name = name; this.stats = stats; this.symbol = symbol; this.currentPosition = currentPosition; this.previousPosition = previousPosition; this.color = color; this.alive = alive; this.show = true; this.inventory = new Inventory(); }
public Position(Position position) { initialize(position.x, position.y); }
public Frame(Dimensions dimensions, Position position, BorderSymbols borders) { this.dimensions = dimensions; this.position = position; this.borders = borders; }
public void drawMapPosition(Position position) { ConsoleColor original = Console.ForegroundColor; Console.ForegroundColor = MapManager.getInstance.getCurrentMap().entityArray[position.x][position.y].color; Utilities.writeSymbol(GameWindowManager.getInstance.normalizeX(position.x), GameWindowManager.getInstance.normalizeY(position.y), MapManager.getInstance.getCurrentMap().entityArray[position.x][position.y].symbol); Console.ForegroundColor = original; }
public void initialize() { fileCollisionMapping = "collisionMappings.txt"; fileInput = "input.txt"; fileLevelingStats = "levelingDefault.txt"; mapList = "mapList.txt"; NPCDialogFileName = "NPCDialogStrings.txt"; isInitialized = true; shotType = "FireShot"; mainWindowDimensions = new Dimensions(48, 32); mainWindowPosition = new Position((Console.WindowWidth / 2) - (int)Math.Floor((double)(mainWindowDimensions.width / 2)), 1); mainWindowBorders = new BorderSymbols("-", "-", "|", "|", ConsoleColor.Green, ConsoleColor.Green, ConsoleColor.Green, ConsoleColor.Green); //mainWindowPosition = new Position(5, 5); subWindowDimensions = new Dimensions((int) Math.Floor((double)(mainWindowDimensions.width / 2.0)) - 1,(int) Math.Floor((double)(mainWindowDimensions.height / 2.0)) - 1); subWindowPosition = new Position(mainWindowPosition.x + (int)(mainWindowDimensions.width / 2.0) - (int)Math.Floor((double)(subWindowDimensions.width / 2.0)), mainWindowPosition.y + (int)(mainWindowDimensions.height / 2.0) - (int)Math.Floor((double)(subWindowDimensions.height / 2.0))); //subWindowPosition = new Position(10, 10); StatsPanel = new Position(mainWindowPosition.x + mainWindowDimensions.width + 2, 1); //StatsPanel = new Position(70, 5); GameTitle = "ASCII RPG: The Last Stance"; ConsoleBufferWidth = 100; ConsoleBufferHeight = 80; ConsoleWidth = 80; ConsoleHeight = 50; logWindowPosition = new Position(mainWindowPosition.x, mainWindowPosition.y + mainWindowDimensions.height + 2); logWindowDimensions = new Dimensions(mainWindowDimensions.width, 12); logTabPanel = new TabPanel(); logTabPanel.position = new Position(logWindowPosition.x, logWindowPosition.y - 1); logTabPanel.addTab(LogTypes.GeneralLog, 'G', "General", ConsoleColor.Magenta); logTabPanel.addTab(LogTypes.BattleLog, 'B', "Battle", ConsoleColor.DarkRed); logTabPanel.addTab(LogTypes.ChatLog, 'C', "Chat", ConsoleColor.Green); ConsoleColor initialLogBorderColor = logTabPanel.tabs.First().Value.Third; logWindowBorders = new BorderSymbols("-", "-", "|", "|", initialLogBorderColor, initialLogBorderColor, initialLogBorderColor, initialLogBorderColor); }