void Start() { for (var i = 0; i < 4; i++) { switch (i) { case 0: if (World.At((Vector3I)(transform.position) + Vector3.right).GetObject() == null) { continue; } break; case 1: if (World.At((Vector3I)(transform.position) + Vector3.back).GetObject() == null) { continue; } break; case 2: if (World.At((Vector3I)(transform.position) + Vector3.left).GetObject() == null) { continue; } break; case 3: if (World.At((Vector3I)(transform.position) + Vector3.forward).GetObject() == null) { continue; } break; } var rotate = new GameObject("Connection " + i); rotate.transform.parent = transform; rotate.transform.localPosition = Vector3.zero; var connector = MultiblockLoader.LoadMultiblock(ObjectType.Connection.Model, transform.position).gameObject; connector.transform.parent = rotate.transform; connector.transform.localPosition = ObjectType.Connection.Offset; rotate.transform.RotateAround(transform.position + new Vector3(0.05f, 0, 0.05f), Vector3.up, 90 * i); } }
public static GameObject GetModel(Vector3 pos, ObjectType objectType) { return(MultiblockLoader.LoadMultiblock(objectType.Model, pos - Vector3.one / 2).gameObject); }