ya2 · news · projects · code · about

fixes
authorFlavio Calva <f.calva@gmail.com>
Tue, 25 Jan 2022 19:08:10 +0000 (20:08 +0100)
committerFlavio Calva <f.calva@gmail.com>
Tue, 25 Jan 2022 19:08:10 +0000 (20:08 +0100)
pmachines/items/item.py
pmachines/scene.py
prj.org

index 508dc8712a54ef43a609cae3cbe43668d50d3fe1..23d70d91aa7830abc435cb99515e5b6447d44686 100644 (file)
@@ -168,7 +168,7 @@ class Item:
             self._scene_repos()
 
     def on_click_r(self, pos):
-        if self._paused: return
+        if self._paused or not self._instantiated: return
         self._prev_rot_info = pos, self._np.get_pos(), self._np.get_r()
         loader.load_sfx('assets/audio/sfx/grab.ogg').play()
 
@@ -183,6 +183,8 @@ class Item:
         if self._overlapping:
             self._np.set_pos(self._last_nonoverlapping_pos)
             self._np.set_hpr(self._last_nonoverlapping_rot)
+            self._outline_model.set_color(.4, .4, .4, 1)
+            self._outline_model.set_color_scale(.4, .4, .4, 1)
 
     def on_mouse_on(self):
         if not self._paused:
index 1273817914c20c970bcb488e2c339108d1746ce3..5dec805b20dd9185f599d23b9993f5508867e332 100644 (file)
@@ -202,7 +202,8 @@ class Scene(DirectObject):
                     self._item_active = item
                 getattr(item, method)(pos)
                 img = 'move' if method == 'on_click_l' else 'rotate'
-                self._cursor.set_image('assets/buttons/%s.png' % img)
+                if not (img == 'rotate' and not item._instantiated):
+                    self._cursor.set_image('assets/buttons/%s.png' % img)
 
     def on_click_l(self):
         self._on_click('on_click_l')
diff --git a/prj.org b/prj.org
index e18cfada9c8e1d3e5694c51a1fed2d95358f2163..38313dd0d0c2627189b5e34b8c480aefb2dcc5f0 100644 (file)
--- a/prj.org
+++ b/prj.org
@@ -1,6 +1,5 @@
 * issues
 * todo
-** move the overlapping object a bit farther
 ** create one level per item, then levels with more items
 *** e.g. item1, item2, item1+2, item3, item1+2+3, ...
 ** refactoring