private void SwitchTexture(Transform tf = null) { var spriteRenderer = GetComponent <SpriteRenderer>(); spriteRenderer.transform.localScale = new Vector3(1.0f, 1.0f, 1.0f); spriteRenderer.transform.rotation = Quaternion.Euler(Vector3.forward); if (AssignedPart == null) { return; } var partDetails = GuiHelpers.GetPartTypeDetails(AssignedPart.VisualType); var sprite = Resources.Load <Sprite>(AttachedToBody ? partDetails.AssetName : partDetails.BeltAssetName); spriteRenderer.sprite = sprite; Vector3 parentScale = Vector3.one; if (tf != null) { spriteRenderer.transform.localScale = new Vector3(!AttachedToBody ? partDetails.SizeModifier * tf.localScale.x : 0.3f, !AttachedToBody ? partDetails.SizeModifier * tf.localScale.y : 0.3f, 1.0f); } else { spriteRenderer.transform.localScale = new Vector3(!AttachedToBody ? partDetails.SizeModifier : 0.3f, !AttachedToBody ? partDetails.SizeModifier : 0.3f, 1.0f); } if (HasCollider) { Destroy(GetComponent <PolygonCollider2D>()); gameObject.AddComponent <PolygonCollider2D>(); } }
public void Display(List <Part> loot) { foreach (Transform child in transform) { Destroy(child.gameObject); } this.parts = loot; foreach (var part in parts) { var partVisual = new GameObject(); partVisual.transform.parent = transform; var cr = partVisual.AddComponent <CanvasRenderer>(); var rect = partVisual.AddComponent <RectTransform>(); var img = partVisual.AddComponent <Image>(); var partDetails = GuiHelpers.GetPartTypeDetails(part.VisualType); img.sprite = Resources.Load <Sprite>(partDetails.AssetName); img.transform.localScale = new Vector3(partDetails.SizeModifier, partDetails.SizeModifier, 1.0f); img.transform.rotation = Quaternion.Euler(Vector3.forward * partDetails.RotationEuler); } }