Ejemplo n.º 1
0
    public void Display(IDesire desire, ITrader trader, ISettlement settlement)
    {
        this.desire       = desire;
        this.trader       = trader;
        this.settlement   = settlement;
        nameText.text     = desire.GetName();
        priceText.text    = "Cost: " + desire.GetPrice() + "c";
        positiveText.text = "Positive impact: " + desire.GetPositiveImpact();
        negativeText.text = "Negative impact: " + desire.GetNegativeImpact();

        UiMethods.ListResources(UiMethods.ColapseResources(desire.GetResources()), resourceText, contentDisplace, this.gameObject);
    }
Ejemplo n.º 2
0
    /*
     * public void DisplayResources()
     * {
     *  simpleMenu.CloseWindow();
     *  if (settlement == null) return;
     *  List<string> resources = settlement.GetStorage();
     *  List<ColapsedObject<string>> colapsedResources = UiMethods.ColapseResources(resources);
     *  List<GameObject> objectList = new List<GameObject>();
     *
     *  for (int i = 0; i < colapsedResources.Count; i++)
     *  {
     *      GameObject obj = Instantiate(resourceDisplay, simpleMenu.GetContent());
     *      obj.GetComponent<ResourceUI>().Display(colapsedResources[i].ammount + "x " + colapsedResources[i].obj);
     *      objectList.Add(obj);
     *  }
     *  simpleMenu.Display(objectList, "Storage");
     * }*/

    public void DisplayDesire()
    {
        simpleMenu.CloseWindow();
        if (settlement == null)
        {
            return;
        }
        List <IDesire>    desires         = settlement.GetDesires();
        List <IDesire>    colapsedDesires = new List <IDesire>();
        List <int>        ammount         = new List <int>();
        List <GameObject> objectList      = new List <GameObject>();

        for (int i = 0; i < desires.Count; i++)
        {
            if (colapsedDesires.Contains(desires[i]))
            {
                int j = 0;
                while (true)
                {
                    if (colapsedDesires[j].Equals(desires[i]))
                    {
                        break;
                    }
                    j++;
                }

                ammount[j]++;
            }
            else
            {
                colapsedDesires.Add(desires[i]);
                ammount.Add(1);
            }
        }

        for (int i = 0; i < colapsedDesires.Count; i++)
        {
            GameObject obj    = Instantiate(desireDisplay, simpleMenu.GetContent());
            IDesire    desire = colapsedDesires[i];
            obj.GetComponent <DesireUIObject>().Display(desire, traderUI.GetTrader(), settlement);
            objectList.Add(obj);
        }

        simpleMenu.Display(objectList, "Desires");
    }
Ejemplo n.º 3
0
    void Start()
    {
        popupInstantiated = false;
        instance = this;
        instance.m_lastPlayTime = lastP;
        m_hunger = new Desire(Desire.DesireType.Hunger, 1);
        m_hapiness = new Desire(Desire.DesireType.Hapiness, 1);
        m_sleep = new Desire(Desire.DesireType.Sleep, 1);
        m_inventory = new List<Item>();
        updateDesiresSinceLastPlayed();
        m_hunger.setDemand(hungerD);
        m_hapiness.setDemand(happyD);
        m_sleep.setDemand(sleepD);
        StartCoroutine(desireLoop());

        hungerD = 0; sleepD = 0; happyD = 0;
        lastP = System.DateTime.MinValue;
    }
Ejemplo n.º 4
0
    public bool giveItem(Item item)
    {
       
        IDesire[] desires = new IDesire[] { m_hunger, m_hapiness, m_sleep};

        if (item.getItemType() == Item.ItemType.Groom)
        {
            desires[1].satisfy(item);
            return true;
        }

        for (int i = 0; i < desires.Length; i++)
        {
            if ((int)desires[i].getDesireType() == (int)item.getItemType())
            {
                    desires[i].satisfy(item);
                    return true;
            }
        }

        if (m_inventory.Count > 20) return false;
        else
        {
            m_inventory.Add(item);
            return true;
        }
    }
Ejemplo n.º 5
0
 void IDesirous.AddDesire( IDesire desire )
 {
     _desires.Add( desire );
 }