public static GenericDisplayedBioBrick Create( Transform parentTransform , Vector3 localPosition , string spriteName , BioBrick biobrick , Object externalPrefab = null ) { string usedSpriteName = ((spriteName != null) && (spriteName != ""))?spriteName:getSpriteName(biobrick); string nullSpriteName = ((spriteName != null) && (spriteName != ""))?"":"(null)=>" + usedSpriteName; if (genericPrefab == null) { genericPrefab = Resources.Load(prefabURI); } Object prefabToUse = (externalPrefab == null)?genericPrefab:externalPrefab; Logger.Log("GenericDisplayedBioBrick::Create(parentTransform=" + parentTransform + ", localPosition=" + localPosition + ", spriteName=" + spriteName + nullSpriteName + ", biobrick=" + biobrick , Logger.Level.TRACE ); GenericDisplayedBioBrick result = (GenericDisplayedBioBrick)DisplayedElement.Create( parentTransform , localPosition , usedSpriteName , prefabToUse ); Initialize(result, biobrick); return(result); }
/// <inheritdoc /> protected override Size MeasureOverride(Size constraint) { DisplayedElement.Measure(constraint); var desired = DisplayedElement.DesiredSize; Debug.WriteLine($"{"Measure".PadLeft(10, ' ')}: width:{desired.Width} height:{desired.Height}"); return(desired); }
public static DisplayedDevice Create( Transform parentTransform , Vector3 localPosition , string spriteName , Device device , DevicesDisplayer devicesDisplayer , DevicesDisplayer.DeviceType deviceType ) { if (device == null) { Logger.Log("DisplayedDevice::Create device==null", Logger.Level.WARN); } string nullSpriteName = (spriteName != null)?"":"(null)"; Object prefab; if (deviceType == DevicesDisplayer.DeviceType.Equiped) { Logger.Log("DisplayedDevice: will create Equiped " + equipedPrefabURI, Logger.Level.DEBUG); prefab = Resources.Load(equipedPrefabURI); } else if (deviceType == DevicesDisplayer.DeviceType.Inventoried) { Logger.Log("DisplayedDevice: will create Inventoried " + inventoriedPrefabURI, Logger.Level.DEBUG); prefab = Resources.Load(inventoriedPrefabURI); } else if (deviceType == DevicesDisplayer.DeviceType.Listed) { Logger.Log("DisplayedDevice: will create Listed " + listedPrefabURI, Logger.Level.DEBUG); prefab = Resources.Load(listedPrefabURI); } else { Logger.Log("DisplayedDevice::Create : unmanaged device type " + deviceType, Logger.Level.WARN); return(null); } Logger.Log("DisplayedDevice::Create(type=" + deviceType + ", parentTransform=" + parentTransform + ", localPosition=" + localPosition + ", device=" + device + ", devicesDisplayer=" + devicesDisplayer + ", spriteName=" + spriteName + nullSpriteName , Logger.Level.DEBUG ); DisplayedDevice result = (DisplayedDevice)DisplayedElement.Create( parentTransform , localPosition , getTextureName(device) , prefab ); Initialize(result, device, devicesDisplayer, deviceType); return(result); }
public static DisplayedElement Create( Transform parentTransform , Vector3 localPosition , string spriteName , Object prefab ) { string nullSpriteName = (spriteName != null)?"":"(null)"; Logger.Log("DisplayedElement::Create(" + "parentTransform=" + parentTransform + ", localPosition=" + localPosition + ", spriteName=" + spriteName + nullSpriteName + ", prefab=" + prefab + ")" , Logger.Level.INFO ); GameObject newElement = Instantiate(prefab, new Vector3(0.0f, 0.0f, 0.0f), Quaternion.identity) as GameObject; Logger.Log("DisplayedElement::Create instantiated", Logger.Level.TRACE); newElement.transform.parent = parentTransform; newElement.transform.localPosition = localPosition; newElement.transform.localScale = new Vector3(1f, 1f, 0); Logger.Log("DisplayedElement::Create GetComponent<DisplayedElement>()", Logger.Level.TRACE); DisplayedElement script = newElement.GetComponent <DisplayedElement>(); if (null == script) { //TODO remove hack Logger.Log("DisplayedElement::Create (null == script) 1 with name=" + newElement.name, Logger.Level.DEBUG); InventoryDevice inventoryDevice = newElement.GetComponent <InventoryDevice>(); if (inventoryDevice != null) { Logger.Log("DisplayedElement::Create found inventory device", Logger.Level.DEBUG); script = inventoryDevice.inventoriedDisplayedDevice; if (script != null) { Logger.Log("DisplayedElement::Create found inventory device script", Logger.Level.DEBUG); } else { Logger.Log("DisplayedElement::Create failed to find inventory device script", Logger.Level.WARN); } } } script._id = ++_idCounter; Logger.Log("DisplayedElement::Create script._id = " + script._id, Logger.Level.TRACE); script._currentSpriteName = spriteName; script.setSprite(script._currentSpriteName); Logger.Log("DisplayedElement::Create script._currentSpriteName = " + script._currentSpriteName, Logger.Level.TRACE); Logger.Log("DisplayedDevice::Create ends", Logger.Level.TRACE); return(script); }
/// <inheritdoc /> protected override Size ArrangeOverride(Size measured) { var calculateSize = CalculateSize(measured); var calculatePosition = CalculatePosition(measured); Debug.WriteLine($"{"Arrange".PadLeft(10, ' ')} ({Position.ToString().PadLeft(8, ' ')}): position:{calculatePosition.X:0}x{calculatePosition.Y:0} size:{calculateSize.Width:0}x{calculateSize.Height:0}"); DisplayedElement.Arrange(new Rect(calculatePosition, calculateSize)); return(measured); }