diff options
author | chai <chaifix@163.com> | 2020-10-17 15:22:09 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2020-10-17 15:22:09 +0800 |
commit | 08ab881a480a73d6be005c4b4e1cf35814b53e3c (patch) | |
tree | 00297c01905cff519509598c5340a82c0fc2e941 /modules |
Diffstat (limited to 'modules')
-rw-r--r-- | modules/gl/gl.qs | 0 | ||||
-rw-r--r-- | modules/gl/gl.qs.dll | 0 | ||||
-rw-r--r-- | modules/gl/init.qs | 3 | ||||
-rw-r--r-- | modules/math3d/vector3.qs | 34 | ||||
-rw-r--r-- | modules/std/base64.qs | 15 | ||||
-rw-r--r-- | modules/std/event.qs | 42 | ||||
-rw-r--r-- | modules/std/init.qs | 2 | ||||
-rw-r--r-- | modules/std/singleton.qs | 23 | ||||
-rw-r--r-- | modules/std/stack.qs | 20 |
9 files changed, 139 insertions, 0 deletions
diff --git a/modules/gl/gl.qs b/modules/gl/gl.qs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/modules/gl/gl.qs diff --git a/modules/gl/gl.qs.dll b/modules/gl/gl.qs.dll new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/modules/gl/gl.qs.dll diff --git a/modules/gl/init.qs b/modules/gl/init.qs new file mode 100644 index 0000000..8d54a93 --- /dev/null +++ b/modules/gl/init.qs @@ -0,0 +1,3 @@ + +import gl; + diff --git a/modules/math3d/vector3.qs b/modules/math3d/vector3.qs new file mode 100644 index 0000000..2401b0e --- /dev/null +++ b/modules/math3d/vector3.qs @@ -0,0 +1,34 @@ +import math for Math; + +class Vector3 { + static one = new Vector3(1,1,1); + static zero = new Vector3(0,0,0); + static front = ne Vector3(0,0,1); + static up = new Vector3(0,1,0); + static right = new Vector3(1,0,0); + + func init(x, y, z) { + self.x = x; + self.y = y; + self.z = z; + } + + func length() { + return Math.sqrt(self.x^2 + self.y^2 + self.z^2); + } + + static func lerp(v1, v2, t) { + + } + + static func slerp(v1, v2, t) { + + } + +} + +/* +var v = new Vector3(1,1,1); + + +*/
\ No newline at end of file diff --git a/modules/std/base64.qs b/modules/std/base64.qs new file mode 100644 index 0000000..d14dbbc --- /dev/null +++ b/modules/std/base64.qs @@ -0,0 +1,15 @@ +class Base64 { + static func encode(str) { + + } + + static func decode(str) { + + } +} + +/* +var base64 = Base64.encode("asasdadqweqwe12312"); + + +*/
\ No newline at end of file diff --git a/modules/std/event.qs b/modules/std/event.qs new file mode 100644 index 0000000..d4f2a10 --- /dev/null +++ b/modules/std/event.qs @@ -0,0 +1,42 @@ +import debug for debug; + +class event { + func init() { + self._func = []; // callback functions list + } + + func clear() { + self._func.clear(); + } + + func += (fn) { + if(typeof(fn) != "function") + debug.assert("wrong type"); + if(!self._func.contains(fn)) + self._func.push(fn); + else + debug.logError("已经存在这个方法"); + } + + func -= (fn) { + if(typeof(fn) != "function") + debug.assert("wrong type"); + self._func.remove(fn); + } + + func () (...){ + foreach(var fn in self._func) { + fn(...); + } + } +} + +/* +var Say = new event(); +Say += func(str) { + io.print(str); +} +Say("hi"); +Say.clear(); + +*/
\ No newline at end of file diff --git a/modules/std/init.qs b/modules/std/init.qs new file mode 100644 index 0000000..fd4327d --- /dev/null +++ b/modules/std/init.qs @@ -0,0 +1,2 @@ +import "base64.qs" ; + diff --git a/modules/std/singleton.qs b/modules/std/singleton.qs new file mode 100644 index 0000000..afade4b --- /dev/null +++ b/modules/std/singleton.qs @@ -0,0 +1,23 @@ + +class Singleton { + static func get() { + if( type._instance == null ) { + type._instance = new type(); + } + return type._instance; + } +} + +/* +Usage: + +class SoundManager is Singleton { + func init() { + + } +} + +var mgr = SoundManager.get(); + +//type is upvalue\preset value, like self +*/
\ No newline at end of file diff --git a/modules/std/stack.qs b/modules/std/stack.qs new file mode 100644 index 0000000..4151e39 --- /dev/null +++ b/modules/std/stack.qs @@ -0,0 +1,20 @@ +class Stack { + func init() { + self._stack = []; + } + + func push(element) { + self._stack.push(element); + } + + func pop() { + self._stack.pop(); + } + + func size() { + + } +} + + + |