/// <summary> /// Initialize this entry using the specified building list enty /// </summary> /// <param name="entry">entry whose contest should be displayed</param> /// <param name="buildingMaterial">buildingMaterial this entry comes from</param> public void Initialize(BuildList.Entry entry, BuildingMaterial buildingMaterial) { this.entry = entry; this.buildingMaterial = buildingMaterial; image.sprite = null; secondaryImage.sprite = null; tertiaryImage.sprite = null; materialImage.sprite = null; materialSecondaryImage.sprite = null; entryName.text = null; materialCost.text = null; if (entry.Prefab) { entry.Prefab.PopulateImageSprites(image, secondaryImage, tertiaryImage); } else { Logger.LogError($"Construction Entry {entry.Name} doesn't use prefab"); } entryName.text = entry.Name; buildingMaterial.gameObject.PopulateImageSprites(materialImage, materialSecondaryImage); materialCost.text = entry.Cost.ToString(); }
//add a list item to the content panel for spawning the specified result private void CreateListItem(BuildList.Entry entry) { if (!entry.CanBuildWith(currentBuildingMaterial)) { return; } GameObject listItem = Instantiate(listItemPrefab); listItem.GetComponent <BuildMenuEntryController>().Initialize(entry, currentBuildingMaterial); listItem.transform.SetParent(contentPanel.transform); listItem.transform.localScale = Vector3.one; }
/// <summary> /// Request constructing the given entry /// </summary> /// <param name="entry">entry to build</param> /// <param name="hasMenu">has construction menu component of the object being used to /// construct.</param> /// <returns></returns> public static RequestBuildMessage Send(BuildList.Entry entry, BuildingMaterial hasMenu) { int entryIndex = hasMenu.BuildList.Entries.ToList().IndexOf(entry); if (entryIndex == -1) { return(null); // entryIndex was previously a byte, which made this check impossible. } RequestBuildMessage msg = new RequestBuildMessage { EntryIndex = (byte)entryIndex }; msg.Send(); return(msg); }
/// <summary> /// Request constructing the given entry /// </summary> /// <param name="entry">entry to build</param> /// <param name="hasMenu">has construction menu component of the object being used to /// construct.</param> /// <returns></returns> public static RequestBuildMessage Send(BuildList.Entry entry, BuildingMaterial hasMenu) { byte entryIndex = (byte)hasMenu.BuildList.Entries.ToList().IndexOf(entry); if (entryIndex == -1) { return(null); } RequestBuildMessage msg = new RequestBuildMessage { EntryIndex = entryIndex }; msg.Send(); return(msg); }
/// <summary> /// Initialize this entry using the specified building list enty /// </summary> /// <param name="entry">entry whose contest should be displayed</param> /// <param name="buildingMaterial">buildingMaterial this entry comes from</param> public void Initialize(BuildList.Entry entry, BuildingMaterial buildingMaterial) { this.entry = entry; this.buildingMaterial = buildingMaterial; image.sprite = null; secondaryImage.sprite = null; materialImage.sprite = null; materialSecondaryImage.sprite = null; entryName.text = null; materialCost.text = null; entry.Prefab.PopulateImageSprites(image, secondaryImage); entryName.text = entry.Name; buildingMaterial.gameObject.PopulateImageSprites(materialImage, materialSecondaryImage); materialCost.text = entry.Cost.ToString(); }
public static NetMessage Send(BuildList.Entry entry, BuildingMaterial hasMenu, ConveyorBelt.ConveyorDirection direction) { var entryIndex = hasMenu.BuildList.Entries.ToList().IndexOf(entry); if (entryIndex == -1) { return(new NetMessage()); } var msg = new NetMessage { EntryIndex = (byte)entryIndex, Direction = direction }; Send(msg); return(msg); }
public void OpenConveyorBuildMenu(BuildList.Entry entry, BuildingMaterial materials) { this.materials = materials; this.entry = entry; gameObject.SetActive(true); }
public void ShowConveyorBeltMenu(BuildList.Entry entry, BuildingMaterial buildingMaterial) { CloseBuildMenu(); conveyorBuildMenu.OpenConveyorBuildMenu(entry, buildingMaterial); }