新增numberdictionary的散列键
This commit is contained in:
@@ -79,7 +79,7 @@ abstract class Collider extends Component{
|
||||
}
|
||||
|
||||
let renderable = this.entity.getComponent<RenderableComponent>(RenderableComponent);
|
||||
if (!renderable){
|
||||
if (renderable){
|
||||
let renderbaleBounds = renderable.bounds;
|
||||
|
||||
let width = renderbaleBounds.width / this.entity.transform.scale.x;
|
||||
@@ -98,6 +98,11 @@ abstract class Collider extends Component{
|
||||
this._isParentEntityAddedToScene = true;
|
||||
this.registerColliderWithPhysicsSystem();
|
||||
}
|
||||
|
||||
public onRemovedFromEntity(){
|
||||
this.unregisterColliderWithPhysicsSystem();
|
||||
this._isParentEntityAddedToScene = false;
|
||||
}
|
||||
|
||||
public onEntityTransformChanged(comp: ComponentTransform){
|
||||
switch (comp){
|
||||
|
||||
@@ -126,8 +126,20 @@ class RaycastResultParser {
|
||||
class NumberDictionary {
|
||||
private _store: Map<number, Collider[]> = new Map<number, Collider[]>();
|
||||
|
||||
/**
|
||||
* 根据x和y值计算并返回散列键
|
||||
* @param x
|
||||
* @param y
|
||||
*/
|
||||
private getKey(x: number, y: number): number {
|
||||
return x << 32 | y;
|
||||
return x << 32 | this.intToUint(y);
|
||||
}
|
||||
|
||||
private intToUint(i){
|
||||
if (i >= 0)
|
||||
return i;
|
||||
else
|
||||
return 4294967296 + i;
|
||||
}
|
||||
|
||||
public add(x: number, y: number, list: Collider[]) {
|
||||
|
||||
Reference in New Issue
Block a user