MBHaxe/src/GameObject.hx
2023-06-13 23:33:32 +05:30

45 lines
1.1 KiB
Haxe

package src;
import src.TimeState;
import collision.CollisionInfo;
import h3d.scene.Object;
import src.Resource;
import h3d.mat.Texture;
import hxd.res.Sound;
class GameObject extends Object {
public var identifier:String;
public var currentOpacity:Float = 1;
public var isCollideable:Bool = false;
public var isBoundingBoxCollideable:Bool = false;
public var enableCollideCallbacks:Bool = false;
public var animateSubObjectOpacities:Bool = false;
var textureResources:Array<Resource<Texture>> = [];
var soundResources:Array<Resource<Sound>> = [];
public function getSubObjectOpacity(obj:Object) {
return currentOpacity;
}
public function onMarbleContact(time:TimeState, ?contact:CollisionInfo) {}
public function onMarbleInside(time:TimeState) {}
public function onMarbleEnter(time:TimeState) {}
public function onMarbleLeave(time:TimeState) {}
public function onLevelStart() {}
public function reset() {}
public function dispose() {
for (textureResource in textureResources) {
textureResource.release();
}
for (audioResource in soundResources) {
audioResource.release();
}
}
}