en en en sl en en en en fi en en en en fi en en en en fi fi en en en en fi fi en en en en fi en fi fi en en en fi en fi fi it en en en nl en en fi en en en en fi en en en en fi en en en en fi fi en en en en fi en en en en fi en en en en en fi en fi en en en fi en en en en fi en en en en fi fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi en en en en fi fi en en en en fi en en en en fi en en en en fi fi en en en en fi fi fi en en en en fi fi fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi en en en en lt en en en en th fi en en en en fi fi en en en en fi en en en en fi en en en en fi en en en en fi fi en en en en fi fi en en en en fi en fi fi en en en fi en fi fi fi en en en fi en en en en fi en en en en fi en en en en fi en en fi fi fi en en en fi en en en en fi fi en en en en fi en en en en fi fi en en en en fi en en en en fi fi fi en en en en fi fi fi en en en en fi en fi fi en en en fi en fi fi fi en en en fi en fi fi fi en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi fi en en en en fi fi en en en en fi en fi en en en fi en fi fi en en en fi fi en it fi en en en fi en fi fi en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en pt en en en en fi en en en en fi en en en en fi en en en fi fi fi en en en en fi fi fi fi fi en en en en fi en en en en fi en en en en en en en en en en en en en fi en en en en fi en en en en fi en en en en fi en fi pl en en en fi en en en en fi fi en en en en fi fi en en en en fi en en en en fi en en en en fi fi en en en en fi fi en en en en en fi en en en en en fi fi en en en en fi fi en en en en fi en en en en fi en en en en fi en en en en en fi en en en en en fi en en en en en fi en en en en fi en fi en en en fi en en en en fi en en en en fi en en en en fi en en en fi fi en en en en fi en en en en fi en jv en en en en fi fi en ceb en en en en fi fi fi en fi en en en fi en fi pl fi en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi en en en en fi fi en en en en fi en en en en fi en en en en fi en en en en fi en en de fi fi fi fi en en en en fi en en en en fi en fi pl en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi en en en en fi en en en en fi en en en en fi fi en en en en fi en en en en fi en en en en fi en en en en fi en eu en en en fi en en en en fi en ceb en en en fi en en en en fi en en en en fi en en en en fi en en en en en fi en en en en fi en en en en fi en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en fi en en en en fi en en en en fi fi en fi fi en en en en nb en en en en fi en fi en en en fi en fi en en en fi en en en en fi en en en en fi en en en en fi fi sv en en en en fi en en en en fi en en en en fi en en en en en fi en en en en fi en en en en fi en en en en fi en fi ms fi fi en en en fi en fi fi ms fi fi en en en fi en fi fi ms fi fi en en en fi en fi fi ms fi fi en en en fi en fi fi fi en en en fi fi fi fi fi en en en en fi en en en en fi en en en en su en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en en en en fr en en en en en en en en en en en en en en en en en en en fi fi en en en en fi en fi fi fi en en en fi en fi en en en fi en en en en fi en en en en de en en en en fi en en en en fi fi en en en en fi fi en en en en fi fi en en en en fi fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi en en en en fi fi fi en en en en fi fi fi en en en en fi fi en en en en fi fi fi en en en en fi en en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en tr tr su en en en fi en tr tr hu en en en fi en tr en en en fi en fi tr tr en en en fi en tr fi tr en en en fi en tr fi tr en en en fi en tr tr fi en en en fi en tr tr fi en en en fi en tr tr fi en en en fi en tr tr fi en en en fi en tr tr fi en en en fi en tr tr fi en en en fi en fi en en en fi en en en en en fi en fi en en en fi en en en en en en fi en fi en en en en fi en tr en en en en fi en tr en en en en fi en tr en en en en nl en sv en en en en fi en sv en en en en de en sv en en en en fi en sv en en en en fi en sv en en en en fi en sv en en en en fi en en fi en en en en fi en fi en en en en fi fi en en en en en fi fi en en en en en fi en en en en en fi en fi en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en fi en en en en fi fi fi en en en en fi en en en en fi en eo en en en fi en fi en en en fi fi fi fi en fi en en en fi fi fi en fi en en en fi en en en en fi en en en en fi en en en en fi en et en en en fi fi en en en en fi en fi en en en fi en en en en fi en en en en fi en fi en en en fi fi en en en en fi en fi en en en fi en fi en en en fi en en en en fi en fi en en en fi en en fi en en en en fi en en fi en en en en fi en en en en fi en en en en fi en en en en fi en fi en en en fi en fi en en en fi en en en en fi fi en en en en it en en en en fi fi en en en en fi fi en en en en fi en fi fi en en en fi en fi fi it en en en nl en en fi en en en en fi fi en en fi en en en en fi it en en fi fi en en en en fi en en en en fi fi en en fi en en en fi en en en en fi en fi en en en fi fi fi en en fi fi fi fi fi fi en en en en fi fi en en en en fi en en fi en ceb en fi fi en fi en en en en en fi en en en en fi pl en en en en fi en en en en fi en en en en fi fi en en en en fi fi en en en en fi en en en en fi en en en en fi fi en en en en fi fi fi en en en en fi fi fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi en en en en fi en en en en fi en en en en fi fi en en en en fi en en en en fi fi fi en en fi fi fi en en en en lt en en en en th fi en en en en fi en en en en fi en en en en fi en en en en fi en fi fi en en en en fi en fi fi en en en fi en fi fi it en en en fi fi en en fi fi fi fi fi fi en fi fi it fi en en en en en en fi fi en fi fi it fi fi en fi fi fi fi fi fi fi en en en en fi en fi en en en en en en en en en fi fi en en en en en en en en en en en en en en en en en en fi en fi en en en fi en en en en fi en fi en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en fi en en en en fi fi en en en en fi fi en en en en fi fi en en en en fi fi fi en en en en fi en en en en fi en en en en lt en en en en fi fi fi fi fi pt en en en en fi en en en en en fi en en en en fi fi en en en en fi en en en en fi fi en en en en fi en fi fi en en en fi en fi en en en fi en fi en en en fi en fi fi en en en fi fi en en en en fi fi en en en en fi fi en en en en fi en en en en fi fi en en en en fi fi en en en en fi en en en en en tr en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi en fi fi en en en fi en en en en fi en fi en en en fi en en en en fi en en en en fi fi en en en en fi en en en en en en fi en en en en fi en en en en fi en en en en fi fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi fi fi fi en en en en en fi en en en en en fi fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en en en en en en en en fi en en en en en en en en en en en en en en en en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi en en fi fi en fi en en en fi fi en en en en fi en en en en fi en fi fi en en en fi pl en fi en en en fi fi en fi fi en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en sl fi en en en en fi fi en en en en fi en en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en fi en en en en en en en en en en en en en en en en en en en en en en en en en en en en en it en en en en en en en en en en en fr en en en en en en en en fr en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en fi fi fi en en en en fi en en en en fi en fi fi en en en fi fi fi en en fi fi en pt fi fi fi fi en en en fi en en en en fi en fi en en en fi en fi en en en fi en et fi fi en en en fi en et fi fi en en en fi en et fi en en en fi en et fi fi en en en fi fi en en en en fi en en en en fi en fi fi fi en en en fi en fi en en en fi en fi fi en en en fi en en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en fi en en en fi en fi en en en fi fi en en en en fi en en en en fi en en en en fi en en en en fi fi fi en es en en en en en fi en en en en fi fi en en en en fi en en en en fi en en en en fi en fi en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en fi fi fi fi en en en fi fi en fi fi fi en en en fi en fi fi fi fi en en en fi fi en fi fi fi en en en fi en fi fi fi en en en fi fi en fi fi en en en fi en fi fi fi en en en fi fi en fi fi en en en fi fi en fi fr fi en en en fi fi en en en en fi fi fi en fr en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi en fi en en en en en en fi en en en en fi fi en en fi fi en en en en pt en en en en fi en en en en fi en en en en fi en fi fi en en en en fi en nl fi en en en et en en en en fr en en en en fi en en en en en en en en en fi fi fi en en en en fi en fi fi en en en fi en fi en en en fi fi fi en en en en fi en en en en fi en en en en fi en en en en fi fi fi en en en en fi en fi fi en en en fi fi en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en fi fi en en en en fi en en en en fi en en en en fi en en en en fi en fi en en en fi en en en en fi en fi en en en fi en en en en fi en fi pl en en en fi en hbs_lat en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi fi en en en en fi en en en en fi fi en en en en fi en en en en fi en en en en fi en en en en fi en fi en en en fi en en en en fi en fi fi en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi en en en en fi en en en en fi en fi en en en fi en sw en en en fi en fi fi en en en fi en fi pl fi en en en fi en en en en fi en en en en fi fi fi en en en en fi en en en en fi en fi en en en fi fi en en en en fi en en en en fi en en en en fi en fi pl en en en fi en fi fi fi fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi en en en en en fi en en en en fi en fi en fi en fi en en en fi en fi en en en fi en fi fi fi en en en fi en fi it fi en en en fi en fi en en en fi fi en fr en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en et en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en en fi en fi fi fi fi fi en en en fi fi en en en en fi fi en en en en fi fi en en en en fi fi en en en en fi en en en en fr en en en en fi en fi fi en en en fi fi en en en en fi en en en en fi fi fi en en fi fi fi en fi en en en fi fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en en fi en fi fi en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi en en en en fi en fi fi en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi en en fi fi fi fi en fi fi ceb ar fi fi kn en en en en en fi en fi en en en fi en fi en en en fi en en en en fi en fi en en en fi en en en en fi en en en en fi fi en fi en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en fi fi it en tr sv sv sv en en en en en fi en fi fi en en en fi en fi en en en fi en fi pl en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi en en en en fi fi it en en en en fi en en en en fi en en en en fi en fi en en en fi en fi en en en fi en fi fi en en en fi en fi en en en fi en fi fi fi en en en fi en en en en fi en fi en en en fi en fi en en it en en en en en en en en en en en en en en en en en en en en en en en en en en en en it en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en fi en en en en fi fi en en en en fi en en en en fi fi en en en en fi en en en en en en en en en en en en en en fi en en en en fi en fi fi en en en fi en fi fi fi en en en fi en fi fi fi en en en fi en fi fi fi fi en en en fi en en en en fi en fi en en en fi en en en en en fi en fi fi en en en fi en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en es en en en en en en en en en en en en en en fi fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en en en en en en en en en en en en en en en en en fi en en en en fi en en en en fi en en en en fi fi en en fi fi en en en en fi en fi fi en en en fi it en en fi fi en en en en fi sv en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en fi en fi fi fi tr en en en en fi fi en en en en en en en en en en en en en en en en en fi en en en en en en en en en en en en en en en en en en fi fi en fa en en fi en en en en fi fi en en ceb ceb en kn en en fi fi fi en en en en fi en en en en fi en en en en fi fi en fi en en en fi en fi en en en fi en fi en en en fi en en en en fi en fi en en en en fi fi en en en en fi fi en en en en fi en en en en fi fi en en en en fi en en en en fi en fi en en en fi fi en en en en fi fi fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en it en en en en fi en en en en en en en en en en en en en en fi en en en en fi en en en en fi en en fi en en en en en fi en en en en fi fi en en en en fi fi en fi fi en en en en en en en en en en en en en en en en en en fi en en en en fi fi en en en en fi fi en en en en en fi en en en en en en en en en fi en it en en en fi fi en en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en fi fi fi fi en en en fi en fi fi fi fi fi en en en fi en fi fi fi fi fi en en en en fi en fi fi fi fi en en en fi fi en fi fi fi fi fi en en en fi en en en en fi en en en en fi en en en en fi en fi lt tr fi en en en fi en fi lt tr fi en en en fi fi en en en en en en en en en en en en en en en en en en en en en fi en en en en fi en en en en fi en fi pl en en en fi fi en en en en fi en en en en fi en en en en fi en en en en fi fi en en en en fi en en en en fi en fi fi en en en en en en en en en en en en en en en fi en en en en fi en fi en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en en en en fr en en en en en en en en fi en en en en fi en en en en fi fi en en en en fi en en en en fi en en en en fi en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en es en en en en en en en en en en en en en en en fi en en en en fi en en en en fi en en en en fi fi en en en fi fi fi en fi en en en en fi en hu en en en fi en en en en fi en fi en en en en fi en en en en et fi en fi en en en en fi en en en en la en en en en fi en en en en fi en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en fi en en en en fi en en en en fi en fi en en en fi en hu en en en fi en en en en fi en en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en fi en en en fi en fi fi en en en en en en en en en en en en en en en en en fi fi en fi en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en en fi fi en en en en fi fi en en en en fi fi en en en en fi en fi fi en en en fi en fi fi en en en fi en en en en fi fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi fi en en en en fi en fi en en en fi en fi fi en en en fi en fi fi en en en fi en en en en fi fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi en en en en fi en fi fi fi fi en en en fi en fi fi en en en fi en fi fi en en en fi fi fi en fi fi en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi en en en en fi en en en en fi en fi en en en fi en sw en en en fi en fi pl fi en en en fi fi en en en en fi en en en en fi en en en en fi en en en en fi fi en en en en fi en en fi fi en en en en en en en en en en en en en en en en en en en en en en en en en en en en en fi en en en en fi en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en tr en en en en en en en en en fi fi fi en en en en fi en fi en en en fi en fi en en en fi en en fi fi en fi fi en en en fi en fi fi en en en fi en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en es en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en fi fi az en en en en fi fi en en en en fi en en en en fi en fi fi fi fi en en en fi en en en en fi en en en en fi en en en en fi fi en en en en en fi fi en fi fi en en en fi en en en en fi en en en en en en en en en en en en en en en en en en en en en en en en en fi en en en en fi en fi en en en fi en fi fi en en en fi en fi fi az en en en fi en en en en fi en fi en en en fi en en en en en fi en fi fi en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en ms en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en fi en en en en fi en fi fi en en en fi en en en en fi fi fi en en en en fi en en en en fi en en en en it en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en nb en en en en nb en fi et de de fi fi fi en en en fi en fi en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en nb en en en en fi en en en en fi en en en en fi en en en en fi en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en si en en en en en en si en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en es en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en fi en en en en fi en en en en fi en en en en fi en fi pl en en en fi fi en fi en en en fi en en en en fi en en en en fi fi en en en en fi fi en en en en fi en en en en fi en en en en fi fi fi en en en en fi en en en en fi en fi fi en en en fi en en en en fi fi fi en en en en fi en en en en fi en en en en en en en en en en en en en en en fi en en en en fi en fi en en en fi en en en en en en en en en fi en en en en fi en en en en fi en en en en fi en fi fi en en en fi en fi fi fi en en en fi en fi fi fi en en en fi en fi fi fi fi en en en fi en en en en fi en fi fi en en en en en en en en en en en en en en en en en en en ja en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en fr en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en si en en en en en en si en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en es en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en fr en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en fi en en en en fi en en en en fi en en en en en fi en en en en fi fi en en fi en en fi fi fi fi en en en en fi en en en en fi fi en en fi en en fi fi fi fi en en en en fi fi en en en en fi en pl fi en en en fi en en en en fi en fi fi fi fi en en en fi en fi fi fi fi fi en en en fi en pl fi fi fi en en en en fi en fi en en en fi en fi en en en fi en tr en en en fi en fi tr en en en fi en fi fi tr en en en fi en en en en fi en fi en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en nl en en en en fi fi en en en en fi en en en en fi fi fi fi fi en en en en fi en en en en fi en en fi en en en en fi fi en fi en en en fi en fi en en en fi en en en en fi en en en en fi en fi en en en en fi en fi en en en en fi en fi en en en fi en en en en fi en en en en fi en tr fi fi en en en en la en en en en fi fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en fi fi en en en fi en en fi en en en en fi en en fi en en en en fi en en fi en en en en fi en en en en fi en en en en et fi en en en en fi en en en en fi en fi en en en fi en en fi fi en en en en fi en en en en fi en fi en en en fi en en en en fi en fi en en en fi en fi en en en fi en en en en fi en en en en fi en en en en fi en en en en en en en en en en en en en en en en en en en de en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en fi fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi fi en en en en fi en en en en en en en en en en en en en en en en en en en en ja en en en en es en en en en ja en en en en en en en en en en en en en en ja en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en si en en en en en en si en en en en id en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en es en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en id en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en tr en en en en jv en en en en fi en fi fi en en en fi en en en en fi en en en en fr en en en en fi en en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en fi en en en fi en fi fi en en en fi en fi en en en fi en fi en en en fi en fi en en en fi en fi en en en fi fi fi en fi fi fi fi en fi en en en en fi fi fi en fi fi fi fi fi en en en en fi en fi fi fi en en en fi en fi fi fi fi en en en en fi en fi fi fi fi en en en en fi en fi fi fi fi fi en en en en fi en fi fi fi fi en en en fi en fi fi fi fi fi en en en en fi en fi fi fi fi fi en en en en fi en fi fi fi fi fi fi en en en en fi en sq en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en fi en en en en en en en en en en en fi fi en fi en en en fi en fi fi fi fi en en en fi en fi fi fi fi fi en en en fi en fi fi fi fi en en en fi en fi fi en en en fi en fi fi en en en fi en fi fi en en en fi en fi fi en en en fi en fi fi fi en en en fi en fi fi fi en en en fi en en en en fi en en en en fi en en en en fi en en en en fi en en en en en en en en en en fi en en en en fi en en en en fi en en en en fi en en en en
Käyttöliittymän komponentti. Samankaltainen kuin  GameObject ,
Määrittää kuinka moneen kertaan kuva piirretään. Esimerkiksi (3.0, 2.0) piirtää
kuvan 3 kertaa vaakasuunnassa ja 2 kertaa pystysuunnassa.
Asettaa olion näkyväksi. Näkyvä olio voi ottaa vastaan ohjaintapahtumia.
Piilottaa olion. Piilotettu olio ei ota vastaan ohjaintapahtumia.
Lisää annetun peliolion tämän olion lapseksi. Lapsiolio liikkuu tämän olion mukana,
ja sen paikka ja koko ilmaistaan suhteessa tähän olioon.
Tuhoaa olion. Tuhottu olio poistuu pelistä.
Olio, jonka lapsiolio tämä olio on. Jos  null , olio ei
Olion elinaika. Lasketaan siitä lähtien, kun olio luodaan.
Kun  Lifetime  on suurempi kuin tämä, olio kuolee.
Kertoo olion äärirajat, ei muotoa.
Olion leveys (X-suunnassa, leveimmässä kohdassa).
Olion korkeus (Y-suunnassa, korkeimmassa kohdassa).
Olion paikka. Jos olio on jonkun toisen peliolion lapsi, paikka on suhteessa
tämän vanhempaan ( Parent ). Muuten paikka on paikka pelimaailmassa.
Jos olio ei ole minkään toisen peliolion lapsiolio,
tämä on sama kuin  Position .
tämä on sama kuin  Angle .
Animaatio. Voi olla  null , jolloin piirretään vain väri.
Väri, jonka värisenä olio piirretään, jos tekstuuria ei ole määritelty.
Määrittää, täyttääkö tekstuuri olion muodon jos olio on suurempi kuin sille
Peli, johon olio on lisätty.  null , jos
oliota ei ole lisätty peliin.
Jos  true , pelin sekä ikkunan alla olevien widgettien
ohjaimet eivät ole käytössä kun ikkuna on näkyvissä.
Tapahtuu, kun olio lisätään peliin.
Luo uuden tekstikentän annetulla tekstillä. Asettaa
Asettaa tekstikentän näyttämään annetun mittarin arvoa.
Maksimileveys, jonka mukaan teksti rivitetään.
Kuinka monta desimaalia näytetään, kun tekstikenttä on
Ei välttämättä sama kuin  Size .
Vaikuttaa vain, jos tekstikentän koko on suurempi kuin tekstin koko
ja  SizeMode  ei ole  SizeMode.AutoSize .
Luo uuden painonapin omalla kuvalla.
Kuva kun nappi on vapautettu.
Kuva kun nappi on alaspainettuna.
Kuva kun hiiren kursori on napin päällä.
Tapahtuu kun nappia on painettu.
Perussuunnat tasolla, eli ylös, alas, vasemmalle ja oikealle.
Suunnille on mahdollista asettaa kertoimet, ja muuttaa vektoreiksi tai vektoreista.
Sisältää myös staattisia apufunktioita suuntakäsittelyyn.
Vektorien pituus on oletuksena 1.
Alustaa uuden suuntaolion annetulla vektorin pituudella.
Palauttaa vektorin annetun suunnan perusteella.
Tunnistaa, onko annettu vektori jokin perussuunnista.
Jos on, palauttaa perusuuunnan. Muuten palauttaa  null .
Palauttaa vastakkaisen suunnan annetulle suunnalle.
Suuntavektorin pituus (sama kaikille suunnille).
InputQueryWindow ikkuna = new InputQueryWindow( this );
Jaettu kahteen alueeseen, kysely (query) ja sisältö (content).
Ensimmäinen sisältää vapaavalintaisen (mutta ei välttämättömän) kuvan
ja tekstin, joka rivitetään automaattisesti.
TJ: The distinction to GameObjects and ScreenObjects is somewhat artificial because
the only actual difference between those two is that when drawing, the camera parameters
are applied to the transformation matrices.
One thing to note is that drawing text in screen coordinates with the XNA SpriteBatch
class is very easy, but
I haven't figured out how to use the SpriteBatch in world coordinates. My guess is that it
was just not designed with that in mind.
Kutsutaan, kun objektia on klikattu hiirellä tai sen kohdalla on painettu enteriä.
Tuhoaa olion. Tuhottu olio poistuu pelistä.
Vain aktiivisen objektin kontrolleja kuunnellaan.
Olion elinaika. Lasketaan siitä lähtien, kun olio luodaan.
Kun  Lifetime  on suurempi kuin tämä, olio kuolee.
Sisältää objektin paikan ja koon.
Käytä mieluummin  Position  ja  Size  -ominaisuuksia.
Objektin paikka. Sisältää X- ja Y-koordinaatin.
Objektin koko. Sisältää sekä leveyden (Size.X) että pituuden (Size.Y).
Tapahtuu, kun objektia on klikattu hiirellä tai sen kohdalla on painettu enteriä.
true  jos näkyy,  false  jos ei.
Window ikkuna = new Window();
ikkuna.Add( new IkkunaKomponentti( parametrit ) );
Ikkunan piilottaminen on sama kuin sen sulkeminen.
Nämä voivat olla mitä tahansa näyttöjä.
Tapahtuu kun ikkuna näytetään ruudulla ("avataan")
Tapahtuu kun ikkuna suljetaan (=piilotetaan)
QueryWindow ikkuna = new QueryWindow();
ikkuna.Objects.Add( new IkkunaKomponentti( parametrit ) );
Tekstin ja kuvan etäisyys pikseleinä.
Ei käytetä, jos kuvaa ei määritetä.
Kysely- ja sisältöalueiden etäisyys pikseleinä.
Piirretäänkö ikkunalle reunat vai ei.
Kutsutaan kun syötetty teksti on hyväksytty.
Hyväksyy syötteen ja laukaisee tapahtuman.
Suljetaanko ikkuna automaattisesti, kun teksti on syötetty.
Applys drag and buoyancy to all items in the engine.
A physics logic is a way for the engine to effect object within the Update call.
Gravity is a Example of a PhysicsLogic.
Before the item is allowed to be added to pending this method is called to
throw any exceptions without corrupting the state of the Physics engine.
The engine the item is about to be added too.
Raised when the Lifetime property has been Changed.
Raised when the object is added to a Physics Engine.
Raised when the object is Added to the engine but is not yet part of the update process.
Raised when the object is Removed from a Physics Engine.
Gets if it has been added the the Engine's PendingQueue, but not yet added to the engine.
Gets if the object has been added to the engine.
Gets The PhysicsEngine the object is currently in. Null if it is in none.
Gets and Sets a User defined object.
Gets and Sets the LifeTime of the object. The object will be removed from the engine when it is Expired.
Get and Sets The order number of when it will be ran.
All Logics with a higher order will run after this one and all logics
with a lower order number will be ran before this one.
Creates a new instance of the ExplosionLogic
the velocity of the explosion (this would be from the missile or bomb that spawns it).
the speed at which the explosion expands
the mass of the expanding cloud
Lisää ohjeteksti, joka on sama kaikille näppäimille tai muille ohjaimille,
jotka käyttävät samaa aliohjelmaa ohjaintapahtuman käsittelyyn.
Returns a name for the key, button, or whatever control that is assigned to the
Ehto, jonka tapahtuman on toteutettava.
Ottaa käytöstä poistetun kontrollin takaisin käyttöön.
Ottaa takaisin käyttöön kaikki  Disable -metodilla poistetut kontrollit.
Poistaa tämän ohjaimen kaikki kuuntelijat.
Huomaa, että puskuri ei tyhjenny automaattisesti kutsun jälkeen
Palauttaa, onko yksikään hiiren nappi alhaalla.
Onko hiiren kursori annetun olion päällä.
Kuuntelee hiirenpainalluksia annetun peliolion päällä.
Olio, jonka päällä hiiren kursorin tulisi olla.
Kuinka pitkän matkan hiiren tulisi liikkua, että tulee tapahtuma.
Jos käytetään, hiiren paikka ruudulla on mitattavissa, mutta hiiri ei
Jos ei käytetä, hiirtä voidaan liikuttaa rajatta, mutta sen paikkaa
Keskimmäinen nappi hiiressä (rullan painallus).
Draw() calls should be made between Begin() and End() calls.
No other drawing operations should be done between Begin() and
The shapes are added to a buffer. Only when
the buffer is full, a draw call is made to the graphics device.
Buffer for index values to the vertex buffer.
Since some low-end graphics cards don't support 32-bit indices,
16-bit indices must be used. Which is fine, as it means less traffic
to the graphics card. We just have to make sure that the buffer size
Mittari, joka mittaa erityyppisiä arvoja.
Sidottavissa näyttöihin, kuten  ValueDisplay  ja  BarGauge .
Luo uuden mittarin kopiona parametrina annetusta.
Kun mittari saavuttaa tämän arvon, laukeaa tapahtuma  LowerLimit .
Kun raja alittuu, laukeaa tapahtuma  LowerAlert .
Kun raja ylittyy, laukeaa tapahtuma  UpperAlert .
Tapahtuu, kun mittarin arvo muuttuu.
Tapahtuu, kun arvo alittaa hälytysalarajan.
Tapahtuu, kun arvo saavuttaa pienimmän sallitun arvonsa.
Mittari, joka mittaa int-tyyppisiä arvoja.
Sidottavissa näyttöihin, kuten  ValueDisplay  ja  BarGauge .
Antaa mittariolion  m  arvon, kun mittaria käytetään
sellaisessa yhteydessä, jossa vaaditaan tavallista  int -
Mittari, joka mittaa double-tyyppisiä arvoja.
Sidottavissa näyttöihin, kuten  ValueDisplay  ja  BarGauge .
Vertaa ensimmäisen kulman suuremmuutta toiseen.
true  jos suurempi,  false  jos pienempi tai yhtäsuuri.
true  jos suurempi tai yhtäsuuri,  false  jos pienempi.
Vertaa ensimmäisen kulman pienemmyyttä toiseen.
true  jos pienempi,  false  jos suurempi tai yhtäsuuri.
true  jos pienempi tai yhtäsuuri,  false  jos suurempi.
Luo kulman annettujen radiaanien mukaan.
Luo kulman annettujen asteiden mukaan.
Luo kulman annetun suunnan mukaan.
Laskee komplementtikulman (90 asteen kulman toinen puoli)
Laskee kulman arcus-sinin, eli sinin käänteisfunktion arvon.
Laskee kulman arcus-tangentin, eli tangentin käänteisfunktion arvon.
Palauttaa kulmaa yksilöivän luvun, tässä tapauksessa kulman asteluvun.
Tarkistaa kahden kulman yhtäsuuruuden. Jos parametrinä annetaan jotain muuta kuin kulma, tulos on aina epätosi.
Palauttaa kulman radiaaneina siten, että se on aina positiivinen.
Hyödyllinen esimerkiksi ympyrän kaarien käsittelyssä.
Palauttaa kulman asteina siten, että se on aina positiivinen.
Palauttaa tai asettaa kulman asteina.
Palauttaa tai asettaa kulman radiaaneina.
Faster then sweep and prune and does not stutter like SingleSweep
updates all the nodes to their new values and sorts the lists
Finds how many collisions there are on the x and y and returns if
the x axis has the least
Contains objects and draws them slowly, one at a time.
Accepts any kind of an object.
Selects an object randomly from the bucket. The object is NOT
true  if an object was removed.
Aivot, joiden tehtävänä on laittaa omistajansa kulkemaan koordinaattien välillä.
Voidaan käyttää tekoälyn ja tilannekohtaisten toimintamallien luomiseen
peliolioille, esimerkkinä tietokoneen ohjaamat viholliset.
Tyhjät aivot, eivät sisällä mitään toiminnallisuutta.
Kopioi aivot sisältöineen. Ei toimi Xboxilla.
Suurin osa päätöksenteosta tapahtuu täällä.
Perivässä luokassa methodin kuuluu kutsua vastaavaa
Aivot käytössä tai pois käytöstä.
Lisää koordinaatin tai useita koordinaatteja, jotka ovat Vector-tyyppisiä.
Suurin osa päätöksenteosta tapahtuu täällä.
Aivot, joiden tehtävänä on laittaa omistajansa seuraamaan jotakin kohdetta.
Luo aivot ja asettaa ne seuraamaan kohdetta.
Tapahtuma, joka suoritetaan, kun ollaan tarpeeksi lähellä seurattavaa.
Etäisyys, jolloin ollaan lähellä kohdetta.
Pysähdytäänkö, kun ollaan lähellä kohdetta.
true  jos pysähdytään; jos ei, niin  false .
Seuraako kohdetta aina, riippumatta etäisyydestä.
true  jos seuraa; jos ei, niin  false .
Etäisyys kohteeseen. Jos tämä tai alle, niin jolloin aletaan seuraamaan kohdetta.
Aivot, jotka laittavat omistajansa liikkumaan satunnaisesti eri suuntiin törmäyksissä ja tietyn ajan jälkeen.
Aika sekunteina, jonka kuluttua muutetaan liikesuuntaa
Aivot, jotka laittavat omistajansa hortoilemaan tasohyppelytasoa
Peliolio, joka noudattaa fysiikkamoottorin määräämiä fysiikan lakeja.
Voidaan kuitenkin myös laittaa noudattamaan lakeja valikoidusti.
Lisää annetun peliolion tämän olion lapseksi. Lapsiolio liikkuu tämän olion mukana,
ja sen paikka ja koko ilmaistaan suhteessa tähän olioon.
PhysicsObject -tyyppisiä olioita ei voi lisätä lapsiolioksi.
Poistaa lapsiolion. Jos haluat tuhota olion,
kutsu mielummin olion  Destroy -metodia.
Oliota ei poisteta välittömästi, vaan viimeistään seuraavan
Tuhoaa olion. Tuhottu olio poistuu pelistä.
Peliolion päivitys. Tätä kutsutaan, kun  IsUpdated -ominaisuuden
arvoksi on asetettu  true  ja olio on lisätty peliin.
Vektori, joka määrittää kuinka paljon siirretään.
Tarvitseeko olio päivittämistä. Kun perit oman luokkasi
tästä luokasta, aseta tämä arvoon  true , kun luokan olio
Jos tämä asetetaan arvoon  true , olion  Update -metodia
kutsutaan säännöllisesti (noin 25 kertaa sekunnissa) sen jälkeen, kun olio
Tämä ei ole oletuksena  true , jotta vältetään pelin hidastuminen
turhien päivityskutsujen takia. Jos esimerkiksi kenttä koostuu tuhansista
seinäpalikoista, näiden kaikkien päivittäminen koko ajan olisi turhaa.
Olio, jonka lapsiolio tämä olio on. Jos  null , olio ei
Tagia voi käyttää vaikkapa olion keräämien pisteiden tallettamiseen:
Kun luet pisteitä, täytyy arvo muuntaa oikean tyyppiseksi kertomalla tyypin
Olion elinaika. Lasketaan siitä lähtien, kun olio luodaan.
Kun  Lifetime  on suurempi kuin tämä, olio kuolee.
Kertoo olion äärirajat, ei muotoa.
Olion leveys (X-suunnassa, leveimmässä kohdassa).
Olion korkeus (Y-suunnassa, korkeimmassa kohdassa).
Olion paikka. Jos olio on jonkun toisen peliolion lapsi, paikka on suhteessa
tämän vanhempaan ( Parent ). Muuten paikka on paikka pelimaailmassa.
Jos olio ei ole minkään toisen peliolion lapsiolio,
tämä on sama kuin  Position .
tämä on sama kuin  Angle .
Animaatio. Voi olla  null , jolloin piirretään vain väri.
Määrittää kuinka moneen kertaan kuva piirretään. Esimerkiksi (3.0, 2.0) piirtää
kuvan 3 kertaa vaakasuunnassa ja 2 kertaa pystysuunnassa.
Väri, jonka värisenä olio piirretään, jos tekstuuria ei ole määritelty.
Jos  true , kuva piirretään niin, ettei se mene olion muodon
ääriviivojen yli. Toisin sanoen kuva piirretään tarkasti vain
Tämän asettaminen tekee olion piirtämisestä hitaamman. Jos
muoto on yksinkertainen, harkitse voisiko kuvan piirtää niin, että
läpinäkyvyyttä käyttämällä saadaan kuvasta halutun muotoinen.
Peli, johon olio on lisätty.  null , jos
oliota ei ole lisätty peliin.
Tapahtuu, kun olio lisätään peliin.
Tekee suorakulmaisen kappaleen, joka on staattinen (eli pysyy paikallaan).
Luo uuden fysiikkaolion asettaen laadun törmäyskappaleelle. Käytä tätä rakentajaa vain,
jos törmäystunnistuksen laatu ei ole tyydyttävää.
Mitä parempi laatu, sen tarkempi törmäysten tunnistus mutta toisaalta sen hitaampi
laskenta. Jos laatu on liian huono, kappaleet saattavat mennä toistensa läpi.
Sopiva arvo laadulle riippuu tilanteesta. Jos tarvitsee vain tietää, milloin kappale törmää
johonkin toiseen, riitää huonompikin laatu. Jos taas esimerkiksi halutaan, että kappaleita
voi pinota päällekkäin, tarvitaan parempaa laatua. Toisaalta, jos peli pyörii liian hitaasti,
voi olla parempi heikentää joidenkin kappaleiden laatua. Sopiva arvo löytyy kokeilemalla.
PhysicsObject laatikko = new PhysicsObject( 20.0, 30.0, Shapes.Rectangle, CollisionShapeQuality.FromValue(0.6) );
Luo uuden fysiikkaolion antaen parametreja fysiikan laskentaan. Käytä tätä rakentajaa vain,
jos on tarvetta kokeilla eri parametrien vaikutusta törmäyksen laatuun.
Suurin sallittu etäisyys fysiikkakuvion verteksien välillä.
Kuinka pientä ruudukkoa fysiikkakuvion laskennassa käytetään. Ei ole käytössä ympyrälle.
Sekä  maxDistanceBetweenVertices  että  gridSpacing  -parametrit vaikuttavat fysiikan
laskentaan siten, että pienemmällä arvolla saadaan tarkempi laskenta, suuremmalla nopeampi. Oikea
arvo on siis kompromissi fysiikan tarkkuuden ja nopean laskennan välillä.
Suositeltavat (ei välttämättä parhaat mahdolliset) arvot olisivat seuraavat:  GridSpacing
korkeintaan puolet kuvion kahden kulmapisteen etäisyydestä (esim. neliölle puolet etäisyydestä
ja  maxDistanceBetweenVertices  vastaavasti korkeintaan kolmannes.
Sopivat arvot löytynevät parhaiten kokeilemalla.
Luo fysiikkaolion, jonka muotona on säde.
Initializes the object with the given physics shape. The size of
the physicsShape must be the one given.
Tekee oliosta staattisen. Staattinen olio ei liiku muiden olioiden törmäyksistä,
vaan ainoastaan muuttamalla suoraan sen paikkaa tai nopeutta.
This updates the mass and momentOfInertia based on the new mass.
Creates a shape to be used in the Physics Body. A physics shape is scaled to the
size of the object. In addition, it has more vertices and some additional info
that is used in collision detection. The  maxLengthBetweenVertexes  and
gridSpacing  parameters affect (for most shapes) how accurately the collision
detection is calculated for the shape.
Kohdistaa kappaleeseen impulssin. Tällä kappaleen saa nopeasti liikkeeseen.
Kohdistaa kappaleeseen vääntövoiman. Voiman suunta riippuu merkistä.
Olio, jolla voi välttää oliota osumasta tiettyihin muihin olioihin.
Olion paikka koordinaatistossa. Käsittää sekä X- että Y-koordinaatin.
Olion koko (x on leveys, y on korkeus).
Kulma, jossa olio on. Oliota voi pyörittää kulmaa vaihtamalla.
Jos  false , olio ei voi pyöriä.
Olion massa. Mitä suurempi massa, sitä suurempi voima tarvitaan olion liikuttamiseksi.
Massan asettaminen muuttaa myös hitausmomenttia ( MomentOfInertia ).
Olion hitausmomentti. Mitä suurempi hitausmomentti, sitä enemmän vääntöä tarvitaan
Lepokitka. Liikkeen alkamista vastustava voima, joka ilmenee kun olio yrittää lähteä liikkeelle
toisen olion pinnalta (esim. laatikkoa yritetään työntää eteenpäin).
Liikekitka. Liikettä vastustava voima joka ilmenee kun kaksi oliota liikkuu toisiaan vasten
(esim. laatikko liukuu maata pitkin). Arvot välillä 0.0 (ei kitkaa) ja 1.0 (täysi kitka).
Olion kimmoisuus. Arvo välillä 0.0-1.0.
Arvolla 1.0 olio säilyttää kaiken vauhtinsa törmäyksessä. Mitä pienempi arvo,
sitä enemmän olion vauhti hidastuu törmäyksessä.
Olion hidastuminen. Hidastaa olion vauhtia, vaikka se ei
osuisi mihinkään. Vähän kuin väliaineen (esim. ilman tai veden)
vastus. Oletusarvo on 1.0, jolloin hidastumista ei ole. Mitä
pienempi arvo, sitä enemmän kappale hidastuu.
Yleensä kannattaa käyttää arvoja, jotka ovat lähellä ykköstä,
Jättääkö olio räjähdyksen paineaallon huomiotta.
Jättääkö olio törmäyksen huomioimatta. Jos tosi, törmäyksestä
tulee tapahtuma, mutta itse törmäystä ei tapahdu.
Jättääkö olio kaikki fysiikkalogiikat (ks.  AddPhysicsLogic )
huomiotta. Vaikuttaa esim. painovoimaan, mutta ei törmäyksiin.
Kääntyy niin paljon kuin auton ohjattavuus sallii.
Ajetaan kun pelitilannetta päivitetään. Päivityksen voi toteuttaa omassa luokassa toteuttamalla tämän
metodin. Perityn luokan metodissa tulee kutsua kantaluokan metodia.
Nopeusmittari, joka mittaa auton nopeuden (moottorin nopeus).
Huomaa, että ei vastaa aina  Velocity -ominaisuuden arvoa.
Suurin nopeus, johon auto voi kiihdyttää.
Auton kiihtyvyys, eli kuinka monta yksikköä korkeintaan nopeutta voidaan
Jarrujen hidastavuus, eli kuinka monta yksikköä korkeintaan nopeutta voidaan
Ohjattavuus, eli kulma jonka auto voi korkeintaan kääntyä sekunnissa.
Ajastin, joka voidaan asettaa laukaisemaan tapahtumia tietyin väliajoin.
Tuhoaa ajastimen. Tuhottu ajastin poistuu pelistä.
Kutsuu aliohjelmaa  onTimeout  annetun ajan kuluttua.
Kuinka monta kertaa tulee ajastintapahtuma.
Pysäyttää ajastimen tallentaen sen tilan.
Pysäyttää ajastimen ja nollaa sen tilan.
Ajastimen elinaika. Lasketaan siitä lähtien, kun ajastin luodaan.
Kun  Lifetime  on suurempi kuin tämä, ajastin poistetaan.
Aika sekunneissa, jonka välein  Trigger  tapahtuu.
Menossa oleva hetki nollasta väliaikaan ( Interval ).
Sekuntilaskuri. Voidaan sitoa näyttöihin.
Määrää, kuinka monta kertaa tapahtuma suoritetaan.
Kun tapahtumaa on suoritettu tarpeeksi,  Enabled  saa automaattisesti
arvon  false , jolloin ajastin pysähtyy.
Kun laskuri nollataan, myös Times palautuu oletusarvoonsa.
Huomaa, että  TimesLimited  tulee olla  true , että arvo otetaan huomioon.
Ajastimen suorituskertojen rajoitus päälle/pois.
Voidaan asettaa esimerkiksi kentäksi, jota halutaan päivittää Trigger-tapahtumassa.
Arvo ei muutu, jos sitä ei muuteta.
If true, the shape must be scaled by the size of the object
that has the shape. Typically, an unit-sized object has width
and height of 1.0.
Muotojen määrityksessä käytettävä kolmio.
Luo uuden kolmion. Parametreina kulmapisteiden indeksit lueteltuna myötäpäivään.
Sisältää valmiiksi lasketut kolmiot, joiden avulla piirtäminen on suoraviivaista.
Luo kuvion annetusta kuvasta. Kuvassa tulee olla vain yksi
yhtenäinen muoto (toisin sanoen kuvio ei voi koostua monesta osasta).
Kuvion luominen voi olla melko hidasta. Kannattaa luoda kuvio heti pelin alussa
ja käyttää kerran luotua kuviota kaikille olioille.
Kuva, josta muoto luetaan.
Tekstuuribittikartta muotojen luomiseen tekstuureista.
Sisältää tekstuurin tiedot väritaulukkona.
Luo uuden bittikartan tekstuurin pohjalta.
Predikaatti, joka määrää, onko annettu väri läpinäkyvä.
Luo uuden bittikartan tekstuurin pohjalta oletusläpinäkyvyysehdoilla.
Päättelee pikselin läpinäkyvyyden sen värin perusteella.
Tässä tapauksessa alfa-arvon tulee olla suurempi tai yhtäsuuri kuin 127.
Palauttaa yksittäisen pikselin värin annetusta koordinaattipisteestä (ensin x, sitten y).
Napin (minkä tahansa) asento.
Jos mahdollista, käytä mieluummin peliluokan omaa Controls-ominaisuutta.
Tyhjentää kaikkien peliohjaimien ohjauspuskurit, eli jonossa odottavat
näppäimenpainallukset ja muut ohjaintapahtumat.
Palauttaa kaikki ohjaimien ohjetekstit listana.
Kaikkien ohjainten puskurien tila.
false  jos näppäimenpainalluksia on jonossa käsittelemättä, muuten  true .
Takes a 2D Boolean array with a true value representing a collidable pixel and converts
it to an array of vertex that surrounds that bitmap. The bitmap should be a single piece
if there are many pieces it will only return the geometry of the first piece it comes
across. Make sure there are at least 3 pixels in a piece otherwise an exception will be
thrown (it wont be a polygon).
a bitmap to be converted. true means its collidable.
A Vector2D[] representing the bitmap.
creates vertexes that describe a Rectangle.
The length of the Rectangle
array of vectors the describe a rectangle
Calculates the moment of inertia for a polygon
the moment of inertia
makes sure the distance between 2 vertexes is under the length passed, by adding vertexes between them.
the maximum distance allowed between 2 vertexes
makes sure the distance between 2 vertexes is under the length passed, by adding vertexes between them.
the maximum distance allowed between 2 vertexes
if it should check the distance between the first and last vertex.
Reduces a Polygon's number of vertexes.
The Polygon to reduce.
Reduces a Polygon's number of vertexes.
The Polygon to reduce.
The amount the removal of a vertex is allowed to change the area of the polygon.
(Setting this value to 0 will reverse what the Subdivide method does)
Calculates the area of a polygon.
The vertexes of the polygon.
Calculates the Centroid of a polygon.
The vertexes of the polygon.
The Centroid of a polygon.
This is Also known as Center of Gravity/Mass.
repositions the polygon so the Centroid is the origin.
The vertexes of the polygon.
The vertexes of the polygon with the Centroid as the Origin.
A Joint Between 2 Bodies that will pivot around an Anchor.
Describes a Connection between 2 objects.
Before the item is allowed to be added to pending this method is called to
throw any exceptions without corrupting the state of the Physics engine.
The engine the item is about to be added too.
Raised when the Lifetime property has been Changed.
Raised when the object is added to a Physics Engine.
Raised when the object is Added to the engine but is not yet part of the update process.
Raised when the object is Removed from a Physics Engine.
Gets if it has been added the the Engine's PendingQueue, but not yet added to the engine.
Gets and Sets a User defined object.
Gets and Sets the LifeTime of the object. The object will be removed from the engine when it is Expired.
Gets The PhysicsEngine the object is currently in. Null if it is in none.
Gets if the object has been added to the engine.
Gets the bodies the Joint effects.
Creates a new HingeJoint Instance.
One of the bodies to be Jointed.
One of the bodies to be Jointed.
The location of the Hinge.
A object Describing how long the object will be in the engine.
The Distance the joint can stretch before breaking.
A collision ignorer that uses reference comparison.
All Bodies with the same instance of this ignorer then they will not collide.
Base class for Collision Ignorers to impliment.
Get and sets if the result of this ignorer is inverted.
Class that holds information about a change in time;
Creates a new Timestep instance.
The current change in time. (seconds)
The number for the current update.
The current change in time. (seconds)
The inverse of the change in time. (0 if dt is 0)
The actaul change in time. (seconds)
The inverse of the actaul change in time. (0 if dt is 0)
The number for the current update.
Sellaisen aliohjelman tyyppi, joka ei ota parametreja ja
palauttaa GameObject-tyyppisen aliohjelman. Tällaisen paikalle
kelpaa myös aliohjelma, jonka paluutyyppi on PhysicsObject.
Sisältää aliohjelmia ruutukentän luomiseksi.
Lukee kentän ruudut tiedostosta.
Kentän ruudut kaksiulotteisessa taulukossa
Lisää kenttään olioita aseteltuna tasavälein ruudukkoon. Aseteltavat oliot kerrotaan
merkeistä koostuvassa kaksiulotteisessa taulukossa.  legend  sisältää aliohjelmat,
joilla tiettyjä merkkejä vastaavat oliot tehdään.
Huom! Tiilien asettaminen muuttaa kentän kokoa. Jos lisäät kenttään reunat, tee se vasta
tämän aliohjelman kutsun jälkeen.
Ruudut kaksiulotteisena taulukkona merkeistä
Kokoelma aliohjelmia, jossa eri merkkejä vastaa eri aliohjelma
Efekti tulee näkyviin tietyn sekuntimäärän aikana
Aika joka kuluu että efekti on näkyvä
Efekti hiipuu näkyvistä tietyn sekuntimäärän aikana
Aika joka kuluu että efekti katoaa
Suurin määrä partikkeleita mitä efektillä voi olla kerralla
Suurin määrä partikkeleita mitä efektillä voi olla kerralla
Suurin määrä partikkeleita mitä efektillä voi olla kerralla
Suurin määrä partikkeleita mitä efektillä voi olla kerralla
Käyttääkö efektin partikkelit lisäävää
Metodi joka asettaa partikkeleille attribuutit
Täytyy kutsua perityistä luokista
Kutsutaan kun luokka päivitetään
Pienin skaalaus joka efektin partikkeleilla voi olla
Suurin skaalaus joka efektin partikkeleilla voi olla
Määrä jonka partikkeli skaalautuu päivityksessä
Pienin nopeus joka efektin partikkelilla voi olla
Suurin nopeus joka efektin partikkelilla voi olla
Efektin partikkelin lyhin mahdollinen elinaika
Efektin partikkelin pisin mahdollinen elinaika
Pienin kiihtyvyys joka efektin partikkelilla voi olla
Suurin kiihtyvyys joka efektin partikkelilla voi olla
Pienin pyörimisnopeus joka efektin partikkelilla voi olla
Suurin pyörimisnopeus joka efektin partikkelilla voi olla
Pienin kierre mikä efektin partikkelilla voi olla
Suurin kierre mikä efektin partikkelilla voi olla
Olio johon efekti on liitetty
Käyttääkö efekti yhtä vai kahta tekstuuria
Luo uuden räjähdyksen entisen pohjalta.
Ajetaan kun pelitilannetta päivitetään. Päivityksen voi toteuttaa omassa luokassa toteuttamalla tämän
metodin. Perityn luokan metodissa tulee kutsua kantaluokan metodia.
Suurin säde, johon räjähdys voi kasvaa.
Jos halutaan läpinäkyvä räjähdys niin sitten Color.TransparentWhite.
Jos paineaaltoa ei haluta ollenkaan, niin sitten Color.TransparentBlack.
Räjähdyksen leviämisnopeus (pikseliä sekunnissa)
Voima, jolla räjähdyksen paineaallon uloin reuna heittää olioita räjähdyksestä poispäin.
Vihje: voit käyttää myös negatiivisia arvoja, jolloin räjähdys imee olioita sisäänsä.
Kappaleen kuvion laatu törmäyksentunnistuksessa.
Lukuarvo välillä  0.0  (huonoin) ja  1.0  (paras).
Huonoin mahdollinen laatu, nopea mutta epätarkka.
Paras mahdollinen laatu, tarkka mutta hidas.
Pitää kirjaa parhaista pisteistä ja mahdollistaa niiden tallentamisen tiedostoon.
Lataa olemassaolevan listan tiedostosta tai luo uuden, jos tiedostoa ei ole.
Lataa olemassaolevan listan tiedostosta tai luo uuden, jos tiedostoa ei ole.
Luo uuden parhaiden pisteiden listan.
Luo uuden parhaiden pisteiden listan.
Lataa olemassaolevan listan tiedostosta.
Lataa olemassaolevan listan tiedostosta.
true  jos tulos on referenssitulosta parempi, muuten  false .
Palauttaa, mille sijalle annetulla pistemäärällä pääsisi listalla.
Jos pistemäärä ei oikeuta listapaikkaan, palautetaan 0.
Lisää tuloksen listalle automaattisesti oikeaan paikkaan ja palauttaa
Paikka, johon nimi lisättiin listalle. 0 jos ei lisätty.
Kysyy pelaajan nimeä jos annettu pistemäärä riittää listalle
pääsemiseen ja lisää pelaajan nimen ja pisteet listalle.
Listan pituus, eli kuinka monta nimeä pisteineen tallennetaan.
Paikka listalla saadaan kirjoittamalla {0} ja pisteet kirjoittamalla {1}.
lista.CongratulationText = "Onneksi olkoon, pääsit {0}:ksi listalle pisteillä {1}! Syötä nimesi:";
Jos asetettu, pienempi tulos lasketaan paremmaksi.
Nimi ja pisteet kysytylle sijalle.
String kolmosnimi = lista[3].Name;
long kolmospisteet = lista[3].Value;
Alustaa  -olion halutulla listan pituudella.
Lataa listan sisällön tiedostosta.
Tallentaa listan sisällön tiedostoon.
Laskee checkpointteja ja kierroksia automaattisesti.
Nämä aivot ovat ihmispelaajalle, käytä tietokoneautoille  ComputerDriverBrain -luokkaa.
Alustaa uudet ajajan aivot.
Tarkistuspisteet, joiden läpi pelaajan on ajettava.
Kutsutaan, kun tapahtuu törmäys.
Lista checkpointeista eli tarkistuspisteistä radalla.
Auton tulee ajaa kaikkien näiden pisteiden läpi oikeassa järjestyksessä, että kierros
Mittari joka mittaa ajettuja kierroksia.
Mittari joka mittaa läpäistyjä tarkistuspisteitä tällä kierroksella.
Kuten  DriverBrain , mutta osaa automaattisesti suunnistaa checkpointilta toiselle
Alustaa uudet tietokoneajajan aivot.
Tarkistuspisteet, joiden läpi pelaajan on ajettava.
Kutsutaan, kun tilaa päivitetään.
Copies the elements of the IAdvanceValueType to a new array of   .
An array containing copies of the elements of the IAdvanceValueType.
Copies all the elements of the IAdvanceValueType to the specified one-dimensional Array of  .
The one-dimensional Array that is the destination of the elements copied from the IAdvanceValueType.
A 32-bit integer that represents the index in array at which copying begins.
Copies all the elements, up to the   of the IAdvanceValueType, of the specified one-dimensional Array to the IAdvanceValueType.
The one-dimensional Array that is the source of the elements copied to the IAdvanceValueType.
A 32-bit integer that represents the index in array at which copying begins.
turns the object into a string representation of itself with a special format for each Scaler in it.
the format to be applied to each Scalar
a string with every Scalar formated with the provided format.
Gets a 32-bit integer that represents the total number of elements in all the dimensions of IAdvanceValueType.
Copies the elements of the IMatrix to a new 2-dimensional array of  s.
A 2-dimensional array containing copies of the elements of the IMatrix.
Copies the elements, in a Transposed order, of the IMatrix to a new array of  .
An array containing copies of the elements, in a Transposed order, of the IAdvanceValueType.
This is the Format Accepted by OpenGL.
Copies all the elements, in a Transposed order, of the IAdvanceValueType to the specified one-dimensional Array of  .
The one-dimensional Array that is the destination of the elements copied from the IAdvanceValueType.
A 32-bit integer that represents the index in array at which copying begins.
Copies all the elements, in a Transposed order, up to the   of the IAdvanceValueType, of the specified one-dimensional Array to the IAdvanceValueType.
The one-dimensional Array that is the source of the elements copied to the IAdvanceValueType.
A 32-bit integer that represents the index in array at which copying begins.
Gets a 32-bit integer that represents the total number of Rows in the IMatrix.
Gets a 32-bit integer that represents the total number of Columns in the IMatrix.
Gets the Determinant of the IMatrix
Gets the   at the specified Column.
The zero-based index of the Column of the   to get.
The   at the specified Column.
Sets the   at the specified Column.
The zero-based index of the Column of the   to set.
The   to set at the specified Column.
Gets the   at the specified Row.
The zero-based index of the Row of the   to get.
The   at the specified Row.
Sets the   at the specified Row.
The zero-based index of the Row of the   to set.
The   to set at the specified Row.
Gets the Inverse of the IMatrix
Gets the Transpose of the IMatrix
Gets the Adjoint (Conjugate Transpose) of the IMatrix
Gets the Cofactor (The Transpose of the Adjoint) of the IMatrix
The number of rows.
The number of columns.
The number of Scalar values in the class.
The Size of the class in bytes;
Gets the determinant of this matrix.
Swap the rows of the matrix with the columns.
Used to generate the Cofactor of this matrix.
The Cofactor matrix of the current instance.
Used to generate the adjoint of this matrix..
The adjoint matrix of the current instance.
Returns an inverted 4d matrix.
The engine this solver is in.
Describes a Contact in a collision.
Gets The world coordinates of the contact.
Gets a Direction Vector Pointing away from the Edge.
Gets The distance the contact is inside the other object.
Gets The First Body that is part of the Contact.
(The Normal belongs to this Body.)
Gets The Second Body that is part of the Contact.
(The Position of the Vertex belongs to this Body.)
A Joint between 2 Bodies that will keep the Angles between the 2 bodies at a certain amount.
Contains objects and draws them in an efficient manner.
This bucket accepts objects
that have a texture or a simple shape. As long as the contained objects
don't change their properties, other than position and angle, they can
be contained in this bucket.
Vertices for drawing a filled square.
Indices for the vertex array of the square.
Vertices for drawing a filled triangle.
Indices for the vertex array of the triangle.
Composes individual textures into one big texture, that can
then be sent to the graphics card in one batch.
This method also sets texture coordinates for each image. The texture
coordinates refer to a small part of the image.
Calculates locations for individual images in the composed image, so that
as little space is wasted as possible.
Array of textures sorted by height.
The width for the composed texture.
Locations for individual textures, or null if there is not enough space.
true  if an object was removed.
Adds the object to the bucket.
If the object can not be added,  false  is returned.
The object can be rejected for following reasons
* Drawing certain kind of objects is not supported (such as filling a shape with texture)
* The textures are too big.
* There is a limit to how many and how big textures have been added.
Whether the object was added or not.
Adds new images to the cache that may have been assigned to
true  if images were successfully added or they were already in the cache.
Luokka näyttää viestejä ruudulla. Viestejä voi lisätä add-metodilla.
property MessageTimeInSeconds kertoo kuinka pitkään viesti näkyy ennen kuin se häviää.
Kutsutaan, kun teksti muuttuu.
Alustaa uuden tekstinäytön oletusfontilla.
Alustaa uuden tekstinäytön annetulla fontilla.
Päivittää näytön/tekstin koon ja rivittää tekstin.
Näkymä, johon halutaan piirtää.
Laskee lokaalit piirtokoordinaatit  Alignment in perusteella.
Fontti, jolla teksti kirjoitetaan ruudulle.
Muutetaanko tekstinäytön kokoa tekstin pituuden mukaan automaattisesti.
Rivitetäänkö teksti automaattisesti, kun se ylittää maksimipituutensa.
Vaikuttaa vain, jos tekstinäytön koko on suurempi kuin tekstin koko
ja  AutoSize  on kytketty pois päältä.
Ei välttämättä sama kuin  Size .
Tapahtuu, kun tekstiä muutetaan.
Lisää uuden viestin näkymään.
Poistaa kaikki lisätyt viestit.
Kuinka monta viestiä kerrallaan näytetään.
Kuinka pitkään yksi viesti näkyy.
Alustaa uuden arvolaskurinäytön oletusfontilla.
Alustaa uuden arvolaskurinäytön annetulla fontilla.
Fontti tekstille ja arvolle.
Sitoo näytön arvon mittariin (ks.  IntMeter ).
Kuinka monta numeroa halutaan näyttää.
Jos  true , asetetaan desimaalien määrä. Muussa tapauksessa asetetaan merkitsevien numeroiden määrä.
Näkymä, johon halutaan piirtää.
Arvo, jos näyttöä ei ole sidottu laskuriin.
Formaattimerkkijono, jolla voidaan säädellä esimerkiksi
Laatikko, johon voi kirjoittaa tekstiä.
Näkymä, johon halutaan piirtää.
Tekstin marginaali leveyssuunnassa (vasen ja oikea reuna)
Tekstin marginaali pituussuunnassa (ylä- ja alareuna)
Tiedon tallentamiseen ja lataamiseen tarkoitettu luokka.
Käytä mieluummin peliluokan omaa, jos vain mahdollista.
Vapauttaa resurssit, kun olio tuhotaan.
Tila, jossa tiedosto avataan (luku, kirjoitus). Ks.  FileMode
Lataa olion tiedostosta. Tiedostoa ei tarvitse avata erikseen.
Olion tyyppi, esim. typeof(Double).
Tallentaa olion tiedostoon. Tiedostoa ei tarvitse avata erikseen.
Olion tyyppi, esim. typeof(Double).
Ikkunasta voi valita, tallennetaanko kovalevylle vai muistikortille.
true  if [media selection]; otherwise,  false .
A Ray Segment is a Ray that has a length. It can be used to represent
lasers or very fast projectiles.
The information of an intersection with another shape.
An collection of distances away from the Ray Segments.
The indexes match up with the Segments in the Ray Segments class.
A negative value means there was no intersection.
A shape that holds multiple Ray Segments and generates custom collision events
for when they intersect something. The Sequential Impulses Solver does not
handle collisions with this shape.
These are the normals for the original vertexes.
Applys drag and buoyancy to items on one side of a line;
this allows you to have platforms that are one way. like in platform games.
this allows you to have platforms that are one way. like in platform games.
This is a Proxy. That keeps 2 bodies velocities synchronized.
This is the other body to be Synchronized with.
This is the other body to be Synchronized with.
This is how the Velocity will be transformed when syncronized.
This is the inverted twin of this velocity. It's matrix will be invert of this one's.
And its body will be the body that contains this.
This is the Physical Body that collides in the engine.
Creates a new Body Instance.
The State of the Body.
The Shape of the Body.
The mass of the Body The inertia will be aquired from the Shape.
A object containing coefficients.
A object Describing how long the object will be in the engine.
Creates a new Body Instance.
The State of the Body.
The Shape of the Body.
A object describing the mass and inertia of the Body.
A object containing coefficients.
A object Describing how long the object will be in the engine.
This applys the proxy.
This will cause all other bodies in the proxy list to have their velocity set
With the appropriate transformations applied.
This will remove this body from any proxy list it is a part of.
Updates all the values caluclated from the State.Position.
Re-calculates the Matrices property the re-calculates the Rectangle property
Sets Acceleration and ForceAccumulator to Zero.
The direction and magnitude of the force
The direction and magnitude of the force
The direction and magnitude of the force
The Location where the force will be applied (Offset: Body Rotation: World)
The direction and magnitude of the force
The Location where the force will be applied (Offset: Body Rotation: World)
The direction and magnitude of the torque
The direction and magnitude of the impulse
The direction and magnitude of the impulse.
The direction and magnitude of the impulse.
The Location where the impulse will be applied (Offset: Body Rotation: World)
The direction and magnitude of the impulse.
The Location where the impulse will be applied (Offset: Body Rotation: World)
Raised when the Lifetime property has been Changed.
Raised when the Shape of the Body has been Changed.
Raised when the object is Added to the engine but is not yet part of the update process.
Raised when the object is added to a Physics Engine.
Raised when the object is Removed from a Physics Engine.
Raised when the Position has been Changed.
Raised by either the Solver or a call to ApplyMatrix.
Raised when the Body has been updated to a change in time.
Raised when the Body collides with another.
Raised when a joint is added that affects this body.
Raised when a joint is removed that affects this body.
This is the Baunding rectangle It is calculated on the call to apply matrix.
The Matrices that are tranfroming this bodies Shape.
Gets and Sets The value represents how much Linear velocity is kept each time step.
This Dampens the Body's Linear velocity a little per time step. Valid values are zero exclusive to one inclusive.
Gets and Sets The value represents how much Angular velocity is kept each time step.
This Dampens the Body's Angular velocity a little per time step. Valid values are zero exclusive to one inclusive.
These are bodies that are mirrors of this body.
It's useful for bodies that are being teleported.
The number of proxies that this body has.
Unique ID of a PhysicsEntity in the PhysicsEngine
Assigned on being Added.
Gets The PhysicsEngine the object is currently in. Null if it is in none.
Gets The current State of the object IE Velocity
Gets and Sets the Shape of the Body.
If setting the shape to a shape another body has it will duplicate the shape.
Gets The MassInfo of the body.
Gets and Sets the Ignore object that decides what collisons to ignore.
Gets and Sets the Ignore object that decides what collison events to ignore.
Gets and Sets the Coefficients for the class.
Gets and Sets the LifeTime of the object. The object will be removed from the engine when it is Expired.
Gets and Sets a User defined object.
Gets a Solver Defined object.
Gets a Detector Defined object.
Gets the Joints attached to this body.
Gets and Sets if the Body will ignore Gravity.
Gets and Sets if the Body will Ignore all Physics Logics
Gets and Sets if the Object will ignore the collison Responce but still generate the Collision event.
Gets and Sets if this body's shape's Vertexes will be used in collision detection.
Gets if it has been added the the Engine's PendingQueue, but not yet added to the engine.
Gets if the object has been added to the engine.
gets and sets if the body will have any collision detection ran on it.
Gets and Sets if other objects will have their collided
event raised when colliding with this body
Gets and Sets if the Body will trigger the Collided event at the broadphase level
Gets the Total Kinetic Energy of the Body.
Gets and Sets the Matrix2x3 that transforms the Shape belonging to the Body.
Ottaa käytöstä poistetun napin takaisin käyttöön.
Ottaa käytöstä poistetun analogiohjaimen takaisin käyttöön.
Poistaa analogiohjaimen (tikku tai nappi) käytöstä.
Palauttaa, onko yksikään ohjaimen nappi alhaalla.
Vasemmanpuoleisen moottorin tärinän määrä (maksimi 1).
Oikeanpuoleisen moottorin tärinän määrä (maksimi 1) .
Vasemmanpuoleisen moottorin tärinäkiihtyvyys (yksikköä sekunnissa).
Oikeanpuoleisen moottorin tärinäkiihtyvyys (yksikköä sekunnissa).
Aika, jonka tärinä kestää (sekunteina).
Vaihtelee välillä (-1, -1) - (1, 1)
Vaihtelee välillä (-1, -1) - (1, 1)
Vaihtelee välillä 0 - 1.
Vaihtelee välillä 0 - 1.
Yksinkertainen tykki, joka ampuu kuulia tai muuta ammuksia.
Aseen käyttämisen toteutus perityssä luokassa.
Tätä kutsutaan jos ase on valmiina käytettäväksi.
Ampuu aseella, jos kyseessä on ampuma-ase. Tekee saman kuin  Use ,
mutta palauttaa ammuksen tai  null , jos ampuminen ei onnistu
(esimerkiksi jos panokset ovat lopussa).
Tätä metodia käyttämällä pääsee muokkaamaan ammusta, esimerkiksi muuttamaan
sen fysiikkaominaisuuksia. Huomaa kuitenkin, että tällöin tulee aina
tarkistaa että ammus ei ole  null .
Ammuttu panos tai  null .
Voiko asetta valmiina käytettäväksi.
Ottaa huomioon tulinopeuden, ammukset jne.
Hyökkäysääni (pistoolin pamaus, miekan sivallus jne.)
Kuinka kauan kestää, että asetta voidaan käyttää uudestaan.
Voima, jolla kuula ammutaan. Nollautuu ammuttaessa.
Tapahtumankäsittelijä aseen ampumien luotien törmäykselle.
Luo uuden kranaatin, joka räjähtää kolmen sekunnin päästä.
Kuinka kauan kestää ennen räjähdystä.
Aika, jonka päästä ammus räjähtää itsestään.
Rypälepommi. Hajoaa räjähtäessään pienempiin osiin, jotka
voivat edelleen räjähtää pienempiin osiin.
Kuinka monta kertaa rypäleet hajoavat edelleen. Kuitenkin vähintään yhden kerran.
Sirpaleiden määrä, joka räjähdyksestä syntyy.
Sarja kuvia, jotka vaihtuvat halutulla nopeudella.
Yksi animaatio koostuu yhdestä tai useammasta kuvasta.
Eri peliolioille kannattaa yleensä tehdä oma animaatio-olio,
jotta niiden animaatiot voivat edetä eri tahtiin. Jos animaatioilla
on kuitenkin samat kuvat, kannattaa samaa kuvataulukkoa käyttää
Image[] kuvat = LoadImages("kuva1", "kuva2", "kuva3");
o1.Animation = new animation(kuvat);
o2.Animation = new Animation(kuvat);
Luo kopion jo tunnetusta animaatiosta.
Kuinka monta kertaa animaatio suoritetaan.
Jatkaa animaatiota siitä, mihin viimeksi jäätiin.
Pysäyttää animaation asettaen sen ensimmäiseen ruutuun.
Etenee animaatiossa halutun määrän ruutuja. Käytä negatiivisia arvoja, jos haluat
Etenee animaatiossa yhden ruudun eteenpäin.
Aktiivisen animaatioruudun indeksi (alkaa nollasta).
Animaation päivitysnopeus ruutuina sekunnissa (frames per second).
Tällä hetkellä näkyvä ruutu animaatiosta.
Jos  true , animaatio ei pysähtyessä palaa ensimmäiseen
A 3x3 matrix which can represent rotations around axes.
The number of rows.
The number of columns.
The number of Scalar values in the class.
The Size of the class in bytes;
Used to multiply (concatenate) two Matrix4x4s.
Used to multiply a Matrix3x3 object by a scalar value..
Used to multiply (concatenate) a Matrix3x3 and a Matrix2x2.
Used to multiply (concatenate) a Matrix3x3 and a Matrix2x2.
Used to add two matrices together.
Used to subtract two matrices.
Constructs this Matrix from 3 euler angles, in degrees.
Creates a new Matrix3 with all the specified parameters.
Create a new Matrix from 3 Vertex3 objects.
Multiply (concatenate) two Matrix3 instances together.
Multiply (concatenate) a Matrix3x3 and a Matrix2x2
Multiply (concatenate) a Matrix3x3 and a Matrix2x2
Multiplies all the items in the Matrix3 by a scalar value.
Multiplies all the items in the Matrix3 by a scalar value.
Used to add two matrices together.
Used to subtract two matrices.
Negates all the items in the Matrix.
Test two matrices for (value) equality
Swap the rows of the matrix with the columns.
Listanäyttö, joka näyttää merkkijonoja allekkain.
Merkkijonot eivät ole valittavia (käytä  SelectionList -luokkaa jos haluat
listan, josta voi valita)
ListView lista = new ListView( this );
Alustaa uuden listanäytön annetuilla fonteilla.
Alustaa uuden listanäytön oletusfonteilla.
Peli, johon näyttö lisätään.
Näkymä, johon halutaan piirtää.
Fontti, jolla merkkijonot piirretään.
Väri, jolla merkkijonot piirretään.
Yhden merkkijonon korkeus pikseleinä.
Kahden merkkijonon väliin jätettävä tila pikseleinä.
Negatiivinen arvo = ei korostusta.
Ääniefekti. Yhdestä efektistä voi luoda  CreateSound -metodilla monta ääntä ( Sound ),
jotka voivat soida yhtäaikaa. Ääntä ei tarvitse kuitenkaan luoda itse, jos vain kutsuu
Sovittaa taustakuvan kentän kokoiseksi.
Sovittaa taustakuvan kentän kokoiseksi.
Kenttä, johon taustakuva sovitetaan.
Liikkuuko taustakuva kameran mukana vai ei.
true  jos liikkuu; muuten  false .
Jos halutaan kaksinkertainen kuva, niin laitetaan skaalaksi 2, puolet pienemmän kuvan skaala on vastaavasti 0.5.
Class Used to store a Linear Value along with an Angular Value. Like Position and Orientation.
This is the Angular value of this ALVector2D.
Example: Angular would be Orientation and Linear would be Location Completly describing a Position.
This is the Linear value of this ALVector2D.
Example: Angular would be Orientation and Linear would be Location Completly describing a Position.
Creates a new ALVector2D instance on the stack.
Does Addition of 2 ALVector2Ds.
The left ALVector2D operand.
The right ALVector2D operand.
The Sum of the ALVector2Ds.
Does Subtraction of 2 ALVector2Ds.
The left ALVector2D operand.
The right ALVector2D operand.
The Difference of the ALVector2Ds.
Does Multiplication of 2 ALVector2Ds
The ALVector2D to be Multiplied.
The Product of the ALVector2Ds.
It does normal Multiplication of the Angular value but does Scalar Multiplication of the Linear value.
Does Multiplication of 2 ALVector2Ds
The ALVector2D to be Multiplied.
The Product of the ALVector2Ds.
It does normal Multiplication of the Angular value but does Scalar Multiplication of the Linear value.
Parametrit analogisen ohjauksen (hiiren tai ohjaustikun) tapahtumalle.
Arvo on välillä 0.0 - 1.0.
Muutos peliohjaimen analoginäppäimen paikassa.
Analogisen Ohjainsauvan paikka. Arvo on (0, 0) kun sauva on keskellä.
X- sekä Y-koordinaattien arvot ovat välillä -1.0 - 1.0.
Parameters for mouse events.
Parameters for gamecontroller events.
Liekki, jonka tekstuuria ja suuntaa voi muuttaa
Tekstuuri, jota liekissä käytetään
Liekki, jolla on kaksi tekstuuria
Tekstuuri, jota liekissä käytetään
Liekki, jonka maksimi partikkeleiden määrää voi muuttaa
Tekstuuri, jota liekissä käytetään
Suurin mahdollinen määrä partikkeleita joita järjestelmä voi käyttää
Liekki, jonka tekstuureja, partikkeleiden määrää ja suuntaa voi muuttaa
Tekstuuri, jota liekissä käytetään
Suurin mahdollinen määrä partikkeleita joita järjestelmä voi käyttää
Lasketaan liekin suunnalle satunnaisuutta
A 2x3 matrix which can represent rotations around axes.
The number of rows.
The number of columns.
The number of Scalar values in the class.
The Size of the class in bytes;
Used to multiply (concatenate) two Matrix4x4s.
Used to multiply a Matrix2x3 object by a scalar value..
Used to multiply (concatenate) a Matrix2x3 and a Matrix2x2.
Used to multiply (concatenate) a Matrix2x3 and a Matrix2x2.
Used to add two matrices together.
Used to subtract two matrices.
Creates a new Matrix3 with all the specified parameters.
Create a new Matrix from 3 Vertex3 objects.
Multiply (concatenate) two Matrix3 instances together.
Multiply (concatenate) a Matrix2x3 and a Matrix2x2
Multiply (concatenate) a Matrix2x3 and a Matrix2x2
Multiplies all the items in the Matrix3 by a scalar value.
Multiplies all the items in the Matrix3 by a scalar value.
Used to add two matrices together.
Used to subtract two matrices.
Negates all the items in the Matrix.
Test two matrices for (value) equality
Swap the rows of the matrix with the columns.
Describes a change to an object's state that affects
how it is drawn.
Animation or an image is changed.
The size has been changed.
The shape has been changed.
Child objects have been added or removed.
Peli, johon voi lisätä pintoja, joiden päällä oliot voivat liukua. Peliin lisätyt  PhysicsObject -oliot
käyttäytyvät fysiikan lakien mukaan.
Objects that have changed their state and thus need to be moved
to a slower bucket.
The bucket that is used to draw objects when all else fails.
A bucket with better performance for objects that ONLY move and rotate.
Käynnistää pelin. Tämän jälkeen jatketaan aliohjelmasta  Begin .
Lisää olion peliin, kerrokseen 0.
Lisää valon peliin. Nykyisellään valoja voi olla ainoastaan
Valojen käyttö vaatii, että näytönohjain tukee Pixel Shader 2.0
-standardia. Jos näin ei ole, valaistusta ei näy.
Lisää peliolion peliin, tiettyyn kerrokseen.
Kerros, luku väliltä [-3, 3].
Poistaa olion pelistä. Jos haluat tuhota olion,
kutsu mielummin olion  Destroy -metodia.
Oliota ei poisteta välittömästi, vaan viimeistään seuraavan
Toteuttaa olion poistamisen pelistä. Älä kutsu tätä suoraan pelissä, käytä mielummin
pelioliolle  o  metodia  o.Destroy() .
Nollaa kaiken (kontrollit, näyttöobjektit ja ajastimet).
Poistaa kaikki ruutuoliot (myös ikkunat).
Jos samaa ääntä tarvitsee soittaa useaan kertaan tai jos haluat asettaa äänelle parametreja,
kannattaa ääniefekti ladata kerran pelin alussa  LoadSoundEffect() -kutsulla.
Kun ääniefekti on ladattu  SoundEffect -oliona, äänen voi soittaa käyttämällä
Ajetaan kun pelin tilannetta päivitetään. Päivittämisen voi toteuttaa perityssä luokassa
toteuttamalla tämän metodin. Perityn luokan metodissa tulee kutsua kantaluokan metodia.
This gets called after the GraphicsDevice has been created. So, this is
the place to initialize the resources needed in the game. Except the graphics content,
which should be called int LoadContent(), according to the XNA docs.
XNA calls this when graphics resources need to be loaded.
Note that this can be called multiple times (whenever the graphics device is reset).
Looks for objects that haven't changed their state
for a while and tries to move them to a faster bucket.
Moves objects, that have changed their state, to the
default bucket (in most cases). This way, the fast bucket
can continue to make assumptions about the objects it
contains and thus draw them fast.
Asettaa ikkunan koon työpöydän resoluution mukaiseksi ja alustaa pelin käyttämään joko ikkunaa tai koko ruutua.
Kutsu heti LoadContentin alussa:
Koko ruutu jos  true , muuten ikkuna.
Asettaa ikkunan koon ja alustaa pelin käyttämään joko ikkunaa tai koko ruutua.
protected override void Initialize()
SetWindowSize( 1024, 768, false );
Koko ruutu jos  true , muuten ikkuna.
Sitoo kontrollien ohjeet viestinäyttöön ja haluttuihin nappeihin.
Tämän jälkeen nappeja painamalla pelaaja saa automaattisesti ohjeen esille.
Napit, joita painamalla ohjeen saa näkyviin.
Asettaa halutun ikkunan aktiiviseksi.
Näyttää halutun ikkunan ruudulla.
Palauttaa oletusfontin fontin nimellä.
Kamera, joka näyttää ruudulla näkyvän osan kentästä.
Kameraa voidaan siirtää, zoomata tai asettaa seuraamaan tiettyä oliota.
Kentän reunat näkyvissä tai pois näkyvistä.
Huomaa, että tämä ominaisuus ei vaikuta reunojen törmäyskäsittelyyn.
Väri, jolla kentän reunat piirretään.
Kirjaston mukana tuleva sisältö.
Voidaan käyttää esimerkiksi tekstuurien lataamiseen.
Näytön dimensiot, eli koko ja reunat.
Viestinäyttö, johon voi laittaa viestejä.
Tietovarasto, johon voi tallentaa tiedostoja pidempiaikaisesti.
Sopii esimerkiksi pelitilanteen lataamiseen ja tallentamiseen.
Vain valittu (fokusoitu) olio voii kuunnella näppäimistöä ja muita ohjainlaitteita.
Peliolio on aina valittavissa.
Aktiiviset kontrollit osoittavat aina päällimmäisen ikkunan kontrolleihin, tai jos
ikkunoita ei ole näkyvissä, pelin kontrolleihin.
Peliaika. Tätä päivitetään noin 30 kertaa sekunnissa.
Tuuli. Vaikuttaa vain efekteihin
Aktiivinen (yleensä päällimmäinen) ikkuna.
Teksti, joka näkyy pelin ikkunassa (jos peli ei ole koko ruudun tilassa).
This implements the XNA Game class.
By having this class separate from the Jypeli game class, we get
- Less stuff to be seen in intellisense.
- No need to wonder if one should override Initialize(), LoadContent() etc.
Lisää peliin pinnan, jonka päällä muut oliot voivat liukua.
Pinnalle asetetaan automaattisesti  IgnoresCollisionResponse  arvoon  true .
Nollaa kaiken (kontrollit, näyttöobjektit, ajastimet ja fysiikkamoottorin).
Ajetaan kun pelin tilannetta päivitetään. Päivittämisen voi toteuttaa perityssä luokassa
toteuttamalla tämän metodin. Perityn luokan metodissa tulee kutsua kantaluokan metodia.
Määrittää metodin, jota kutsutaan kun
olio  o  törmää johonkin.
Metodi, joka käsittelee törmäyksen.
The surfaces on which other objects may slide.
The purpose of having surfaces in a separate list is to
have less checks between objects and thus keep the performance
good. Although the worst-case scenario is still O(n^2), this
happens only when there are a lot of surfaces. One way to
optimize that might be to store the surfaces in a spatial hash.
It might make sense not to add the surfaces to the physics engine at all.
Or to have only IShape objects as surfaces instead of physics objects.
Although someone might of course want to listen collisions for surfaces.
Onko fysiikan laskenta käytössä vai ei.
Painovoima. Mitä suurempi painovoima, sitä suurempi liikekitka
Liikekitka pinnalla. Tätä arvoa käytetään, kun liikkuva kappale
ei ole minkään lisätyn pinnan päällä. Arvot tyypillisesti välillä
0.0 - 1.0 .
Alustaa piirtämisen tietylle näkymälle.
Kutsutaan pelin alussa, yleensä vain kerran.
Vapauttaa olion varaamat resurssit sen tuhoutuessa.
Kutsutaan, kun aloitetaan piirtäminen. Piirtämisen jälkeen tulee kutsua metodia  End .
Kutsutaan, kun aloitetaan piirtämään ruutukoordinaateissa. Piirtämisen jälkeen tulee kutsua metodia  End .
Kutsutaan, kun lopetetaan piirtäminen. Voidaan kutsua ainoastaan Begin:in jälkeen.
Tekstin keskipiste (0,0 on keskellä).
Piirtää tekstiä kuvan päälle.
Voi piirtää tekstuurin myös useaan kertaan peräkkäin.
Kuinka monta kertaa Kuva piirretään peräkkäin.
Piirtää kuvion niin, että tekstuuri täyttää sen.
Piirtää kuvion, joka on väritetty värillä  color .
Piirtää vertices-taulukon muodostaman monikulmion.
Rakentaa maailmanmatriisin (vastaa muunnoksesta maailmankoordinaatiston ja
A strongly-typed resource class, for looking up localized strings, etc.
Returns the cached ResourceManager instance used by this class.
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
Näyttää palkin, jonka korkeutta voi säätää.
Näkymä, johon halutaan piirtää.
Mittari, johon palkin arvo on sidottu (ks.  BindTo ).
Null, jos arvoa ei ole sidottu mihinkään.
Kulma, jossa palkki piirretään.
Nollakulma = vasemmalta oikealle.
Jos palkkia ei ole sidottu laskuriin, käyttää sisäistä laskuria.
Huomaa, että arvon muuttaminen muuttaa myös laskurin arvoa!
A joint that makes a single Body Pivot around an Anchor.
The distance the joint can stretch before breaking.
Mediasoitin, jolla voi soittaa musiikkikappaleita.
Äänenvoimakkuus välillä 0.0 - 1.0.
Onko mediasoitin hiljaisella vai ei.
Draw() calls should be made between Begin() and End() calls.
No other drawing operations should be done between Begin() and
The positions of images are added to a buffer. Only when
the buffer is full, a draw call is made to the graphics device.
Etäisyys kohtisuoraan 2D-tasosta. Mitä kauempana valo on,
sitä laajemman alueen se valaisee.
Voimakkuus väliltä [0.0, 1.0].
A 2x2 matrix which can represent rotations for 2D vectors.
The number of rows.
The number of columns.
The number of Scalar values in the class.
The Size of the class in bytes;
Used to multiply (concatenate) two Matrix4x4s.
Used to multiply a Matrix2x2 object by a scalar value..
Used to add two matrices together.
Used to subtract two matrices.
Creates a new Matrix3 with all the specified parameters.
Create a new Matrix from 3 Vertex3 objects.
Multiply (concatenate) two Matrix3 instances together.
Used to add two matrices together.
Used to subtract two matrices.
Multiplies all the items in the Matrix3 by a scalar value.
Multiplies all the items in the Matrix3 by a scalar value.
Negates all the items in the Matrix.
Test two matrices for (value) equality
The X Row or row zero.
The Y Row or row one.
Swap the rows of the matrix with the columns.
Tekstikentän koko on käyttäjän asettama.
Tekstikentän koko asetetaan tekstin koon mukaan.
Teksti rivitetään tekstikentän leveyden mukaan.
Näyttää listan merkkijonoja, joista käyttäjä saa valita nuolinäppäimillä.
ListSelectionWindow ikkuna = new ListSelectionWindow();
Kutsutaan, kun listasta valitaan elementti.
Lisää listaan uuden elementin.
Päivittää listan koon ruudulla.
Etsii listasta elementin annetulla otsikolla.
Palauttaa null, jos elementtiä ei löydy.
Tapahtuu, kun listasta valitaan elementti.
A class that will apply Force to move an object to a certain point and stop it once it gets there.
Creates a new MoveToPointLogic object.
The Body this logic will act on.
The Point it will move the Body too.
The maximum acceleration to be applied to the Body
Creates a new MoveToPointLogic object.
The Body this logic will act on.
The Point it will move the Body too.
The maximum acceleration to be applied to the Body
The maximum velocity this logic will accelerate the Body too.
A PhysicsLogic to causes a Gravity a a certain point with zero dropoff.
Creates a new GravityPointField Instance.
The location of the Gravity point.
A class used by some Shape Objects for Narrow Phased collision.
Yksinkertainen tankki eli panssarivaunu.
Teho välillä  -1.0 - 1.0
Ampuu tankin tykillä, jos ammuksia on vielä jäljellä.
Tankin koko. Tätä ei voi muuttaa.
Kun nämä menevät nollaan, tankki hajoaa.
Tasohyppelypelin hahmo. Voi liikkua ja hyppiä.
Hyppää, jos hahmo on staattisen olion päällä.
true  jos hyppäys onnistui.
Checks if the character is located on top of the target.
How close must the distance on the y-axis be, relative to  Height
The physics are never quite perfect and it is possible
for objects to partly get inside each other. This checks
if this is the case.
Ajetaan kun pelitilannetta päivitetään. Päivityksen voi toteuttaa omassa luokassa toteuttamalla tämän
metodin. Perityn luokan metodissa tulee kutsua kantaluokan metodia.
Hahmon rintamasuunta (vasen tai oikea).
Jos  false , hahmoa ei voi liikuttaa kun se on ilmassa.
Kävelyanimaatio oikealle. Voi olla sama kuin
Animaatio, jota käytetään kun hahmo on paikallaan,
Animaatio, jota käytetään kun hahmo on paikallaan,
Sisältää näkymän leveyden ja korkeuden sekä reunojen koordinaatit.
Muuntaa näkymään suhteessa olevat koordinaatit ylemmän tason koordinaateiksi.
Muuntaa ylemmän tason koordinaatit näkymään suhteellisiksi.
Kulma, johon näkymä on käännetty.
Huom. ei välttämättä toimi kaikilla näkymillä.
Näkymän "turvallinen" ts. laiteriippumaton leveys x-suunnassa.
Näkymän "turvallinen" ts. laiteriippumaton korkeus y-suunnassa.
Näkymän vasemman reunan x-koordinaatti.
Näkymän oikean reunan x-koordinaatti.
Näkymän yläreunan "turvallinen" ts. laiteriippumaton y-koordinaatti.
Näkymän alareunan "turvallinen" ts. laiteriippumaton y-koordinaatti.
Näkymän vasemman reunan "turvallinen" ts. laiteriippumaton x-koordinaatti.
Näkymän oikean reunan "turvallinen" ts. laiteriippumaton x-koordinaatti.
Sisältää näytön leveyden ja korkeuden sekä reunojen koordinaatit.
Koordinaatteja ei voi muuttaa.
Ei käytössä, sillä näyttökoordinaatit ovat kaikkein ylin koordinaatistotaso.
Ei käytössä, sillä näyttökoordinaatit ovat kaikkein ylin koordinaatistotaso.
Kulma, johon näkymä on käännetty.
Näytön vasemman reunan x-koordinaatti.
Näytön oikean reunan x-koordinaatti.
Näytön "turvallinen" ts. laiteriippumaton leveys x-suunnassa.
Näytön "turvallinen" ts. laiteriippumaton korkeus y-suunnassa.
Näytön vasemman reunan "turvallinen" ts. laiteriippumaton x-koordinaatti.
Näytön oikean reunan "turvallinen" ts. laiteriippumaton x-koordinaatti.
Näytön yläreunan "turvallinen" ts. laiteriippumaton y-koordinaatti.
Näytön alareunan "turvallinen" ts. laiteriippumaton y-koordinaatti.
Sisältää ikkunan sijainnin, leveyden ja korkeuden sekä reunojen koordinaatit.
Muuntaa ylemmän tason koordinaatit ikkunanäkymään suhteellisiksi.
Muuntaa ikkunanäkymään suhteessa olevat koordinaatit ylemmän tason koordinaateiksi.
Muuntaa ikkunanäkymään suhteessa olevat koordinaatit ylemmän tason koordinaateiksi
suhteellisen origon huomioon ottaen.
Älä käytä muuten kuin piirtäessä!
Ikkunan x-koordinaatti ylemmällä tasolla.
Ikkunan y-koordinaatti ylemmällä tasolla.
Ikkunan origon X-paikka piirrettäessä (vasen/oikea reuna tai keskellä)
Ikkunan origon Y-paikka piirrettäessä (ylä-/alareuna tai keskellä)
Ikkunan keskipiste piirrettäessä ikkunan omissa koordinaateissa.
Kulma, johon ikkuna on käännetty.
Ikkunan vasemman reunan x-koordinaatti.
Ikkunan oikean reunan x-koordinaatti.
Ikkunan piirtoalueen leveys x-suunnassa.
Ikkunan piirtoalueen korkeus y-suunnassa.
Ikkunan piirtoalueen vasemman reunan x-koordinaatti.
Ikkunan piirtoalueen oikean reunan x-koordinaatti.
Ikkunan piirtoalueen yläreunan y-koordinaatti.
Ikkunan piirtoalueen alareunan y-koordinaatti.
Alustaa uuden murtolukulaskurinäytön oletusfontilla.
Alustaa uuden murtolukulaskurinäytön annetulla fontilla.
Fontti tekstille ja arvolle.
Sitoo näytön arvon mittariin (ks.  IntMeter ).
Näkymä, johon halutaan piirtää.
Meter -laskuri, josta arvo luetaan.
Jos null, käyttää omaa sisäistä arvoaan.
Osoittaja, jos näyttöä ei ole sidottu laskuriin.
Nimittäjä, jos näyttöä ei ole sidottu laskuriin.
Merkkijono, joka erottaa osoittajan ja nimittäjän toisistaan.
Oletuksena " / ".
Luokka, joka sisältää metodeita kuvioiden ja tekstuurien piirtämiseen 2D-tasossa.
Toteutus on yksinkertainen ja siten hidas. Jos on paljon samankaltaisia piirrettäviä
kohteita, niin käytä mielummin Batch-luokkia.
Vertices for drawing filled rectangles.
Indices for drawing filled rectangles.
Vertices for drawing a filled triangle.
Vertices for drawing filled circles.
Vertex indices for drawing filled circles.
Piirtää kuvion niin, että tekstuuri täyttää sen.
A shape that contains multiple polygons.
contains some methods to do physics calculations.
A collision ignorer that uses group numbers to do collision ignoring.
If a object is member of a group that the other body is ignoring then they will not collide.
The Sweep and Prune detector should be O(nlogn), but can be O(n^2) if everything is colliding.
Describes the Coefficients of a surface.
AKA Bounciness. This is how much energy is kept as kinetic energy after a collision.
Asettelee widgetit riviin vaakasuunnassa.
Olioiden väliin jäävä tyhjä tila.
Asettelee widgetit päällekäin, järjestyksessä ylhäältä alas.
Olioiden väliin jäävä tyhjä tila.
Clamps a value between 2 values, but wraps the value around. So that one plus max would result in one plus min.
the value to clamp
Clamps a value between 2 values, but wraps the value around. So that one plus max would result in one plus min.
the value to clamp
Trys to Solve for x in the equation: (a * (x * x) + b * x + c == 0)
The result of (b + Math.Sqrt((b * b) - (4 * a * c))) / (2 * a)
The result of (b - Math.Sqrt((b * b) - (4 * a * c))) / (2 * a)
if an error would have been thrown; otherwise  .
Converts degrees to radians.
Converts radians to degrees.
A collision ignorer that uses group numbers to do collision ignoring.
If 2 objects are members of the same group then they will not collide.
Ruutukartta, jonka avulla olioita voidaan helposti asettaa tasavälein ruudukkoon.
Ruutukartta koostuu kirjoitusmerkeistä ( char ), joihin voi liittää
aliohjelman, joka luo merkkiä vastaavan olion.
Asettaa oliot kenttään aiemmin annettujen merkkien perusteella.
Huom! Tiilien asettaminen muuttaa kentän kokoa. Jos lisäät kenttään reunat
tai zoomaat kameraa, tee se vasta tämän aliohjelman kutsun jälkeen.
Lukee kentän ruudut tiedostosta.
Kentän ruudut kaksiulotteisessa taulukossa
Asettaa merkin vastaamaan aliohjelmaa, joka luo olion.
This is the Vector Class.
The number of int values in the class.
The Size of the class in bytes;
The left Point operand.
The right Point operand.
The Sum of the 2 Points.
The left Point operand.
The right Point operand.
The Difference of the 2 Points.
Does Scaler Multiplication on a Point.
The scalar value that will multiply the Point.
The Point to be multiplied.
The Product of the Scaler Multiplication.
The Point to be Negated.
This is the X value. (Usually represents a horizontal position or direction.)
This is the Y value. (Usually represents a vertical position or direction.)
Creates a New Point Instance on the Stack.
The left Point operand.
The right Point operand.
The Sum of the 2 Points.
The left Point operand.
The right Point operand.
The Difference of the 2 Points.
Does Scaler Multiplication on a Point.
The Point to be multiplied.
The scalar value that will multiply the Point.
The Product of the Scaler Multiplication.
Does Scaler Multiplication on a Point.
The scalar value that will multiply the Point.
The Point to be multiplied.
The Product of the Scaler Multiplication.
The Point to be Negated.
Specifies whether the Points contain the same coordinates.
The left Point to test.
The right Point to test.
true if the Points have the same coordinates; otherwise false
Specifies whether the Points do not contain the same coordinates.
The left Point to test.
The right Point to test.
true if the Points do not have the same coordinates; otherwise false
Converts the numeric value of this instance to its equivalent string representation, using the specified format.
the format for each scaler in this Vector
Provides a unique hash code based on the member variables of this
class. This should be done because the equality operators (==, !=)
have been overriden by this class.
The standard implementation is a simple XOR operation between all local
Compares this Vector to another object. This should be done because the
equality operators (==, !=) have been overriden by this class.
Gets or Sets the Magnitude (Length of a Vector).
Gets the Squared Magnitude (IE Magnitude*Magnitude).
Gets the Normalized Vector. (Unit Vector)
Törmäystapahtumiin liitettävän metodin tyyppi. Törmäyksen käsittelevällä
metodilla ei ole paluuarvoa ja se ottaa yhden  Collision -tyyppisen
Peli, jossa on fysiikan laskenta mukana. Peliin lisätyt  PhysicsObject -oliot
käyttäytyvät fysiikan lakien mukaan.
Luo uuden liitoksen, jolla voi liittää kaksi oliota joustavasti toisiinsa.
Nollaa kaiken (kontrollit, näyttöobjektit, ajastimet ja fysiikkamoottorin).
Ajetaan kun pelin tilannetta päivitetään. Päivittämisen voi toteuttaa perityssä luokassa
toteuttamalla tämän metodin. Perityn luokan metodissa tulee kutsua kantaluokan metodia.
Määrittää metodin, jota kutsutaan kun
olio  o  törmää johonkin.
Metodi, joka käsittelee törmäyksen.
Onko fysiikan laskenta käytössä vai ei.
Painovoima. Voimavektori, joka vaikuttaa kaikkiin ei-staattisiin kappaleisiin.
Use this to Represent a Polygon in the engine
Creates a new Polygon Instance.
the vertexes that make up the shape of the Polygon
How large a grid cell is. Usualy you will want at least 2 cells between major vertexes.
The smaller this is the better precision you get, but higher cost in memory.
The larger the less precision and if it's to high collision detection may fail completely.
How hard it is to turn the shape. Depending on the construtor in the
Body this will be multiplied with the mass to determine the moment of inertia.
Savu, johon vaikuttaa tuuli
Savu, johon vaikuttaa tuuli ja jonka tekstuuria voi vaihtaa
Tekstuuri, jota savussa käytetään
Tuulen nopeus mikä vaikuttaa savuun
Savu, johon vaikuttaa tuuli ja jonka tekstuuria ja leveyttä voi vaihtaa
Tekstuuri, jota savussa käytetään
Tuulen nopeus mikä vaikuttaa savuun
Lasketaan savun suunnalle satunnaisuutta
Creates a new BoundingRectangle Instance from 2 Vector2Ds.
The Max and Min values are automatically determined.
Creates a new BoundingRectangle Instance from multiple Vector2Ds.
the list of vectors
The Max and Min values are automatically determined.
Makes a BoundingRectangle that can contain the 2 BoundingRectangles passed.
The BoundingRectangle that can contain the 2 BoundingRectangles passed.
Makes a BoundingRectangle that contains the area where the BoundingRectangles Intersect.
The BoundingRectangle that can contain the 2 BoundingRectangles passed.
Creates a new BoundingRectangle Instance.
The Lower Bound on the XAxis.
The Lower Bound on the YAxis.
The Upper Bound on the XAxis.
The Upper Bound on the YAxis.
Creates a new BoundingRectangle Instance from 2 Vector2Ds.
A strongly-typed resource class, for looking up localized strings, etc.
Returns the cached ResourceManager instance used by this class.
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
The State of a PhysicsTimer
The PhysicsTimer is Paused.
The PhysicsTimer's calls to the Callback are on time.
The PhysicsTimer's calls to the Callback are behind schedule.
The PhysicsTimer's calls to the Callback are delayed to be on time.
The PhysicsTimer is Disposed.
A Callback used by the PhysicsTimer
The change in time.
A class to update the PhysicsEngine at regular intervals.
Creates a new PhysicsTimer Instance.
The callback to call.
The target change in time. (in seconds)
Gets or sets a value indicating whether or not the thread that runs the time is a background thread.
Gets and Sets if the PhysicsTimer is currently calling the Callback.
Gets and Sets the desired Interval between Callback calls.
Gets the current State of the PhysicsTimer.
Gets and Sets the current Callback that will be called.
A collection that stores ints that represent groups
Trys to add a group.
The group ID to add.
false if the ignorer was already part of the group; otherwise false.
adds an array of group ids.
The array of group IDs. (this will be sorted)
the number of IDs that were not already part of the group.
returns true if the ignorer is part of the group.
true if the ignorer is part of the group; otherwise false.
returns the number of groups in the array it is part of.
The array of group IDs. (this will be sorted)
The number of groups in the array it is part of.
Trys to remove the ignorer from a group.
true if the ignore was part of the group; otherwise false.
Trys to remove the ignorer from a range of groups.
The array of group IDs. (this will be sorted)
the number of groups the ignore was removed from.
returns if the 2 ignores are not part of the same group.
true if they are not part of the same group; otherwiase false.
removes the ignorer from all groups.
Gets the number of collison Groups the ignorer is part of.
Full name is Frame Coherent Sweep and Prune.
This class is used to isolate the AABB pairs that are currently in a collision
state without having to check all pair combinations. It relies heavily on frame
coherence or the idea that objects will typically be near their last position
from frame to frame. The class caches the various state information and doesn't
update it unless an extent on an axis "swaps" positions with its neighbor.
Note: If your application has "teleporting" objects or objects that are
extremely high-speed in relation to other objects, then this Sweep and Prune
Test AABB collisions between two geometries. Tests include checking if the
geometries are enabled, static, in the right collision categories, etc.
Returns true if there is a collision, false otherwise
This method is used by the PhysicsSimulator to notify Sweep and Prune that
new geometry is to be tracked.
The geometry to be added
Updates the values in the x and y extent lists by the changing aabb values.
Iterates over the collision pairs and creates arbiters.
Incrementally updates the system. Assumes relatively good frame coherence.
This function can be used for times when frame-coherence is temporarily lost
or when it is simply more convenient to completely rebuild all the cached
data instead of incrementally updating it. Currently it is used after
removing disposed/removed geometries. If your application had an object
that teleported across the universe or some other situation where
frame-coherence was lost, you might consider this function.
This class keeps a list of information that relates extents to geometries.
This class is used to keep track of the pairs of geometry that need to be
passed on to the narrow phase. The keys stored in the dictionary are
the actual geometry pairs (the boolean value is currently unused).
NOTE: May eventually want to add OnEnterCollisionState /
OnExitCollisionState callbacks which might be useful for debugging
or possibly in user applications.
Houses collision pairs as geom1 and geom2. The pairs are always ordered such
that the lower id geometry is first. This allows the CollisionPairDictionary
to have a consistent key / hash code for a pair of geometry.
This class represents a single extent of an AABB on a single axis. It has a
reference to ExtentInfo which has information about the geometry it belongs
Represents a lists of extents for a given axis. This list will be kept
Incrementally sorts ExtentList. It is assumed that there is a high level
of frame coherence and that much of the list is already fairly well
sorted. This algorithm makes use of "insert sort" which is notoriously
slow - except for when a list is already almost sorted - which is the
case when there is high frame coherence.
This class contains represents additional extent info for a particular axis
It has a reference to the geometry whose extents are being tracked. It
also has a min and max extent reference into the ExtentList itself.
The class keeps track of overlaps with other geometries.
The matrix that is multiplied against to transform a vertex from relative
to the Body to the vertex relative to the World.
The matrix that is multiplied against to transform a vertex from relative
to the World to the vertex relative to the Body.
The matrix that is multiplied against to transform a normal (unit vector) from relative
to the Body to the normal relative to the World.
A class that keeps a value clamped.
Creates a new Clamped instance all values being zero.
Creates a new Clamped instance with zero being either the max or min.
The min or max and the current value.
Creates a new Clamped instance.
The minimum possible value.
The maximum possible value.
Sets it to its maximum value;
Sets it to its minimum value;
Adds a value to the clamped vaule and returns the overflow/underflow.
The Value to add.
Adds a value to the clamped vaule and returns the overflow/underflow.
The Value to add.
Sets all the values at once.
The minimum possible value.
The maximum possible value.
Gets and Sets the current value.
Gets and Sets the minimum value.
Gets and Sets the maximum value.
Gets and Sets the percent with Min being 0 (0%) and Max being 1 (100%)
Gets if the value is at its maximum value;
Gets if the value is at its minimum value;
Kuittaa (eli piilottaa) viestilaatikon.
Tapahtuu, kun käyttäjä on kuitannut viestilaatikon. Kuittaus tapahtuu
joko painamalla näppäimistöstä enteriä, gamepadin A-nappia tai
A PhysicsLogic to causes a Body to have a realistic pull of Gravity with a exponential drop-off.
Creates a new GravityPointMass Instance.
The body that will be the source of gravity.
A object Describing how long the object will be in the engine.
Creates a new GravityPointMass Instance.
The body that will be the source of gravity.
The scale of of the universe.
A object Describing how long the object will be in the engine.
This class holds the variables usually changed mulitple times each update like the postion of an object.
This is Position and Orientation.
Angular and Linear Velocity.
Angular and Linear Acceleration.
Päivittää partikkelin sijannin, nopeuden ja kierron
Onko partikkelin "elossa", eli päivitetäänkö ja piirretäänkö se
Partikkelin tämän hetkinen ikä
This is the Vector Class.
The number of Scalar values in the class.
The Size of the class in bytes;
Binds a value to
Creates a Vector2D With the given length ( ) and the given  .
The length ( ) of the Vector2D to be created
The angle of the from the ( ) in Radians
a Vector2D With the given length and angle.
would create a Vector2D equil to
would create a Vector2D equil to
The   in radians of the amount it is to be rotated.
The Vector2D to be Rotated.
Sets the   of a Vector2D without changing the  .
The Vector2D to have its Angle set.
The angle of the from the ( ) in Radians
A Vector2D with a new Angle.
Determines the current   in radians of the Vector2D and Returns it.
The Vector2D of whos angle is to be Determined.
The   in radians of the Vector2D.
The left Vector2D operand.
The right Vector2D operand.
The Sum of the 2 Vector2Ds.
The left Vector2D operand.
The right Vector2D operand.
The Difference of the 2 Vector2Ds.
Uses a matrix multiplication to Transform the vector.
The Vector to be transformed
Uses a matrix multiplication to Transform the vector.
The Vector to be transformed
Uses a matrix multiplication to Transform the vector.
The Vector to be transformed
Does Scaler Multiplication on a Vector2D.
The scalar value that will multiply the Vector2D.
The Vector2D to be multiplied.
The Product of the Scaler Multiplication.
Does a Dot Operation Also know as an Inner Product.
The left Vector2D operand.
The right Vector2D operand.
The Dot Product (Inner Product).
Does a "2D" Cross Product also know as an Outer Product.
The left Vector2D operand.
The right Vector2D operand.
The Z value of the resulting vector.
This 2D Cross Product is using a cheat. Since the Cross product (in 3D space)
always generates a vector perpendicular (orthogonal) to the 2 vectors used as
arguments. The cheat is that the only vector that can be perpendicular to two
vectors in the XY Plane will parallel to the Z Axis. Since any vector that is
parallel to the Z Axis will have zeros in both the X and Y Fields I can represent
the cross product of 2 vectors in the XY plane as single scalar: Z. Also the
Cross Product of and Vector on the XY plan and that of one ont on the Z Axis
will result in a vector on the XY Plane. So the ZCross Methods were well thought
out and can be trusted.
Does a "2D" Cross Product also know as an Outer Product.
The Z value of the left vector operand.
The right Vector2D operand.
The Vector2D that fully represents the resulting vector.
This 2D Cross Product is using a cheat. Since the Cross product (in 3D space)
always generates a vector perpendicular (orthogonal) to the 2 vectors used as
arguments. The cheat is that the only vector that can be perpendicular to two
vectors in the XY Plane will parallel to the Z Axis. Since any vector that is
parallel to the Z Axis will have zeros in both the X and Y Fields I can represent
the cross product of 2 vectors in the XY plane as single scalar: Z. Also the
Cross Product of and Vector on the XY plan and that of one ont on the Z Axis
will result in a vector on the XY Plane. So the ZCross Methods were well thought
out and can be trusted.
Does a "2D" Cross Product also know as an Outer Product.
The left Vector2D operand.
The Z value of the right vector operand.
The Vector2D that fully represents the resulting vector.
This 2D Cross Product is using a cheat. Since the Cross product (in 3D space)
always generates a vector perpendicular (orthogonal) to the 2 vectors used as
arguments. The cheat is that the only vector that can be perpendicular to two
vectors in the XY Plane will parallel to the Z Axis. Since any vector that is
parallel to the Z Axis will have zeros in both the X and Y Fields I can represent
the cross product of 2 vectors in the XY plane as single scalar: Z. Also the
Cross Product of and Vector on the XY plan and that of one ont on the Z Axis
will result in a vector on the XY Plane. So the ZCross Methods were well thought
out and can be trusted.
Gets the Squared   of the Vector2D that is passed.
The Vector2D whos Squared Magnitude is te be returned.
Gets the   of the Vector2D that is passed.
The Vector2D whos Magnitude is te be returned.
Sets the   of a Vector2D without changing the  .
The Vector2D whose Magnitude is to be changed.
A Vector2D with the new Magnitude
The Vector2D to be Negated.
This returns the Normalized Vector2D that is passed. This is also known as a Unit Vector.
The Vector2D to be Normalized.
The Normalized Vector2D. (Unit Vector)
This returns the Normalized Vector2D that is passed. This is also known as a Unit Vector.
The Vector2D to be Normalized.
the magitude of the Vector2D passed
The Normalized Vector2D. (Unit Vector)
Thie Projects the left Vector2D onto the Right Vector2D.
The left Vector2D operand.
The right Vector2D operand.
Gets a Vector2D that is perpendicular(orthogonal) to the passed Vector2D while staying on the XY Plane.
The Vector2D whose perpendicular(orthogonal) is to be determined.
An perpendicular(orthogonal) Vector2D using the Right Hand Rule
Gets a Vector2D that is perpendicular(orthogonal) to the passed Vector2D while staying on the XY Plane.
The Vector2D whose perpendicular(orthogonal) is to be determined.
An perpendicular(orthogonal) Vector2D using the Left Hand Rule (opposite of the Right hand Rule)
This is the X value. (Usually represents a horizontal position or direction.)
This is the Y value. (Usually represents a vertical position or direction.)
Creates a New Vector2D Instance on the Stack.
The left Vector2D operand.
The right Vector2D operand.
The Sum of the 2 Vector2Ds.
The left Vector2D operand.
The right Vector2D operand.
The Difference of the 2 Vector2Ds.
Does Scaler Multiplication on a Vector2D.
The Vector2D to be multiplied.
The scalar value that will multiply the Vector2D.
The Product of the Scaler Multiplication.
Does Scaler Multiplication on a Vector2D.
The scalar value that will multiply the Vector2D.
The Vector2D to be multiplied.
The Product of the Scaler Multiplication.
Does a Dot Operation Also know as an Inner Product.
The left Vector2D operand.
The right Vector2D operand.
The Dot Product (Inner Product).
The Vector2D to be Negated.
Does a "2D" Cross Product also know as an Outer Product.
The left Vector2D operand.
The right Vector2D operand.
The Z value of the resulting vector.
This 2D Cross Product is using a cheat. Since the Cross product (in 3D space)
always generates a vector perpendicular (orthogonal) to the 2 vectors used as
arguments. The cheat is that the only vector that can be perpendicular to two
vectors in the XY Plane will parallel to the Z Axis. Since any vector that is
parallel to the Z Axis will have zeros in both the X and Y Fields I can represent
the cross product of 2 vectors in the XY plane as single scalar: Z. Also the
Cross Product of and Vector on the XY plan and that of one ont on the Z Axis
will result in a vector on the XY Plane. So the ZCross Methods were well thought
out and can be trusted.
Does a "2D" Cross Product also know as an Outer Product.
The Z value of the left vector operand.
The right Vector2D operand.
The Vector2D that fully represents the resulting vector.
This 2D Cross Product is using a cheat. Since the Cross product (in 3D space)
always generates a vector perpendicular (orthogonal) to the 2 vectors used as
arguments. The cheat is that the only vector that can be perpendicular to two
vectors in the XY Plane will parallel to the Z Axis. Since any vector that is
parallel to the Z Axis will have zeros in both the X and Y Fields I can represent
the cross product of 2 vectors in the XY plane as single scalar: Z. Also the
Cross Product of and Vector on the XY plan and that of one ont on the Z Axis
will result in a vector on the XY Plane. So the ZCross Methods were well thought
out and can be trusted.
Does a "2D" Cross Product also know as an Outer Product.
The left Vector2D operand.
The Z value of the right vector operand.
The Vector2D that fully represents the resulting vector.
This 2D Cross Product is using a cheat. Since the Cross product (in 3D space)
always generates a vector perpendicular (orthogonal) to the 2 vectors used as
arguments. The cheat is that the only vector that can be perpendicular to two
vectors in the XY Plane will parallel to the Z Axis. Since any vector that is
parallel to the Z Axis will have zeros in both the X and Y Fields I can represent
the cross product of 2 vectors in the XY plane as single scalar: Z. Also the
Cross Product of and Vector on the XY plan and that of one ont on the Z Axis
will result in a vector on the XY Plane. So the ZCross Methods were well thought
out and can be trusted.
Specifies whether the Vector2Ds contain the same coordinates.
The left Vector2D to test.
The right Vector2D to test.
true if the Vector2Ds have the same coordinates; otherwise false
Specifies whether the Vector2Ds do not contain the same coordinates.
The left Vector2D to test.
The right Vector2D to test.
true if the Vector2Ds do not have the same coordinates; otherwise false
Converts the numeric value of this instance to its equivalent string representation, using the specified format.
the format for each scaler in this Vector
Provides a unique hash code based on the member variables of this
class. This should be done because the equality operators (==, !=)
have been overriden by this class.
The standard implementation is a simple XOR operation between all local
Compares this Vector to another object. This should be done because the
equality operators (==, !=) have been overriden by this class.
Gets A perpendicular(orthogonal) Vector2D using the Right Hand Rule.
Gets A perpendicular(orthogonal) Vector2D using the Left Hand Rule.
Gets or Sets the Magnitude (Length) of the Vector2D.
Gets the Squared Magnitude of the Vector2D.
Gets or Sets the Angle in radians of the Vector2D.
If the Magnitude of the Vector is 1 then The
Angles {0,Math.PI/2,Math.PI/2,3*Math.PI/2} would have the vectors {(1,0),(0,1),(-1,0),(0,-1)} respectively.
Gets the Normalized Vector2D. (Unit Vector)
The Number of Variables accesable though the indexer.
Summary description for Quaternion.
A Quaternion With all elements set to 0;
Creates a Quaternion from a supplied angle and aXis.
Value of an angle in radians.
Performs spherical quadratic interpolation.
Creates a new Quaternion.
Combines the euler angles in the order Yaw, pitch, roll to create a rotation quaternion
Performs a Dot Product operation on 2 Quaternions.
Normalizes elements of this quaterion to the range [0,1].
Gets a 3X3 rotation matriX from this Quaternion.
Computes the inverse of a Quaternion.
Calculates the logarithm of a Quaternion.
Calculates the Exponent of a Quaternion.
Overrides the Object.ToString() method to provide a teXt representation of
A string representation of a Quaternion.
Squared 'length' of this quaternion.
Local X-aXis portion of this rotation.
Local Y-aXis portion of this rotation.
Local Z-aXis portion of this rotation.
Generates prime numbers. Just felt like writting one.
Calculates the Centroid of a polygon.
The vertexes of the polygon.
The Centroid of a polygon.
This is Also known as Center of Gravity/Mass.
Calculates the Centroid of a polygon.
The vertexes of the polygon.
The Centroid of a polygon.
This is Also known as Center of Gravity/Mass.
Calculates the area of a polygon.
The vertexes of the polygon.
Calculates the area of a polygon.
The vertexes of the polygon.
Kutsutaan kun itse kuva tai sen koko vaihtuu.
Näkymä, johon halutaan piirtää.
Päivittää kuvan kokoa tarvittaessa ja aiheuttaa tapahtumia.
Asetetaanko näkymän koko automaattisesti, kun kuvaa muutetaan.
Ei muuta itse kuvaa.
Asetetaanko näkymän kuvasuhde automaattisesti, kun kuvaa muutetaan.
Ei muuta itse kuvaa.
Tapahtuu kun itse kuva tai sen koko vaihtuu.
Yksinkertainen ikkuna, joka näyttää tekstiä ruudulla.
Sulkeutuu automaattisesti esc-/enter-/space-näppäimellä tai
peliohjaimen A- tai B-napilla.
Alustaa uuden  -olion ja asettaa sille tekstin.
Peli, johon ikkuna kuuluu.
Jos teksti on maksimipituutta pidempi, rivitetään se automaattisesti
a generic EventArgs for read only collections.
The type of the items on the collection.
The readonly collection of items.
Luo tien. Tie koostuu useasta pienemmästä "pätkästä".
Pisteen indeksi (alkaen nollasta).
Work-in-progress code for creating a road with a single shape.
Räjähdys, jonka tekstuuria ja maksimipartikkeleiden määrää voi vaihtaa
Tekstuuri, jota räjähdyksessä käytetään
Suurin mahdollinen määrä partikkeleita joita järjestelmä voi käyttää
Räjähdys, jonka tekstuuria, maksimipartikkeleiden määrää ja värien sekoitusta voi vaihtaa
Tekstuuri, jota räjähdyksessä käytetään
Suurin mahdollinen määrä partikkeleita joita järjestelmä voi käyttää
Räjähdys, jolla on kaksi tekstuuria
Tekstuuri, jota räjähdyksessä käytetään
Suurin mahdollinen määrä partikkeleita joita järjestelmä voi käyttää
Räjähdys, jolla on kaksi tekstuuria ja jonka maksipartikkeleiden määrää ja värien sekoitusta voi vaihtaa
Tekstuuri, jota räjähdyksessä käytetään
Suurin mahdollinen määrä partikkeleita joita järjestelmä voi käyttää
Alustetaan partikkeli vastaamaan räjähdyksen partikkelia
A Vector with 3 dimensions.
The number of Scalar values in the class.
The Size of the class in bytes;
The left Vector3D operand.
The right Vector3D operand.
The Sum of the 2 Vector3Ds.
The left Vector3D operand.
The right Vector3D operand.
The Difference of the 2 Vector3Ds.
Does Scaler Multiplication on a Vector3D.
The Vector3D to be multiplied.
The scalar value that will multiply the Vector3D.
The Product of the Scaler Multiplication.
Does Scaler Multiplication on a Vector3D.
The scalar value that will multiply the Vector3D.
The Vector3D to be multiplied.
The Product of the Scaler Multiplication.
matrix * vector [3x3 * 3x1 = 3x1]
vector * matrix [1x3 * 3x3 = 1x3]
Transforms the given 3-D vector by the matrix, projecting the
result back into  w  = 1.
This means that the initial  w  is considered to be 1.0,
and then all the tree elements of the resulting 3-D vector are
divided by the resulting  w .
Does a Dot Operation Also know as an Inner Product.
The left Vector3D operand.
The right Vector3D operand.
The Dot Product (Inner Product).
Does a Cross Operation Also know as an Outer Product.
The left Vector3D operand.
The right Vector3D operand.
Gets the Squared   of the Vector3D that is passed.
The Vector3D whos Squared Magnitude is te be returned.
Gets the   of the Vector3D that is passed.
The Vector3D whos Magnitude is te be returned.
Sets the   of a Vector3D.
The Vector3D whose Magnitude is to be changed.
A Vector3D with the new Magnitude
This returns the Normalized Vector3D that is passed. This is also known as a Unit Vector.
The Vector3D to be Normalized.
The Normalized Vector3D. (Unit Vector)
The Vector3D to be Negated.
Thie Projects the left Vector3D onto the Right Vector3D.
The left Vector3D operand.
The right Vector3D operand.
This is the X value.
This is the Y value.
This is the Z value.
Creates a New Vector3D Instance on the Stack.
The left Vector3D operand.
The right Vector3D operand.
The Sum of the 2 Vector3Ds.
The left Vector3D operand.
The right Vector3D operand.
The Difference of the 2 Vector3Ds.
Does Scaler Multiplication on a Vector3D.
The Vector3D to be multiplied.
The scalar value that will multiply the Vector3D.
The Product of the Scaler Multiplication.
Does Scaler Multiplication on a Vector3D.
The scalar value that will multiply the Vector3D.
The Vector3D to be multiplied.
The Product of the Scaler Multiplication.
Does a Dot Operation Also know as an Inner Product.
The left Vector3D operand.
The right Vector3D operand.
The Dot Product (Inner Product).
Transforms the given 3-D vector by the matrix, projecting the
result back into  w  = 1.
This means that the initial  w  is considered to be 1.0,
and then all the tree elements of the resulting 3-D vector are
divided by the resulting  w .
matrix * vector [3x3 * 3x1 = 3x1]
vector * matrix [1x3 * 3x3 = 1x3]
The Vector3D to be Negated.
Does a "2D" Cross Product also know as an Outer Product.
The left Vector3D operand.
The right Vector3D operand.
The Z value of the resulting vector.
Specifies whether the Vector3Ds contain the same coordinates.
The left Vector3D to test.
The right Vector3D to test.
true if the Vector3Ds have the same coordinates; otherwise false
Specifies whether the Vector3Ds do not contain the same coordinates.
The left Vector3D to test.
The right Vector3D to test.
true if the Vector3Ds do not have the same coordinates; otherwise false
Provides a unique hash code based on the member variables of this
class. This should be done because the equality operators (==, !=)
have been overriden by this class.
The standard implementation is a simple XOR operation between all local
Compares this Vector to another object. This should be done because the
equality operators (==, !=) have been overriden by this class.
Gets or Sets the Magnitude (Length) of the Vector3D.
Gets the Squared Magnitude of the Vector3D.
Gets the Normalized Vector3D. (Unit Vector)
The Number of Variables accesable though the indexer.
Palauttaa satunnaisen kokonaisluvun, jonka arvo on korkeintaan  maxValue .
Palauttaa satunnaisen kokonaisluvun parametrien  min  ja  max  väliltä.
Palauttaa satunnaisen kokonaisluvun annetun kahden välin alueelta. Voidaan käyttää
esimerkiksi kun halutaan sekä erittäin pieniä että erittäin suuria lukuja.
Halutaan lukuja alueelta -1000->-500 ja 500->1000:
RandomGen.NextRange( -1000, -500, 500, 1000 );
Palauttaa satunnaisen liukuluvun parametrien  min  ja  max  väliltä.
Palauttaa satunnaisen kokonaisluvun annetun kahden välin alueelta. Voidaan käyttää
esimerkiksi kun halutaan sekä erittäin pieniä että erittäin suuria lukuja.
Halutaan lukuja alueelta -1000->-500 ja 500->1000:
RandomGen.NextRange( -1000, -500, 500, 1000 );
Palauttaa satunnaisen vektorin, jonka x-koordinaatti on välillä (minX, maxX)
ja y-koordinaatti on välillä (minY, maxY).
Palauttaa satunnaisvektorin annettujen kahden vektorin välistä.
Suurin sallittu muutos kahden luvun välillä.
Vektorien määrä eli taulukon koko.
Jos halutaan, että kaikki vektorit ovat erilaisia, niin  true .
Palauttaa satunnaisen kulman nollasta annettuun maksimiin.
Palauttaa satunnaisen kulman tietyltä väliltä.
Fysiikkalogiikkaluokka ylhäältä päin kuvattuihin peleihin, joissa tarvitaan kitkaa.
Aloitusruutu, joka voidaan näyttää ennen pelin käynnistämistä.
Pelin nimi. Näytetään ylimpänä otsikkona.
Tekijänoikeudet. Näytetään pelin nimen alla tekijöiden kanssa.
Tekijät. Näytetään pelin nimen alla tekijänoikeuksien kanssa.
Kontrolliohje (Aloita peli painamalla Enter / Xbox A).
Tapahtuu kun ruudusta poistutaan.
Tee varsinaiset pelin alustukset tämän tapahtuman käsittelijässä.
Jos  true , ääntä soitetaan toistuvasti.
Äänen kuuluminen vasemmasta ja oikeasta kaiuttimesta.
Arvot vaihtelevat välillä -1.0 - 1.0 seuraavasti:
-1.0 -> täysin vasemmalla
1.0 -> täysin oikealla
Äänenvoimakkuus välillä 0.0 - 1.0.
Äänenkorkeus välillä -1.0 - 1.0.
-1.0 on oktaavin alempana, 1.0 oktaavin ylempänä.
Tyyppi, joita lista sisältää.
Kutsutaan, kun listasta valitaan elementti.
Lisää uuden elementin listaan.
Päivittää ikkunan koon ja sisäiset koordinaatit.
Palauttaa X-kohdan ikkunassa halutulle elementille.
Suhteellinen sijainti (vasen/oikea reuna/keskellä).
Määrää, ovatko listan elementit listan vasemmassa reunassa,
oikeassa reunassa vai keskellä.
Tapahtuu, kun listasta valitaan elementti.
Ottaa käytöstä poistetun napin  k  takaisin käyttöön.
Poistaa napin  k  käytöstä.
Palauttaa annetun näppäimen tilan (ks.  ButtonState ).
Tarkistaa, onko kumpikaan shift-näppäimistä painettuna.
true  jos alhaalla, muuten  painettuna .
Tarkistaa, onko kumpikaan ctrl-näppäimistä painettuna.
true  jos alhaalla, muuten  painettuna .
Tarkistaa, onko kumpikaan alt-näppäimistä painettuna.
true  jos alhaalla, muuten  painettuna .
Kamera. Määrittää mikä osa pelitasosta on kerralla näkyvissä.
Oletuksena 1.0. Mitä suurempi zoomauskerroin, sitä lähempänä kamera on (esim 2.0 on 2 x lähempänä) ja toisinpäin.
Koordinaatti vektorina johon kamera kohdistetaan.
Zoomauskerroin. Ykköstä suurempi (esim. 1.5) lähentää ja
ykköstä pienempi (esim. 0.5) zoomaa kauemmas.
Resetoi kameran (keskittää ja laittaa zoomin oletusarvoon).
Zoomaa ja keskittää kameran siten, että koko kenttä on näkyvissä kerralla.
Zoomaa ja keskittää kameran siten, että koko kenttä on näkyvissä kerralla. Tällöin kamera ei seuraa mitään oliota.
Reunalle jätettävä tila (jos negatiivinen, niin osa kentästä jää piiloon).
Ajetaan kun pelitilannetta päivitetään.
Jos tosi, kamera ei mene koskaan kentän ulkopuolelle.
Olio, jota kamera seuraa. Jos  null , mitään oliota ei seurata.
Represents a Single point.
All particles are the same! so use this one!
Creates a new Particle Instance.
Creates a new Circle Instance.
how large the circle is.
The number or vertex that will be generated along the perimeter of the circle.
This is for collision detection.
Creates a new Circle Instance.
how large the circle is.
The number or vertex that will be generated along the perimeter of the circle.
This is for collision detection.
How hard it is to turn the shape. Depending on the construtor in the
Body this will be multiplied with the mass to determine the moment of inertia.
the distance from the position where the circle ends.
A Gravity Field that apply gravity pulling in one direction regardless of the Body's position with zero dropoff.
Creates a new GravityField Instance.
The direction and magnitude of the gravity.
A object Describing how long the object will be in the engine.
The Engine that will Apply Physics to object added to it.
This is the ID the first body added to the engine will get.
Adds a Body to the pending queue and will be truly added on a call to Update.
The Body to be added.
Adds a collection of Bodies to the pending queue and will be truly added on a call to Update.
The collection to be Added
Adds a Joint to the pending queue and will be truly added on a call to Update.
The Joint to be added.
Adds a collection of Joints to the pending queue and will be truly added on a call to Update.
The collection to be Added
Adds a collection of Joints to the pending queue and will be truly added on a call to Update.
The collection to be Added
A Type inherited from Joint
Adds a PhysicsLogic to the pending queue and will be truly added on a call to Update.
The PhysicsLogic to be added.
Adds a collection of PhysicsLogics to the pending queue and will be truly added on a call to Update.
The collection to be Added
Adds a collection of PhysicsLogics to the pending queue and will be truly added on a call to Update.
The collection to be Added
A Type inherited from PhysicsLogic
Adds 2 bodies to the same proxy list.
If they are both already part of their own proxy list then the lists will merge.
The transformations will be calcualted automatically.
How velocities will be transformed from body1 to body2.
This will most likely be removed if i ever figure out how to make a joint like this.
Updates the Engine with a change in time.
This call will block all access to the engine while it is running.
A complete call to this method is also known as a timestep.
The change in time since the last call to this method. (In Seconds)
Clears the Engine of all objects. Also clears the Detector and Solver.
Generated when Bodies are truly added to the Engine.
Generated when Joints are truly added to the Engine.
Generated when PhysicsLogics are truly added to the Engine.
Generated when a Bodies are removed to the Engine.
Generated when a Joints are removed to the Engine.
Generated when a PhysicsLogics are removed to the Engine.
Generated when the engine is update;
Gets A threadSafe List of Joints (You wont get the "The collection has changed" Exception with this)
Gets A threadSafe List of Bodies (You wont get the "The collection has changed" Exception with this)
Gets A threadSafe List of PhysicsLogics (You wont get the "The collection has changed" Exception with this)
Gets and Sets The BroadPhase collision Detector. (This must be Set to a non-Null value before any calls to Update)
Gets and Sets the Collision Solver (This must be Set to a non-Null value before any calls to Update)
The number of updates that the engine has completed.
This is used for making sure actions are not duplicated on a single time step.
This class Stores mass information and Moment of Inertia Together since they are very closly related.
A body with this mass will not be affected by forces or impulse.
This is the mass of Chuck Norris.
Analoginen ohjain. Tämä voi olla joko painike, jota voi painaa
eri voimakkuuksilla (padiohjaimen liipainäppäin) tai ohjaustikku.
Ohjaimen tavallisemmin käytettävä analogitikku. Padissa, jossa on kaksi tikkua, käytetään vasenta.
Palkki, jonka korkeutta voi säätää.
Asettaa palkin näyttämään  meter -olion arvoa.
Palkin maksimiarvoksi tulee olion  meter  maksimiarvo.
A Vector with 4 dimensions.
The number of Scalar values in the class.
The Size of the class in bytes;
The left Vector4D operand.
The right Vector4D operand.
The Sum of the 2 Vector4Ds.
The left Vector4D operand.
The right Vector4D operand.
The Difference of the 2 Vector4Ds.
Does Scaler Multiplication on a Vector4D.
The Vector4D to be multiplied.
The scalar value that will multiply the Vector4D.
The Product of the Scaler Multiplication.
Does Scaler Multiplication on a Vector4D.
The scalar value that will multiply the Vector4D.
The Vector4D to be multiplied.
The Product of the Scaler Multiplication.
Does a Dot Operation Also know as an Inner Product.
The left Vector4D operand.
The right Vector4D operand.
The Dot Product (Inner Product).
Gets the Squared   of the Vector4D that is passed.
The Vector4D whos Squared Magnitude is te be returned.
Gets the   of the Vector4D that is passed.
The Vector4D whos Magnitude is te be returned.
Sets the   of a Vector4D.
The Vector4D whose Magnitude is to be changed.
A Vector4D with the new Magnitude
The Vector4D to be Negated.
This returns the Normalized Vector4D that is passed. This is also known as a Unit Vector.
The Vector4D to be Normalized.
The Normalized Vector4D. (Unit Vector)
Thie Projects the left Vector4D onto the Right Vector4D.
The left Vector4D operand.
The right Vector4D operand.
This is the X value.
This is the Y value.
This is the Z value.
This is the W value.
Creates a New Vector4D Instance on the Stack.
The left Vector4D operand.
The right Vector4D operand.
The Sum of the 2 Vector4Ds.
The left Vector4D operand.
The right Vector4D operand.
The Difference of the 2 Vector4Ds.
Does Scaler Multiplication on a Vector4D.
The Vector4D to be multiplied.
The scalar value that will multiply the Vector4D.
The Product of the Scaler Multiplication.
Does Scaler Multiplication on a Vector4D.
The scalar value that will multiply the Vector4D.
The Vector4D to be multiplied.
The Product of the Scaler Multiplication.
Does a Dot Operation Also know as an Inner Product.
The left Vector4D operand.
The right Vector4D operand.
The Dot Product (Inner Product).
The Vector4D to be Negated.
Specifies whether the Vector4Ds contain the same coordinates.
The left Vector4D to test.
The right Vector4D to test.
true if the Vector4Ds have the same coordinates; otherwise false
Specifies whether the Vector4Ds do not contain the same coordinates.
The left Vector4D to test.
The right Vector4D to test.
true if the Vector4Ds do not have the same coordinates; otherwise false
Provides a unique hash code based on the member variables of this
class. This should be done because the equality operators (==, !=)
have been overriden by this class.
The standard implementation is a simple XOR operation between all local
Compares this Vector to another object. This should be done because the
equality operators (==, !=) have been overriden by this class.
Gets or Sets the Magnitude (Length) of the Vector4D.
Gets the Squared Magnitude of the Vector4D.
Gets the Normalized Vector4D. (Unit Vector)
The Number of Variables accesable though the indexer.
Luo vektorin pituuden ja kulman perusteella.
Luo vektorin pituuden ja kulman perusteella.
Etäisyys kahden pisteen välillä.
Palauttaa uuden vektorin, jonka suunta pysyy samana, mutta pituudeksi tulee 1.0.
Pelikenttä, johon voi lisätä olioita. Kentällä voi myös olla reunat ja taustaväri tai taustakuva.
Lisää kaikille kentän sivuille reunat, joihin oliot voivat törmätä.
Lisää kaikille kentän sivuille reunat, joihin oliot voivat törmätä.
Reunan näkyvyys  true , jos näkyvät reunat, muuten  false .
Lisää kaikille kentän sivuille reunat, joihin oliot voivat törmätä.
Reunojen kimmoisuus (0.0 = pysäyttää, 1.0 = kimpoaa täydellä voimalla)
Reunan näkyvyys  true , jos näkyvät reunat, muuten  false .
Lisää kenttään vasemman reunan.
Lisää kenttään oikean reunan.
Helppo tapa lisätä kenttään epätasainen maasto.
Maasto kuvataan luettelemalla Y-koordinaatteja vasemmalta oikealle lukien. Kahden Y-koordinaatin
väli on aina sama.
Y-koordinaatit lueteltuna vasemmalta oikealle.
Vakio, jolla jokainen Y-koordinaatti kerrotaan. Hyödyllinen,
jos halutaan muuttaa koko maaston korkeutta muuttamatta jokaista pistettä yksitellen.
Tavallisesti arvoksi kelpaa 1.0.
Huomaa, että maastossa ei voi olla kahta pistettä päällekkäin.
Helppo tapa lisätä kenttään epätasainen maasto.
Maasto kuvataan luettelemalla Y-koordinaatteja vasemmalta oikealle lukien. Kahden Y-koordinaatin
väli on aina sama.
Y-koordinaatit lueteltuna vasemmalta oikealle.
Vakio, jolla jokainen Y-koordinaatti kerrotaan. Hyödyllinen,
jos halutaan muuttaa koko maaston korkeutta muuttamatta jokaista pistettä yksitellen.
Tavallisesti arvoksi kelpaa 1.0.
Suurin sallittu muutos korkeudessa pisteiden välillä.
Suurin sallittu erotus kahden pisteen välillä.
Suurin sallittu erotus kahden pisteen välillä.
Suurin sallittu erotus kahden pisteen välillä.
Palauttaa satunnaisen kohdan kentän reunojen sisältä.
Kentän vasemman reunan x-koordinaatti.
Kentän oikean reunan x-koordinaatti.
A class to manage a RaySegmentsShape collisions
A object that describes the time a object will remain in the Physics engine.
Creates a new Lifespan Instance that is Immortal.
Creates a new Lifespan Instance that is mortal.
How long the item will stay in the engine. (in seconds)
Creates a new Lifespan Instance that is mortal and has already aged.
How old the item is. (in seconds)
How long the item will stay in the engine. (in seconds)
Increases the Age of object by a change in time.
the update's number (It wont age more then once on a update)
The TimeStep describing the change in time.
Gets and Sets if it IsExpired and should be removed from the engine.
Gets if the only way for the object to leave the engine is for it to be set to expired.
Gets if it is expired becuase of old age.
Gets and Sets how long the object will stay in the engine.
Gets how much time the object has left.
Gets and Sets The current age of the object.
A Joint between 2 Bodies that will keep the Angles between the 2 bodies at a certain amount.
For some reason, images loaded dynamically from file
don't work with CachedBucket. This is a quick fix for
Lataa kuvan tiedostosta. Kuvan ei tarvitse olla lisättynä
Luo pystysuuntaisen liukuväritetyn kuvan.
Aivot, jotka seuraavat annettua polkua.
Used to determine if the object has passed the next waypoint.
this should alweys be at lenght of 1.
Luo aivot, jotka seuraavat polkua  path .
Polku, eli lista pisteistä joita aivot seuraa.