Beispiel #1
0
        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();
        }
Beispiel #2
0
        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();
        }