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); }
/* * 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"); }
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; }
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; } }
void IDesirous.AddDesire( IDesire desire ) { _desires.Add( desire ); }