sm-blueprint-lib 0.0.8__tar.gz → 0.0.10__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/PKG-INFO +1 -1
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/pyproject.toml +1 -1
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/constants.py +10 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/parts/__init__.py +2 -1
- sm_blueprint_lib-0.0.8/src/sm_blueprint_lib/parts/switch.py → sm_blueprint_lib-0.0.10/src/sm_blueprint_lib/parts/button.py +2 -2
- sm_blueprint_lib-0.0.10/src/sm_blueprint_lib/parts/switch.py +9 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/utils.py +10 -5
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/test_connections.py +6 -2
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/.gitattributes +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/.gitignore +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/1to1andloop.png +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/LICENSE +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/README.md +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/manytooneandmanytomany.png +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/rowtorowand1tomany.png +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/__init__.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/bases/controllers/basecontroller.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/bases/controllers/baselogiccontroller.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/bases/controllers/logicgatecontroller.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/bases/controllers/sensorcontroller.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/bases/controllers/timercontroller.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/bases/parts/baseboundablepart.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/bases/parts/baseinteractablepart.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/bases/parts/baselogicpart.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/bases/parts/basepart.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/blueprint.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/body.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/bounds.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/id.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/parts/barrierblock.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/parts/logicgate.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/parts/sensor.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/parts/timer.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/pos.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/prebuilds/__init__.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/prebuilds/adder.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/prebuilds/barrel_shifter.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/prebuilds/clock40hz.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/prebuilds/comparator.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/prebuilds/counter.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/prebuilds/decoder.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/prebuilds/distance_sensor.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/prebuilds/ram.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/prebuilds/register.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/prebuilds/rom.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/prebuilds/timer_ram_cached.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/prebuilds/timer_ram_multiclient.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/test_prebuilds.py +0 -0
- {sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/tests.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: sm_blueprint_lib
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.10
|
4
4
|
Summary: Scrap Mechanic Library for Blueprint manipulation.
|
5
5
|
Project-URL: Homepage, https://github.com/MauriceTZ/sm_blueprint_lib
|
6
6
|
Project-URL: Issues, https://github.com/MauriceTZ/sm_blueprint_lib/issues
|
@@ -4,9 +4,19 @@ class SHAPEID:
|
|
4
4
|
TIMER = "8f7fd0e7-c46e-4944-a414-7ce2437bb30f"
|
5
5
|
SENSOR5 = "20dcd41c-0a11-4668-9b00-97f278ce21af"
|
6
6
|
SWITCH = "7cf717d7-d167-4f2d-a6e7-6b2c70aa3986"
|
7
|
+
BUTTON = "1e8d93a4-506b-470d-9ada-9c0a321e2db5"
|
7
8
|
SHAPEID_TO_CLASS = {}
|
8
9
|
|
9
10
|
|
11
|
+
class COLOR:
|
12
|
+
BARRIER_BLOCK_DEFAULT = "CE9E0C"
|
13
|
+
BUTTON_DEFAULT = "DF7F01"
|
14
|
+
LOGIC_GATE_DEFAULT = "DF7F01"
|
15
|
+
SENSOR5_DEFAULT = "DF7F01"
|
16
|
+
SWITCH_DEFAULT = "DF7F01"
|
17
|
+
TIMER_DEFAULT = "DF7F01"
|
18
|
+
|
19
|
+
|
10
20
|
class AXIS:
|
11
21
|
DEFAULT_XAXIS = 1
|
12
22
|
DEFAULT_ZAXIS = 3
|
@@ -88,22 +88,27 @@ def connect(_from, _to, *, parallel=True):
|
|
88
88
|
if isinstance(_from, BaseInteractablePart) and isinstance(_to, BaseInteractablePart):
|
89
89
|
_from.connect(_to)
|
90
90
|
return
|
91
|
-
|
92
|
-
|
91
|
+
# Try connect things row-by-row if possible (one to one, one to many, many to many)
|
92
|
+
if parallel:
|
93
|
+
# Assume both are sequence of parts
|
94
|
+
if not isinstance(_from, BaseInteractablePart) and not isinstance(_to, BaseInteractablePart):
|
93
95
|
for subfrom, subto in zip(_from, _to):
|
94
96
|
connect(subfrom, subto, parallel=parallel)
|
95
|
-
|
97
|
+
# Assume _from is a sequence of parts
|
98
|
+
elif not isinstance(_from, BaseInteractablePart):
|
96
99
|
for subfrom in _from:
|
97
100
|
connect(subfrom, _to, parallel=parallel)
|
98
101
|
else: # Assume _to is a sequence of parts
|
99
102
|
for subto in _to:
|
100
103
|
connect(_from, subto, parallel=parallel)
|
101
104
|
else: # Just connect everything to everything lol
|
102
|
-
|
105
|
+
# Assume both are sequence of parts
|
106
|
+
if not isinstance(_from, BaseInteractablePart) and not isinstance(_to, BaseInteractablePart):
|
103
107
|
for subfrom in _from:
|
104
108
|
for subto in _to:
|
105
109
|
connect(subfrom, subto, parallel=parallel)
|
106
|
-
|
110
|
+
# Assume _from is a sequence of parts
|
111
|
+
elif not isinstance(_from, BaseInteractablePart):
|
107
112
|
for subfrom in _from:
|
108
113
|
connect(subfrom, _to, parallel=parallel)
|
109
114
|
else: # Assume _to is a sequence of parts
|
@@ -2,7 +2,7 @@ from pprint import pp
|
|
2
2
|
|
3
3
|
from numpy import ndarray
|
4
4
|
|
5
|
-
from src.sm_blueprint_lib import Timer, LogicGate, BarrierBlock, Blueprint, save_blueprint, dump_string_from_blueprint, connect
|
5
|
+
from src.sm_blueprint_lib import Timer, LogicGate, BarrierBlock, Switch, Button, Blueprint, save_blueprint, dump_string_from_blueprint, connect
|
6
6
|
|
7
7
|
size = 10
|
8
8
|
l0 = [
|
@@ -31,15 +31,19 @@ for x in range(size):
|
|
31
31
|
base = BarrierBlock((0, -1, -1), "000000", (size+1, size+1, 1))
|
32
32
|
zero = BarrierBlock((0, -1, 0), "000000", (1, 1, 1))
|
33
33
|
|
34
|
+
s = Switch((10, 10, 0), "ff0000")
|
35
|
+
b = Button((9, 9, 0), "ff0000")
|
36
|
+
|
34
37
|
bp = Blueprint()
|
35
38
|
|
39
|
+
connect(s, l1)
|
36
40
|
connect(l0, l1)
|
37
41
|
connect(l0, l3)
|
38
42
|
connect(l3, l2[-1])
|
39
43
|
connect(l1, l2, parallel=False)
|
40
44
|
connect(l3.T, l1)
|
41
45
|
|
42
|
-
bp.add(l0, l1, l2, base, zero, l3)
|
46
|
+
bp.add(l0, l1, l2, base, zero, l3, s, b)
|
43
47
|
|
44
48
|
# bp.add(l0)
|
45
49
|
# bp.add(l1)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/bases/parts/baselogicpart.py
RENAMED
File without changes
|
{sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/bases/parts/basepart.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/parts/barrierblock.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/prebuilds/__init__.py
RENAMED
File without changes
|
File without changes
|
{sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/prebuilds/barrel_shifter.py
RENAMED
File without changes
|
{sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/prebuilds/clock40hz.py
RENAMED
File without changes
|
{sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/prebuilds/comparator.py
RENAMED
File without changes
|
{sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/prebuilds/counter.py
RENAMED
File without changes
|
{sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/prebuilds/decoder.py
RENAMED
File without changes
|
{sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/prebuilds/distance_sensor.py
RENAMED
File without changes
|
File without changes
|
{sm_blueprint_lib-0.0.8 → sm_blueprint_lib-0.0.10}/src/sm_blueprint_lib/prebuilds/register.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|