public void OpenMarket(PlayerModel player) { StarModel star = starService.GetStarByName(player.currentNodeName); PlayerOpenedMarketEvent playerOpenedMarketEvent = new PlayerOpenedMarketEvent(player, star); eventManager.DispatchEvent <PlayerOpenedMarketEvent>(playerOpenedMarketEvent); }
protected void OnMarketOpen(PlayerOpenedMarketEvent e) { foreach (KeyValuePair <string, ResourceSlotModel> resourceSlot in e.star.resourceList) { Texture2D texture = UnityEngine.Resources.Load("Sprites/" + resourceSlot.Value.name) as Texture2D; Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f)); GameObject instantiatedResourceSlot = Instantiate(resourceSlotPrefab, resourcesPanel) as GameObject; ResourceSlotController resourceSlotController = instantiatedResourceSlot.GetComponent <ResourceSlotController>(); resourceSlotController.resourceSlot = resourceSlot.Value; resourceSlotController.nameText.text = resourceSlot.Value.name; resourceSlotController.amountText.text = resourceSlot.Value.amount.ToString(); resourceSlotController.resourceImage.color = Color.white; resourceSlotController.resourceImage.sprite = sprite; resourceSlotController.marketMenuController = this; } }
void OnPlayerOpenMarket(PlayerOpenedMarketEvent e) { ChangeState(GameState.MarketMenu); }