private void addNPCS() { NPC testNpc = new NPC("TEST", this, new Vector2(3, 6), 1, new Vector2(30, 30), new Vector2(30, 50), 0); ChatPage page1 = new ChatPage(); ChatPage page2 = new ChatPage(); ChatPage page3 = new ChatPage(); page1.setText(@"This is the test long string that will be parsed into small strings and individually drawn based on the text speed and such. " + "These next couple sentences are to test having a string that is longer than 9 lines. Blah blah blah blah poop poop poop fart fart fart fart fart I don't" + " if this is long enough. Guess not I will add a couple more things to make it longer. Still not long enough here are a couple more useless words"); page1.addDestination("Yes", page2); page1.addDestination("No", page2); page1.addDestination("Test 2 line option that should be really long and take up at least 2 lines?", page2); page1.addDestination("Exit", page3); page2.setText(@"Test page 2"); page2.addDestination("Exit", page3); testNpc.setExitPage(page3); testNpc.addChatPage(page1); testNpc.addChatPage(page2); testNpc.addChatPage(page3); testNpc.setFirstChatPage(page1); testNpc.setCurrentChatPage(page1); npcList.Add(testNpc); FreeTile ft = (FreeTile) zoneTileMap.getTile(6, 3, 1); ft.insertNPC(); }
public void fadeIn(NPC npc) { fadingIn = true; fadeCounter = 0; talkingNPC = npc; npc.getFirstChatPage().parseString(); npc.getFirstChatPage().setOptionIndex(0); npc.setCurrentChatPage(npc.getFirstChatPage()); }
public void insertNPC(NPC npc) { Vector2 global = npc.getCurrentLocation(); fillRectangle(true, (int)global.Y, (int)global.X, npc.getHeight(), npc.getWidth()); for (int i = (int) global.Y - npc.getYOffset(); i < npc.getHeight(); i++) { for (int j = (int)global.X; j < npc.getWidth(); j++) { insertNPCAtLocation(npc, i, j); } } }
private void fillLevel1TrafficMap() { NPC testNPC = new NPC("A", this, new Vector2(300, 1200), 0, new Vector2(30, 30)); // need to move creation of NPCS somewhere else NPC testNPC2 = new NPC("B", this, new Vector2(350, 1200), 0, new Vector2(30, 60)); NPC testNPC3 = new NPC("C", this, new Vector2(750, 750), 0, new Vector2(60, 60)); //testNPC.setStationaryImage(Image.FromFile("../../../Images/NPCs/TestZones/TestZone/TestNPC/StationaryImage.png")); //testNPC2.setStationaryImage(Image.FromFile("../../../Images/NPCs/TestZones/TestZone/TestNPC/LargeStationaryImage.png")); //testNPC3.setStationaryImage(Image.FromFile("../../../Images/NPCs/TestZones/TestZone/TestNPC/LargeTallStationaryImage.png")); //level1TrafficMap.insertNPC(testNPC, 1200, 300, 30, 30); //use npc height and width etc. //level1TrafficMap.insertNPC(testNPC2, 1200, 350, 30, 30); //level1TrafficMap.insertNPC(testNPC3, 750, 750, 30, 60); level1TrafficMap.insertNPC(testNPC); level1TrafficMap.insertNPC(testNPC2); level1TrafficMap.insertNPC(testNPC3); npcList.Add(testNPC); npcList.Add(testNPC2); npcList.Add(testNPC3); }
public void insertNPCAtLocation(NPC npc, int y, int x) { npcMap[y, x] = npc; }
public void removeNPCfromList(NPC npc) { npcList.Remove(npc); }
public void addNPCtoList(NPC npc) { npcList.Add(npc); }
private void checkForNPCs(GameInit gameInit) { int direction = gameInit.getPlayer().getFacingDirection(); if (direction == 0) { int yLocation = (int)gameInit.getPlayer().getGlobalLocation().Y; int xLocation = (int)gameInit.getPlayer().getGlobalLocation().X; if (yLocation >= 0) { for (int i = 0; i < gameInit.getZoneFactory().getCurrentZone().getNPCs().Count; i++) { NPC currentNPC = gameInit.getZoneFactory().getCurrentZone().getNPCs()[i]; if (currentNPC.getCurrentLevel() == gameInit.getPlayer().getCurrentZoneLevel()) { int npcLocation = (int)currentNPC.getCurrentLocation().Y + (int)currentNPC.getSize().Y - 1; if (npcLocation < yLocation && npcLocation >= yLocation - 5) { if (currentNPC.getCurrentLocation().X >= xLocation && currentNPC.getCurrentLocation().X < xLocation + 30) { if (talkToNPC) { } else { currentAction = TALK; talkToNPC = true; interactingNPC = currentNPC; } } else if (currentNPC.getCurrentLocation().X + currentNPC.getSize().X - 1 >= xLocation && currentNPC.getCurrentLocation().X + currentNPC.getSize().X - 1 < xLocation + 30) { if (talkToNPC) { } else { currentAction = TALK; talkToNPC = true; interactingNPC = currentNPC; } } } } } } if (!talkToNPC) { currentAction = NONE; } } else if (direction == 1) { int yLocation = (int)gameInit.getPlayer().getGlobalLocation().Y; int xLocation = (int)gameInit.getPlayer().getGlobalLocation().X; if (yLocation < gameInit.getZoneFactory().getCurrentZone().getHeight()) { for (int i = 0; i < gameInit.getZoneFactory().getCurrentZone().getNPCs().Count; i++) { NPC currentNPC = gameInit.getZoneFactory().getCurrentZone().getNPCs()[i]; if (currentNPC.getCurrentLevel() == gameInit.getPlayer().getCurrentZoneLevel()) { int npcLocation = (int)currentNPC.getCurrentLocation().Y; if (npcLocation > yLocation + 29 && npcLocation <= yLocation + 29 + 5) { if (currentNPC.getCurrentLocation().X >= xLocation && currentNPC.getCurrentLocation().X < xLocation + 30) { if (talkToNPC) { } else { currentAction = TALK; talkToNPC = true; interactingNPC = currentNPC; } } else if (currentNPC.getCurrentLocation().X + currentNPC.getSize().X - 1 >= xLocation && currentNPC.getCurrentLocation().X + currentNPC.getSize().X - 1 < xLocation + 30) { if (talkToNPC) { } else { currentAction = TALK; talkToNPC = true; interactingNPC = currentNPC; } } } } } } if (!talkToNPC) { currentAction = NONE; } } else if (direction == 2) { int yLocation = (int)gameInit.getPlayer().getGlobalLocation().Y; int xLocation = (int)gameInit.getPlayer().getGlobalLocation().X; if (xLocation < gameInit.getZoneFactory().getCurrentZone().getWidth()) { for (int i = 0; i < gameInit.getZoneFactory().getCurrentZone().getNPCs().Count; i++) { NPC currentNPC = gameInit.getZoneFactory().getCurrentZone().getNPCs()[i]; if (currentNPC.getCurrentLevel() == gameInit.getPlayer().getCurrentZoneLevel()) { int npcLocation = (int)currentNPC.getCurrentLocation().X; if (npcLocation > xLocation + 29 && npcLocation <= xLocation + 29 + 5) { if (currentNPC.getCurrentLocation().Y >= yLocation && currentNPC.getCurrentLocation().Y < yLocation + 30) { if (talkToNPC) { } else { currentAction = TALK; talkToNPC = true; interactingNPC = currentNPC; } } else if (currentNPC.getCurrentLocation().Y + currentNPC.getSize().Y - 1 >= yLocation && currentNPC.getCurrentLocation().Y + currentNPC.getSize().Y < yLocation + 30) { if (talkToNPC) { } else { currentAction = TALK; talkToNPC = true; interactingNPC = currentNPC; } } } } } } if (!talkToNPC) { currentAction = NONE; } } else if (direction == 3) { int yLocation = (int)gameInit.getPlayer().getGlobalLocation().Y; int xLocation = (int)gameInit.getPlayer().getGlobalLocation().X; if (xLocation >= 0) { for (int i = 0; i < gameInit.getZoneFactory().getCurrentZone().getNPCs().Count; i++) { NPC currentNPC = gameInit.getZoneFactory().getCurrentZone().getNPCs()[i]; if (currentNPC.getCurrentLevel() == gameInit.getPlayer().getCurrentZoneLevel()) { int npcLocation = (int)currentNPC.getCurrentLocation().X + (int)currentNPC.getSize().X - 1; if (npcLocation < xLocation && npcLocation >= xLocation - 5) { if (currentNPC.getCurrentLocation().Y >= yLocation && currentNPC.getCurrentLocation().Y < yLocation + 30) { if (talkToNPC) { } else { currentAction = TALK; talkToNPC = true; interactingNPC = currentNPC; } } else if (currentNPC.getCurrentLocation().Y + currentNPC.getSize().Y - 1 >= yLocation && currentNPC.getCurrentLocation().Y + currentNPC.getSize().Y < yLocation + 30) { if (talkToNPC) { } else { currentAction = TALK; talkToNPC = true; interactingNPC = currentNPC; } } } } } } if (!talkToNPC) { currentAction = NONE; } } }