"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"kr\">function</span> <span class=\"nf\">physics_world_listener</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">,</span> <span class=\"n\">events</span><span class=\"p\">)</span>\n <span class=\"kr\">for</span> <span class=\"n\">_</span><span class=\"p\">,</span><span class=\"n\">event</span> <span class=\"kr\">in</span> <span class=\"nb\">ipairs</span><span class=\"p\">(</span><span class=\"n\">events</span><span class=\"p\">):</span>\n <span class=\"kd\">local</span> <span class=\"n\">event_type</span> <span class=\"o\">=</span> <span class=\"n\">event</span><span class=\"p\">[</span><span class=\"s1\">'type'</span><span class=\"p\">]</span>\n <span class=\"kr\">if</span> <span class=\"n\">event_type</span> <span class=\"o\">==</span> <span class=\"n\">hash</span><span class=\"p\">(</span><span class=\"s2\">"contact_point_event"</span><span class=\"p\">)</span> <span class=\"kr\">then</span>\n <span class=\"n\">pprint</span><span class=\"p\">(</span><span class=\"n\">event</span><span class=\"p\">)</span>\n <span class=\"c1\">-- {</span>\n <span class=\"c1\">-- distance = 2.1490633487701,</span>\n <span class=\"c1\">-- applied_impulse = 0</span>\n <span class=\"c1\">-- a = { --[[0x113f7c6c0]]</span>\n <span class=\"c1\">-- group = hash: [box],</span>\n <span class=\"c1\">-- id = hash: [/box]</span>\n <span class=\"c1\">-- mass = 0,</span>\n <span class=\"c1\">-- normal = vmath.vector3(0.379, 0.925, -0),</span>\n <span class=\"c1\">-- position = vmath.vector3(517.337, 235.068, 0),</span>\n <span class=\"c1\">-- instance_position = vmath.vector3(480, 144, 0),</span>\n <span class=\"c1\">-- relative_velocity = vmath.vector3(-0, -0, -0),</span>\n <span class=\"c1\">-- },</span>\n <span class=\"c1\">-- b = { --[[0x113f7c840]]</span>\n <span class=\"c1\">-- group = hash: [circle],</span>\n <span class=\"c1\">-- id = hash: [/circle]</span>\n <span class=\"c1\">-- mass = 0,</span>\n <span class=\"c1\">-- normal = vmath.vector3(-0.379, -0.925, 0),</span>\n <span class=\"c1\">-- position = vmath.vector3(517.337, 235.068, 0),</span>\n <span class=\"c1\">-- instance_position = vmath.vector3(-0.0021, 0, -0.0022),</span>\n <span class=\"c1\">-- relative_velocity = vmath.vector3(0, 0, 0),</span>\n <span class=\"c1\">-- },</span>\n <span class=\"c1\">-- }</span>\n <span class=\"kr\">elseif</span> <span class=\"n\">event</span> <span class=\"o\">==</span> <span class=\"n\">hash</span><span class=\"p\">(</span><span class=\"s2\">"collision_event"</span><span class=\"p\">)</span> <span class=\"kr\">then</span>\n <span class=\"n\">pprint</span><span class=\"p\">(</span><span class=\"n\">event</span><span class=\"p\">)</span>\n <span class=\"c1\">-- {</span>\n <span class=\"c1\">-- a = {</span>\n <span class=\"c1\">-- group = hash: [default],</span>\n <span class=\"c1\">-- position = vmath.vector3(183, 666, 0),</span>\n <span class=\"c1\">-- id = hash: [/go1]</span>\n <span class=\"c1\">-- },</span>\n <span class=\"c1\">-- b = {</span>\n <span class=\"c1\">-- group = hash: [default],</span>\n <span class=\"c1\">-- position = vmath.vector3(185, 704.05865478516, 0),</span>\n <span class=\"c1\">-- id = hash: [/go2]</span>\n <span class=\"c1\">-- }</span>\n <span class=\"c1\">-- }</span>\n <span class=\"kr\">elseif</span> <span class=\"n\">event</span> <span class=\"o\">==</span> <span class=\"n\">hash</span><span class=\"p\">(</span><span class=\"s2\">"trigger_event"</span><span class=\"p\">)</span> <span class=\"kr\">then</span>\n <span class=\"n\">pprint</span><span class=\"p\">(</span><span class=\"n\">event</span><span class=\"p\">)</span>\n <span class=\"c1\">-- {</span>\n <span class=\"c1\">-- enter = true,</span>\n <span class=\"c1\">-- b = {</span>\n <span class=\"c1\">-- group = hash: [default],</span>\n <span class=\"c1\">-- id = hash: [/go2]</span>\n <span class=\"c1\">-- },</span>\n <span class=\"c1\">-- a = {</span>\n <span class=\"c1\">-- group = hash: [default],</span>\n <span class=\"c1\">-- id = hash: [/go1]</span>\n <span class=\"c1\">-- }</span>\n <span class=\"c1\">-- },</span>\n <span class=\"kr\">elseif</span> <span class=\"n\">event</span> <span class=\"o\">==</span> <span class=\"n\">hash</span><span class=\"p\">(</span><span class=\"s2\">"ray_cast_response"</span><span class=\"p\">)</span> <span class=\"kr\">then</span>\n <span class=\"n\">pprint</span><span class=\"p\">(</span><span class=\"n\">event</span><span class=\"p\">)</span>\n <span class=\"c1\">--{</span>\n <span class=\"c1\">-- group = hash: [default],</span>\n <span class=\"c1\">-- request_id = 0,</span>\n <span class=\"c1\">-- position = vmath.vector3(249.92222595215, 249.92222595215, 0),</span>\n <span class=\"c1\">-- fraction = 0.68759721517563,</span>\n <span class=\"c1\">-- normal = vmath.vector3(0, 1, 0),</span>\n <span class=\"c1\">-- id = hash: [/go]</span>\n <span class=\"c1\">-- }</span>\n <span class=\"kr\">elseif</span> <span class=\"n\">event</span> <span class=\"o\">==</span> <span class=\"n\">hash</span><span class=\"p\">(</span><span class=\"s2\">"ray_cast_missed"</span><span class=\"p\">)</span> <span class=\"kr\">then</span>\n <span class=\"n\">pprint</span><span class=\"p\">(</span><span class=\"n\">event</span><span class=\"p\">)</span>\n <span class=\"c1\">-- {</span>\n <span class=\"c1\">-- request_id = 0</span>\n <span class=\"c1\">--},</span>\n <span class=\"kr\">end</span>\n<span class=\"kr\">end</span>\n\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"n\">physics</span><span class=\"p\">.</span><span class=\"n\">set_event_listener</span><span class=\"p\">(</span><span class=\"n\">physics_world_listener</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
0 commit comments