/// <summary> /// Hashes and entity's transform and it's collider shape settings /// </summary> /// <param name="collider"></param> /// <returns></returns> public static int HashEntityCollider(StaticColliderComponent collider) { int hash = 0; hash = (hash * 397) ^ collider.Entity.Transform.WorldMatrix.GetHashCode(); hash = (hash * 397) ^ collider.CollisionGroup.GetHashCode(); foreach (var shape in collider.ColliderShapes) { hash = (hash * 397) ^ shape.GetType().GetHashCode(); hash = (hash * 397) ^ shape.GetHashCode(); } return hash; }