You are on page 1of 1

(ns game.

core
(:require [arcadia.core :refer :all]
[arcadia.linear :refer :all]
[clojure.string :as str])
(:import [UnityEngine
GameObject
Time
Mathf
Transform
MeshRenderer
MeshFilter
Resources]))

(defn particle-rotate [^GameObject obj k]


(with-cmpt obj [tr Transform
mf MeshFilter]
(let [mesh (.. mf mesh)
vertices (.. mesh vertices)]
#_(log (count vertices))
#_(run! #(log %) vertices)
#_(run! #(log %) (.. mesh uv))
#_(log 23)
(set! (.. tr rotation)
(qq* (.. tr rotation)
(aa 1.5 0 1 0)))
(doseq [i (range (count vertices))]
#_(set! (aget vertices i))
#_(aset vertices i (aget vertices i))
(aset vertices i (v3 0.0 0.0 0.0)))
#_(do
(aset vertices 0 (v3 -0.5 -0.5 0.0))
(aset vertices 1 (v3 0.5 -0.5 0.0))
(aset vertices 2 (v3 -0.5 0.5 0.0))
(aset vertices 3 (v3 0.5 0.5 0.0)))
(set! (.. mesh vertices)
vertices))))

(defn particle-create
[]
(let [particle (instantiate (Resources/Load "particlePrefab"))]
(with-cmpt particle [tr Transform]
(set! (. tr position)
(v3 (- (* (rand) 20.0) 15.0)
(- (* (rand) 11.0) 1.0)
(- (* (rand) 20.0) 10.0)))
(roles+ particle
{:particle-rotate
{:state {}
:fixed-update #'particle-rotate}}))))

(defn start-game
[_ _]

(doseq [_ (range 1000)]


(particle-create))

())

You might also like