Skip to content

Commit

Permalink
Merge pull request #114 from ollelogdahl/master
Browse files Browse the repository at this point in the history
Use Sprixels in pgl-editor item wizard. Add Sprixels in _ref2obj and _obj2ref
  • Loading branch information
arnauddupuis committed Oct 10, 2020
2 parents 83386c8 + 5df9074 commit 867127e
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 6 deletions.
2 changes: 2 additions & 0 deletions docs/source/authors.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ Contributors
* Diego Cáceres (`@diego-caceres`_)
* Spassarop (`@spassarop`_)
* Javier Hernán Caballero García (`@caballerojavier13`_)
* Olle Lögdahl (`@ollelogdahl`_)

.. _`@arnauddupuis`: https://github.com/arnauddupuis
.. _`@kaozdl`: https://github.com/kaozdl
Expand All @@ -44,3 +45,4 @@ Contributors
.. _`@diego-caceres`: https://github.com/diego-caceres
.. _`@spassarop`: https://github.com/spassarop
.. _`@caballerojavier13`: https://github.com/caballerojavier13
.. _`@ollelogdahl`: https://github.com/ollelogdahl
28 changes: 22 additions & 6 deletions pgl-editor.py
Original file line number Diff line number Diff line change
Expand Up @@ -258,12 +258,16 @@ def create_wizard():
new_object.type = r
print("Now we need a model. Default value: " + new_object.model)
input('Hit "Enter" when you are ready to choose a model.')
new_object.model = model_picker()
chosen_model = model_picker()
new_object.sprixel = gfx_core.Sprixel(chosen_model)
# also sets new_objects model, for backward compatibility
new_object.model = chosen_model

game.clear_screen()
print(
base.Text.green_bright("\t\tObject creation wizard: ")
+ base.Text.cyan_bright("NPC")
+ f" - {new_object.model}"
+ f" - {new_object.sprixel}"
)
print(
"We now needs to go through some basic statistics. "
Expand Down Expand Up @@ -548,12 +552,18 @@ def create_wizard():
if key == "1":
new_object = board_items.Wall()
new_object.name = str(uuid.uuid1())
new_object.model = model_picker()
chosen_model = model_picker()
new_object.sprixel = gfx_core.Sprixel(chosen_model)
# also sets new_objects model, for backward compatibility
new_object.model = chosen_model
break
elif key == "2":
new_object = board_items.Door()
new_object.name = str(uuid.uuid1())
new_object.model = model_picker()
chosen_model = model_picker()
new_object.sprixel = gfx_core.Sprixel(chosen_model)
# also sets new_objects model, for backward compatibility
new_object.model = chosen_model
break
elif key == "3":
new_object = board_items.Treasure()
Expand All @@ -574,7 +584,10 @@ def create_wizard():
new_object.type = r
print("Now we need a model. Default value: " + new_object.model)
input('Hit "Enter" when you are ready to choose a model.')
new_object.model = model_picker()
chosen_model = model_picker()
new_object.sprixel = gfx_core.Sprixel(chosen_model)
# also sets new_objects model, for backward compatibility
new_object.model = chosen_model
break
elif key == "4" or key == "5":
if key == "4":
Expand All @@ -599,7 +612,10 @@ def create_wizard():
new_object.type = r
print("Now we need a model. Default value: " + new_object.model)
input('Hit "Enter" when you are ready to choose a model.')
new_object.model = model_picker()
chosen_model = model_picker()
new_object.sprixel = gfx_core.Sprixel(chosen_model)
# also sets new_objects model, for backward compatibility
new_object.model = chosen_model
print(
"Is this object pickable? (can it be picked up " "by the player)?"
)
Expand Down
5 changes: 5 additions & 0 deletions pygamelib/engine.py
Original file line number Diff line number Diff line change
Expand Up @@ -2508,6 +2508,9 @@ def _obj2ref(obj):
"type": obj.type,
}

if obj.sprixel is not None:
ref["sprixel"] = obj.sprixel.serialize()

if isinstance(obj, board_items.Wall):
ref["inventory_space"] = obj.inventory_space()
elif isinstance(obj, board_items.Treasure):
Expand Down Expand Up @@ -2697,6 +2700,8 @@ def _ref2obj(ref):
local_object.name = ref["name"]
if "model" in obj_keys:
local_object.model = ref["model"]
if "sprixel" in obj_keys:
local_object.sprixel = core.Sprixel.load(ref["sprixel"])
if "type" in obj_keys:
local_object.type = ref["type"]
return local_object
Expand Down

0 comments on commit 867127e

Please sign in to comment.