private void addCanvasEventElement(EventType et) { CanvasEventElement cee = new CanvasEventElement( new Point(20, canvas.Height / 2 - 40), dialogSystem, et ); dialogSystem.items[cee.id].eventType = Enum.GetName(typeof(EventType), et); switch (dialogSystem.items[cee.id].eventType) { case "GiveItem": dialogSystem.items[cee.id].giveItemEvent = new GiveItemEvent(); break; case "LoadMap": dialogSystem.items[cee.id].loadMapEvent = new LoadMapEvent(); break; case "AffectPlayer": dialogSystem.items[cee.id].affectPlayerEvent = new AffectPlayerEvent(); break; case "SpawnNPC": dialogSystem.items[cee.id].spawnNPCEvent = new SpawnNPCEvent(); break; case "ShowQuest": dialogSystem.items[cee.id].showQuestEvent = new ShowQuestEvent(); break; } dialogSystem.items[cee.id].options.Add(new DialogueOption(-1)); dialogSystem.items[cee.id].options.Add(new DialogueOption(-1)); bool done = false; for (int i = 0; i < elements.Count; i++) { if (elements[i] == null) { elements[i] = cee; done = true; break; } } if (!done) { elements.Add(cee); } canvas.Invalidate(); }
private void AddCanvasEventElement(EventType et) { CanvasEventElement cee = new CanvasEventElement( new Point(20, canvas.Height / 2 - 40), dialogSystem ); dialogSystem.items[cee.id].eventType = Enum.GetName(typeof(EventType), et); switch (dialogSystem.items[cee.id].eventType) { case "GiveItem": dialogSystem.items[cee.id].giveItemEvent = new GiveItemEvent(); break; case "GiveStatusEffect": dialogSystem.items[cee.id].giveStatusEffectEvent = new GiveStatusEffectEvent(); break; case "LoadMap": dialogSystem.items[cee.id].loadMapEvent = new LoadMapEvent(); break; case "AffectPlayer": dialogSystem.items[cee.id].affectPlayerEvent = new AffectPlayerEvent(); break; case "SpawnNPC": dialogSystem.items[cee.id].spawnNpcEvent = new SpawnNpcEvent(); break; case "TurnHostile": dialogSystem.items[cee.id].turnHostileEvent = new TurnHostileEvent(); dialogSystem.items[cee.id].repeatable = true; break; case "ShowQuest": dialogSystem.items[cee.id].showQuestEvent = new ShowQuestEvent(); break; case "ShowShop": dialogSystem.items[cee.id].showShopEvent = new ShowShopEvent(); dialogSystem.items[cee.id].repeatable = true; break; case "ShowBank": dialogSystem.items[cee.id].showBankEvent = new ShowBankEvent(); dialogSystem.items[cee.id].repeatable = true; break; case "AdvanceQuest": dialogSystem.items[cee.id].advanceQuestEvent = new AdvanceQuestEvent(); dialogSystem.items[cee.id].repeatable = true; break; case "GetVariable": dialogSystem.items[cee.id].getVariableEvent = new GetVariableEvent(); dialogSystem.items[cee.id].repeatable = true; break; case "SetVariable": dialogSystem.items[cee.id].setVariableEvent = new SetVariableEvent(); dialogSystem.items[cee.id].repeatable = true; break; default: break; } dialogSystem.items[cee.id].options.Add(new DialogueOption(-1)); dialogSystem.items[cee.id].options.Add(new DialogueOption(-1)); bool done = false; for (int i = 0; i < elements.Count; i++) { if (elements[i] == null) { elements[i] = cee; done = true; break; } } if (!done) { elements.Add(cee); } canvas.Invalidate(); }