public T GetComponent <T>() where T : HComponent { Type type = typeof(T); HComponent hComponent = null; if (hComponents.TryGetValue(type, out hComponent)) { return(hComponent as T); } return(default);
void Awake() { if (anchor == null) { anchor = HComponent.Create <FloatingAnchor>(gameObject.name + " floatingAnchor"); anchor.transform.position = transform.position; anchor.transform.rotation = transform.rotation; anchor.transform.parent = transform.parent; anchor.data = data; } }
void CreateGridOfSpots() { var colliderSize = new Vector3(size.x / amountOfSpots.x, 0.01f, size.y / amountOfSpots.y); var offsetX = (size.x / 2 - colliderSize.x / 2) * -1; var offsetZ = (size.y / 2 - colliderSize.z / 2) * -1; for (int x = 0; x < amountOfSpots.x; x++) { for (int y = 0; y < amountOfSpots.y; y++) { var inventorySpot = HComponent.Create <InventorySpot>("Spot") as InventorySpot; inventorySpot.transform.parent = transform; inventorySpot.transform.localPosition = new Vector3(x * colliderSize.x + offsetX, 0, y * colliderSize.z + offsetZ); inventorySpot.GetComponent <BoxCollider>().size = colliderSize; spots.Add(inventorySpot); } } }
public static T Create <T>() where T : Component { return(HComponent.Create <T>("GameObject")); }