Ejemplo n.º 1
0
    public static MenuItemBundle CreateListBundle(string bundleName, List <GENeighbour> geNeighbours, MenuItemBundle parent)
    {
        MenuItemBundle newBundle = new MenuItemBundle(bundleName, parent);

        if (!ActivatableGameElement.IsActiveGEInList(geNeighbours))
        {
            Description.GetInstance().AddDescriptionText(LabelUtility.Instance.GetLabel(LabelNames.EMPTYNEIGHBOURLIST));
        }
        foreach (GENeighbour neighbour in geNeighbours)
        {
            newBundle.AddMenuItem(new MIRoomChange(neighbour.MenuText.GetText(), newBundle, neighbour));
            neighbour.OnActivationChange += newBundle.RefreshOnEvent;
        }

        newBundle.AddMenuItem(new MIBack(parent));

        return(newBundle);
    }
Ejemplo n.º 2
0
    public static MenuItemBundle CreateListBundle(string bundleName, List <GEItem> geItems, MenuItemBundle parent)
    {
        MenuItemBundle newBundle = new MenuItemBundle(bundleName, parent);

        if (!ActivatableGameElement.IsActiveGEInList(geItems))
        {
            Description.GetInstance().AddDescriptionText(LabelUtility.Instance.GetLabel(LabelNames.EMPTYITEMLIST));
        }
        foreach (GEItem item in geItems)
        {
            newBundle.AddMenuItem(new MIOpenBundle <GEItem>(item.ItemName.GetText(), item, newBundle));
            item.OnActivationChange += newBundle.RefreshOnEvent;
        }

        newBundle.AddMenuItem(new MIBack(parent));

        return(newBundle);
    }
Ejemplo n.º 3
0
    private void OnActivation()
    {
        if (!isActive)
        {
            return;
        }
        Description description = Description.GetInstance();

        description.ClearDescription();
        description.AddDescriptionText(endText.GetText());
        GameController.GetInstance().ShowGameOver(gameOverText.GetText());
        MenuItemBundle menuItemBundle = new MenuItemBundle("", null);

        menuItemBundle.AddMenuItem(new MIGameEnd("OK", null));
        menuItemBundle.IsBlocker = true;
        description.IsBlocked    = true;
        MenuController.GetInstance().CurrentBundle = menuItemBundle;
    }
Ejemplo n.º 4
0
    public static MenuItemBundle CreateListBundle(string bundleName, List <GENpc> geNpcs, MenuItemBundle parent)
    {
        MenuItemBundle newBundle = new MenuItemBundle(bundleName, parent);

        if (!ActivatableGameElement.IsActiveGEInList(geNpcs))
        {
            Description.GetInstance().AddDescriptionText(LabelUtility.Instance.GetLabel(LabelNames.EMPTYNPCLIST));
        }
        foreach (GENpc npc in geNpcs)
        {
            newBundle.AddMenuItem(new MIOpenBundle <GENpc>(npc.NameText.GetText(), npc, newBundle));
            npc.OnActivationChange += newBundle.RefreshOnEvent;
        }

        newBundle.AddMenuItem(new MIBack(parent));

        return(newBundle);
    }
Ejemplo n.º 5
0
    protected override void Execute()
    {
        Description descriptionPanel = Description.GetInstance();

        descriptionPanel.ClearDescription();
        if (bundleInstance == null || (actualConv == null || actualConv != npc.ActiveConversation))
        {
            if (actualConv != null)
            {
                actualConv.OnActivationChange -= parentBundle.RefreshOnEvent;
            }
            actualConv     = npc.ActiveConversation;
            bundleInstance = MenuItemBundleFactroy.CreateConversationLineBundle(LabelUtility.Instance.GetLabel(LabelNames.CONVERSATIONWITH) + npc.NameText.GetText(), parentBundle, actualConv.FirstLine, npc.NameText.GetText());

            actualConv.OnActivationChange += parentBundle.RefreshOnEvent;
        }
        bundleInstance.ExecuteSideEffects();
        menuController.CurrentBundle = bundleInstance;
    }
Ejemplo n.º 6
0
    public static MenuItemBundle CreateConversationLineBundle(string bundleName, MenuItemBundle parent, GENpc.GELine line, string talkerName)
    {
        Description descriptionPanel = Description.GetInstance();

        MenuItemBundle newBundle = new MenuItemBundle(bundleName, parent);

        newBundle.OnExecutionSidefects += delegate(object o, EventArgs e)
        {
            descriptionPanel.AddDescriptionText(talkerName + ":\n" + line.LineText.GetText());
        };

        if (line.Answers.Count == 0 || line.IsLastLine)
        {
            newBundle.AddMenuItem(new MIBack(parent));
            return(newBundle);
        }

        int  i       = 1;
        bool isShort = GENpc.GEAnswer.IsAnswerShort(line.Answers, 12);

        foreach (GENpc.GEAnswer answer in line.Answers)
        {
            if (isShort)
            {
                newBundle.AddMenuItem(new MIAnswer(answer.AnswerText.GetText(), answer, parent, talkerName));
            }
            else
            {
                MIAnswer item = new MIAnswer(i++.ToString(), answer, parent, talkerName);
                newBundle.AddMenuItem(item);
                newBundle.OnExecutionSidefects += delegate(object o, EventArgs e)
                {
                    if (answer.IsActive())
                    {
                        descriptionPanel.AddDescriptionText(item.GetMenuText() + ": " + answer.AnswerText.GetText());
                    }
                };
            }
            answer.OnActivationChange += newBundle.RefreshOnEvent;
        }
        return(newBundle);
    }
Ejemplo n.º 7
0
 protected override void Execute()
 {
     if (bundleInstance == null)
     {
         if (element is GERoom)
         {
             bundleInstance = MenuItemBundleFactroy.CreateBundle(element as GERoom, parentBundle);
         }
         else if (element is GEItem)
         {
             bundleInstance = MenuItemBundleFactroy.CreateBundle(element as GEItem, parentBundle);
         }
         else if (element is GENpc)
         {
             bundleInstance = MenuItemBundleFactroy.CreateBundle(element as GENpc, parentBundle);
         }
         else
         {
             //...
         }
     }
     menuController.CurrentBundle = bundleInstance;
 }
Ejemplo n.º 8
0
 public MIRoomChange(string menuText, MenuItemBundle parentBundle, GENeighbour geNeighbour) : base(menuText, parentBundle)
 {
     this.geNeighbour = geNeighbour;
     description      = Description.GetInstance();
     gameController   = GameController.GetInstance();
 }
Ejemplo n.º 9
0
 public MIOpenBundle(string menuText, T element, MenuItemBundle parentBundle) : base(menuText, parentBundle)
 {
     this.element = element;
 }
Ejemplo n.º 10
0
 private MIOpenList(string menuText, MenuItemBundle parentBundle) : base(menuText, parentBundle)
 {
 }
Ejemplo n.º 11
0
 protected MenuItem(string menuText, MenuItemBundle parentBundle)
 {
     this.menuText     = menuText;
     this.parentBundle = parentBundle;
     menuController    = MenuController.GetInstance();
 }
Ejemplo n.º 12
0
 public MIShowDescription(string menuText, MenuItemBundle parentBundle, Func <string> getDescText) : base(menuText, parentBundle)
 {
     description      = Description.GetInstance();
     this.getDescText = getDescText;
 }
Ejemplo n.º 13
0
 public MIConversation(string menuText, MenuItemBundle parentBundle, GENpc npc) : base(menuText, parentBundle)
 {
     this.npc = npc;
 }
Ejemplo n.º 14
0
 public MIGameEnd(string menuText, MenuItemBundle parentBundle) : base(menuText, parentBundle)
 {
 }
Ejemplo n.º 15
0
 public MIBack(MenuItemBundle parentBundle) : base(LabelUtility.Instance.GetLabel(LabelNames.BACK), parentBundle)
 {
 }
Ejemplo n.º 16
0
 public MIShowDescription(string menuText, MenuItemBundle parentBundle, string descriptionText) : base(menuText, parentBundle)
 {
     this.descriptionText = descriptionText;
     description          = Description.GetInstance();
 }
Ejemplo n.º 17
0
 public MIAnswer(string menuText, GENpc.GEAnswer answer, MenuItemBundle parentBundle, string answerTo) : base(menuText, parentBundle)
 {
     this.geAnswer = answer;
     this.answerTo = answerTo;
 }
Ejemplo n.º 18
0
 public MIGameElementAction(string menuText, MenuItemBundle parentBundle, GEMenuItem geMenuItem) : base(menuText, parentBundle)
 {
     this.geMenuItem = geMenuItem;
     description     = Description.GetInstance();
 }
Ejemplo n.º 19
0
 public MIEquip(GEItem geItem, MenuItemBundle parentBundle) : base(LabelUtility.Instance.GetLabel(LabelNames.PICKUP), parentBundle)
 {
     elementManager = ObjectManager.CurrentGEM;
     this.geItem    = geItem;
     description    = Description.GetInstance();
 }