public Effect getEffectofType(EffectTypes type)
    {
        // This makes a new effect of specified type
        Effect e;

        switch (type)
        {
        case EffectTypes.test:
            e = new TestEffect("");
            break;

        case EffectTypes.moveUnit:
            e = new MoveEffect();
            break;

        case EffectTypes.enemySpawn:
            e = new EnemyEffect();
            break;

        case EffectTypes.enemyConversion:
            e = new ConversationEffect();
            break;

        default:
            e = new NullEffect();
            break;
        }
        return(e);
    }
 public void updateConversationData(string d)
 {
     if (d.Length > 0)
     {
         Effect e;
         currentEvent.getEffect(currentEffectIndex, out e);
         ConversationEffect t = (ConversationEffect)e;
         t.setString(d);
     }
 }
    public void showEffect(int i)
    {
        if (currentEffectPanel != null)
        {
            currentEffectPanel.SetActive(false);
        }

        Vector2 pos;

        switch ((EffectTypes)i)
        {
        case EffectTypes.test:
            TestEffect effect = (TestEffect)currentEvent.getEffects()[currentEffectIndex];
            currentEffectPanel = transform.FindChild("testPanel").gameObject;
            currentEffectPanel.SetActive(true);

            currentEffectPanel.transform.FindChild("InputField").GetComponent <InputField>().text = "";
            print(effect.getData());
            currentEffectPanel.transform.FindChild("InputField").GetChild(1).GetComponent <Text>().text = effect.getData();
            break;

        case EffectTypes.moveUnit:
            MoveEffect moveEffect = (MoveEffect)currentEvent.getEffects()[currentEffectIndex];
            currentEffectPanel = transform.FindChild("moveUnitPanel").gameObject;
            currentEffectPanel.SetActive(true);

            currentEffectPanel.transform.FindChild("XField").GetComponent <InputField>().text = "";
            currentEffectPanel.transform.FindChild("YField").GetComponent <InputField>().text = "";

            pos = moveEffect.getPosition();
            currentEffectPanel.transform.FindChild("XField").GetChild(1).GetComponent <Text>().text = pos.x.ToString();
            currentEffectPanel.transform.FindChild("YField").GetChild(1).GetComponent <Text>().text = pos.y.ToString();

            break;

        case EffectTypes.enemySpawn:
            EnemyEffect enemyEffect = (EnemyEffect)currentEvent.getEffects()[currentEffectIndex];
            currentEffectPanel = transform.FindChild("EnemyPanel").gameObject;
            currentEffectPanel.SetActive(true);

            currentEffectPanel.transform.FindChild("XField").GetComponent <InputField>().text    = "";
            currentEffectPanel.transform.FindChild("YField").GetComponent <InputField>().text    = "";
            currentEffectPanel.transform.FindChild("UnitIndex").GetComponent <InputField>().text = "";

            pos = enemyEffect.getPosition();
            currentEffectPanel.transform.FindChild("XField").GetChild(1).GetComponent <Text>().text    = pos.x.ToString();
            currentEffectPanel.transform.FindChild("YField").GetChild(1).GetComponent <Text>().text    = pos.y.ToString();
            currentEffectPanel.transform.FindChild("UnitIndex").GetChild(1).GetComponent <Text>().text = enemyEffect.getIndex().ToString();
            break;

        case EffectTypes.enemyConversion:
            ConversationEffect conEffect = (ConversationEffect)currentEvent.getEffects()[currentEffectIndex];
            currentEffectPanel = transform.FindChild("conversationPanel").gameObject;
            currentEffectPanel.SetActive(true);

            currentEffectPanel.transform.FindChild("InputField").GetComponent <InputField>().text = "";
            print(conEffect.getData());
            currentEffectPanel.transform.FindChild("InputField").GetChild(1).GetComponent <Text>().text = conEffect.getData();
            break;

        case EffectTypes.noEffect:
            currentEffectPanel = null;
            break;
        }
    }