Browse Source

Merge branch 'master' of https://github.com/AtomicGameEngine/AtomicExamples

Jay Sistar 10 years ago
parent
commit
2aeb9797b0
100 changed files with 1887 additions and 21 deletions
  1. 6 0
      AtomicNET/Basic3D/.gitignore
  2. 9 0
      AtomicNET/Basic3D/Basic3D.atomic
  3. 37 0
      AtomicNET/Basic3D/BuildSettings.json
  4. 5 0
      AtomicNET/Basic3D/Resources.asset
  5. 5 0
      AtomicNET/Basic3D/Resources/Assemblies.asset
  6. BIN
      AtomicNET/Basic3D/Resources/Assemblies/Basic3D.dll
  7. 37 0
      AtomicNET/Basic3D/Resources/Assemblies/Basic3D.dll.asset
  8. 5 0
      AtomicNET/Basic3D/Resources/Models.asset
  9. BIN
      AtomicNET/Basic3D/Resources/Models/Chest.fbx
  10. 9 0
      AtomicNET/Basic3D/Resources/Models/Chest.fbx.asset
  11. 5 0
      AtomicNET/Basic3D/Resources/Models/Materials.asset
  12. 15 0
      AtomicNET/Basic3D/Resources/Models/Materials/DefaultMaterial.material
  13. 5 0
      AtomicNET/Basic3D/Resources/Models/Materials/DefaultMaterial.material.asset
  14. 5 0
      AtomicNET/Basic3D/Resources/Scenes.asset
  15. 76 0
      AtomicNET/Basic3D/Resources/Scenes/Scene.scene
  16. 5 0
      AtomicNET/Basic3D/Resources/Scenes/Scene.scene.asset
  17. 5 0
      AtomicNET/Basic3D/Resources/Scripts.asset
  18. 3 0
      AtomicNET/Basic3D/Resources/Scripts/main.js
  19. 7 0
      AtomicNET/Basic3D/Resources/Scripts/main.js.asset
  20. 5 0
      AtomicNET/Basic3D/Resources/Textures.asset
  21. BIN
      AtomicNET/Basic3D/Resources/Textures/chest.png
  22. 5 0
      AtomicNET/Basic3D/Resources/Textures/chest.png.asset
  23. 52 0
      AtomicNET/Basic3D/Source/Basic3D/Basic3D.csproj
  24. 22 0
      AtomicNET/Basic3D/Source/Basic3D/Basic3D.sln
  25. 36 0
      AtomicNET/Basic3D/Source/Basic3D/Properties/AssemblyInfo.cs
  26. 22 0
      AtomicNET/Basic3D/Source/Basic3D/Spinner.cs
  27. 5 0
      Basic2D/Resources/Modules.asset
  28. 7 0
      Basic2D/Resources/Modules/lodash.js.asset
  29. 5 0
      Basic3D/Resources/Assemblies.asset
  30. 1 1
      Basic3D/Resources/Scenes/Scene.scene
  31. 0 0
      Breakout/Breakout.atomic
  32. 5 0
      Breakout/Resources.asset
  33. 5 0
      Breakout/Resources/Components.asset
  34. 34 0
      Breakout/Resources/Components/Background.js
  35. 7 0
      Breakout/Resources/Components/Background.js.asset
  36. 57 0
      Breakout/Resources/Components/Ball.js
  37. 7 0
      Breakout/Resources/Components/Ball.js.asset
  38. 101 0
      Breakout/Resources/Components/Paddle.js
  39. 7 0
      Breakout/Resources/Components/Paddle.js.asset
  40. 14 0
      Breakout/Resources/Components/PhysicsDebug.js
  41. 7 0
      Breakout/Resources/Components/PhysicsDebug.js.asset
  42. 48 0
      Breakout/Resources/Components/ScoreManager.js
  43. 7 0
      Breakout/Resources/Components/ScoreManager.js.asset
  44. 23 0
      Breakout/Resources/Components/Wall.js
  45. 7 0
      Breakout/Resources/Components/Wall.js.asset
  46. 5 0
      Breakout/Resources/Prefabs.asset
  47. 29 0
      Breakout/Resources/Prefabs/Ball.prefab
  48. 5 0
      Breakout/Resources/Prefabs/Ball.prefab.asset
  49. 18 0
      Breakout/Resources/Prefabs/BrickBlue.prefab
  50. 5 0
      Breakout/Resources/Prefabs/BrickBlue.prefab.asset
  51. 18 0
      Breakout/Resources/Prefabs/BrickGreen.prefab
  52. 5 0
      Breakout/Resources/Prefabs/BrickGreen.prefab.asset
  53. 18 0
      Breakout/Resources/Prefabs/BrickPurple.prefab
  54. 5 0
      Breakout/Resources/Prefabs/BrickPurple.prefab.asset
  55. 18 0
      Breakout/Resources/Prefabs/BrickRed.prefab
  56. 5 0
      Breakout/Resources/Prefabs/BrickRed.prefab.asset
  57. 18 0
      Breakout/Resources/Prefabs/BrickYellow.prefab
  58. 5 0
      Breakout/Resources/Prefabs/BrickYellow.prefab.asset
  59. 5 0
      Breakout/Resources/Scenes.asset
  60. 859 0
      Breakout/Resources/Scenes/Scene.scene
  61. 5 0
      Breakout/Resources/Scenes/Scene.scene.asset
  62. 5 0
      Breakout/Resources/Scripts.asset
  63. 11 0
      Breakout/Resources/Scripts/main.js
  64. 7 0
      Breakout/Resources/Scripts/main.js.asset
  65. 5 0
      Breakout/Resources/Sounds.asset
  66. BIN
      Breakout/Resources/Sounds/brickDeath.wav
  67. 5 0
      Breakout/Resources/Sounds/brickDeath.wav.asset
  68. BIN
      Breakout/Resources/Sounds/crazy-space.ogg
  69. 5 0
      Breakout/Resources/Sounds/crazy-space.ogg.asset
  70. 5 0
      Breakout/Resources/Sprites.asset
  71. BIN
      Breakout/Resources/Sprites/ball.png
  72. 5 0
      Breakout/Resources/Sprites/ball.png.asset
  73. BIN
      Breakout/Resources/Sprites/block_blue.png
  74. 5 0
      Breakout/Resources/Sprites/block_blue.png.asset
  75. BIN
      Breakout/Resources/Sprites/block_green.png
  76. 5 0
      Breakout/Resources/Sprites/block_green.png.asset
  77. BIN
      Breakout/Resources/Sprites/block_purple.png
  78. 5 0
      Breakout/Resources/Sprites/block_purple.png.asset
  79. BIN
      Breakout/Resources/Sprites/block_red.png
  80. 5 0
      Breakout/Resources/Sprites/block_red.png.asset
  81. BIN
      Breakout/Resources/Sprites/block_yellow.png
  82. 5 0
      Breakout/Resources/Sprites/block_yellow.png.asset
  83. BIN
      Breakout/Resources/Sprites/paddle.png
  84. 5 0
      Breakout/Resources/Sprites/paddle.png.asset
  85. BIN
      Breakout/Resources/Sprites/star.png
  86. 5 0
      Breakout/Resources/Sprites/star.png.asset
  87. 1 1
      CharacterAnimation3D/Resources/Scenes/Scene.scene
  88. 1 1
      Chickens/Resources/Prefabs/Chicken.prefab
  89. 2 2
      Chickens/Resources/Scenes/Scene.scene
  90. 5 5
      MultiScript/Resources/Scenes/TheScene.scene
  91. 1 1
      PhysicsPlatformer/Resources/Components/Bat.js
  92. 1 1
      PhysicsPlatformer/Resources/Components/Coin.js
  93. 3 2
      PhysicsPlatformer/Resources/Components/DayTime.js
  94. 9 0
      PhysicsPlatformer/Resources/Components/Level.js
  95. 2 1
      PhysicsPlatformer/Resources/Components/Player.js
  96. 7 0
      PhysicsPlatformer/Resources/Modules/DPad.js.asset
  97. 6 6
      PhysicsPlatformer/Resources/Scenes/Scene.scene
  98. 5 0
      PhysicsPlatformer/Resources/UI/buttonDown.png.asset
  99. 5 0
      PhysicsPlatformer/Resources/UI/buttonLeft.png.asset
  100. 5 0
      PhysicsPlatformer/Resources/UI/buttonRight.png.asset

+ 6 - 0
AtomicNET/Basic3D/.gitignore

@@ -0,0 +1,6 @@
+UserPrefs.json
+*.pdb
+Cache/*
+Source/Basic3D/.vs
+Source/Basic3D/bin
+Source/Basic3D/obj

+ 9 - 0
AtomicNET/Basic3D/Basic3D.atomic

@@ -0,0 +1,9 @@
+{
+   "version": 1,
+   "project": {
+      "version": "1.0.0"
+   },
+   "platforms": [
+      "mac", "windows"
+   ]
+}

+ 37 - 0
AtomicNET/Basic3D/BuildSettings.json

@@ -0,0 +1,37 @@
+{
+   "MacBuildSettings": {
+      "appName": "",
+      "packageName": "",
+      "companyName": "",
+      "productName": ""
+   },
+   "WindowsBuildSettings": {
+      "appName": "",
+      "packageName": "",
+      "companyName": "",
+      "productName": ""
+   },
+   "WebBuildSettings": {
+      "appName": "",
+      "packageName": "",
+      "companyName": "",
+      "productName": ""
+   },
+   "AndroidBuildSettings": {
+      "appName": "",
+      "packageName": "",
+      "companyName": "",
+      "productName": "",
+      "targetSDKVersion": "",
+      "minSDKVersion": "",
+      "activityName": ""
+   },
+   "IOSBuildSettings": {
+      "appName": "",
+      "packageName": "",
+      "companyName": "",
+      "productName": "",
+      "provisionFile": "",
+      "appIDPrefix": ""
+   }
+}

+ 5 - 0
AtomicNET/Basic3D/Resources.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "8b49c25ca8bcdf0fb11ea8bd906e9c60",
+	"FolderImporter": {}
+}

+ 5 - 0
AtomicNET/Basic3D/Resources/Assemblies.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "b6dd3280dc3a8dba2d752e61546c43d4",
+	"FolderImporter": {}
+}

BIN
AtomicNET/Basic3D/Resources/Assemblies/Basic3D.dll


+ 37 - 0
AtomicNET/Basic3D/Resources/Assemblies/Basic3D.dll.asset

@@ -0,0 +1,37 @@
+{
+	"version": 1,
+	"guid": "3245844d97444425580f5c0ed275e125",
+	"NETAssemblyImporter": {
+		"AssemblyJSON": {
+			"enums": [],
+			"components": [
+				{
+					"name": "Spinner",
+					"namespace": "Basic3D",
+					"fields": [
+						{
+							"isEnum": false,
+							"typeName": "Single",
+							"name": "speed",
+							"defaultValue": "1",
+							"caPos": [
+								""
+							],
+							"caNamed": {}
+						},
+						{
+							"isEnum": false,
+							"typeName": "Single",
+							"name": "pitchSpeed",
+							"defaultValue": "0",
+							"caPos": [
+								""
+							],
+							"caNamed": {}
+						}
+					]
+				}
+			]
+		}
+	}
+}

+ 5 - 0
AtomicNET/Basic3D/Resources/Models.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "859450fc1d20b9dd7e1e3da995cbdbd3",
+	"FolderImporter": {}
+}

BIN
AtomicNET/Basic3D/Resources/Models/Chest.fbx


+ 9 - 0
AtomicNET/Basic3D/Resources/Models/Chest.fbx.asset

@@ -0,0 +1,9 @@
+{
+	"version": 1,
+	"guid": "b00f01294b1cc469d4db9f862c9296b7",
+	"ModelImporter": {
+		"scale": 0.01,
+		"importAnimations": false,
+		"animInfo": []
+	}
+}

+ 5 - 0
AtomicNET/Basic3D/Resources/Models/Materials.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "6314dcdd026d028868140a1dde113f6d",
+	"FolderImporter": {}
+}

+ 15 - 0
AtomicNET/Basic3D/Resources/Models/Materials/DefaultMaterial.material

@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<material>
+	<technique name="Techniques/Diff.xml" quality="0" loddistance="0" />
+	<texture unit="diffuse" name="Textures/chest.png" />
+	<parameter name="UOffset" value="1 0 0 0" />
+	<parameter name="VOffset" value="0 1 0 0" />
+	<parameter name="MatDiffColor" value="0.8 0.8 0.8 1" />
+	<parameter name="MatEmissiveColor" value="0 0 0 1" />
+	<parameter name="MatEnvMapColor" value="1 1 1" />
+	<parameter name="MatSpecColor" value="0.1 0.1 0.1 16" />
+	<cull value="ccw" />
+	<shadowcull value="ccw" />
+	<fill value="solid" />
+	<depthbias constant="0" slopescaled="0" />
+</material>

+ 5 - 0
AtomicNET/Basic3D/Resources/Models/Materials/DefaultMaterial.material.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "3c0204d84c70d3c07c032dd8fbe84662",
+	"MaterialImporter": {}
+}

+ 5 - 0
AtomicNET/Basic3D/Resources/Scenes.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "650634c8bf1c932ee41641c71d81de6f",
+	"FolderImporter": {}
+}

+ 76 - 0
AtomicNET/Basic3D/Resources/Scenes/Scene.scene

@@ -0,0 +1,76 @@
+<?xml version="1.0"?>
+<scene id="1">
+	<attribute name="Name" value="" />
+	<attribute name="Time Scale" value="1" />
+	<attribute name="Smoothing Constant" value="50" />
+	<attribute name="Snap Threshold" value="5" />
+	<attribute name="Elapsed Time" value="0" />
+	<attribute name="Next Replicated Node ID" value="379" />
+	<attribute name="Next Replicated Component ID" value="1993" />
+	<attribute name="Next Local Node ID" value="16778496" />
+	<attribute name="Next Local Component ID" value="16777216" />
+	<attribute name="Variables" />
+	<attribute name="Variable Names" value="" />
+	<component type="PhysicsWorld" id="1" />
+	<component type="Octree" id="2" />
+	<component type="DebugRenderer" id="3" />
+	<node id="2">
+		<attribute name="Is Enabled" value="true" />
+		<attribute name="Name" value="Zone" />
+		<attribute name="Position" value="0 0 0" />
+		<attribute name="Rotation" value="1 0 0 0" />
+		<attribute name="Scale" value="1 1 1" />
+		<attribute name="Variables" />
+		<component type="Zone" id="4">
+			<attribute name="Bounding Box Min" value="-10000 -10000 -10000" />
+			<attribute name="Bounding Box Max" value="10000 10000 10000" />
+			<attribute name="Ambient Color" value="0.4 0.4 0.4 1" />
+		</component>
+	</node>
+	<node id="3">
+		<attribute name="Is Enabled" value="true" />
+		<attribute name="Name" value="GlobalLight" />
+		<attribute name="Position" value="0 0 0" />
+		<attribute name="Rotation" value="0.888074 0.325058 -0.325058 0" />
+		<attribute name="Scale" value="1 1 1" />
+		<attribute name="Variables" />
+		<component type="Light" id="5">
+			<attribute name="Light Type" value="Directional" />
+			<attribute name="Cast Shadows" value="true" />
+			<attribute name="CSM Splits" value="10 20 50 0" />
+			<attribute name="View Size Quantize" value="1" />
+			<attribute name="View Size Minimum" value="5" />
+			<attribute name="Depth Constant Bias" value="0.00025" />
+			<attribute name="Depth Slope Bias" value="0.001" />
+		</component>
+	</node>
+	<node id="361">
+		<attribute name="Is Enabled" value="true" />
+		<attribute name="Name" value="Camera" />
+		<attribute name="Position" value="0 0 -2" />
+		<attribute name="Rotation" value="1 0 0 0" />
+		<attribute name="Scale" value="1 1 1" />
+		<attribute name="Variables" />
+		<component type="Camera" id="1973" />
+	</node>
+	<node id="363">
+		<attribute name="Is Enabled" value="true" />
+		<attribute name="Name" value="Chest" />
+		<attribute name="Position" value="0 -0.374877 0" />
+		<attribute name="Rotation" value="1 0 0 0" />
+		<attribute name="Scale" value="1 1 1" />
+		<attribute name="Variables" />
+		<component type="StaticModel" id="1975">
+			<attribute name="Model" value="Model;b00f01294b1cc469d4db9f862c9296b7.mdl" />
+			<attribute name="Material" value="Material;Models/Materials/DefaultMaterial.material" />
+		</component>
+		<component type="CSComponent" id="1981">
+			<attribute name="FieldValues">
+				<variant hash="273365031" type="Float" value="1" />
+				<variant hash="4101335591" type="Float" value="4" />
+			</attribute>
+			<attribute name="Assembly" value="NETAssemblyFile;Assemblies/Basic3D.dll" />
+			<attribute name="Class" value="Spinner" />
+		</component>
+	</node>
+</scene>

+ 5 - 0
AtomicNET/Basic3D/Resources/Scenes/Scene.scene.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "09945dd5d85bcaedfd1a2751aefc738b",
+	"SceneImporter": {}
+}

+ 5 - 0
AtomicNET/Basic3D/Resources/Scripts.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "d64fec1650e6d0c76d855ba7e5720eb4",
+	"FolderImporter": {}
+}

+ 3 - 0
AtomicNET/Basic3D/Resources/Scripts/main.js

@@ -0,0 +1,3 @@
+// This script is the main entry point of the game
+//Load scene
+Atomic.player.loadScene("Scenes/Scene.scene");

+ 7 - 0
AtomicNET/Basic3D/Resources/Scripts/main.js.asset

@@ -0,0 +1,7 @@
+{
+	"version": 1,
+	"guid": "b26472030333c06522cb499311fbb1be",
+	"JavascriptImporter": {
+		"IsComponentFile": false
+	}
+}

+ 5 - 0
AtomicNET/Basic3D/Resources/Textures.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "9ec8556a2f8b8bb06eeef7d1ae560a22",
+	"FolderImporter": {}
+}

BIN
AtomicNET/Basic3D/Resources/Textures/chest.png


+ 5 - 0
AtomicNET/Basic3D/Resources/Textures/chest.png.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "6cfc1364a9a11584ea54f3384387e250",
+	"TextureImporter": {}
+}

+ 52 - 0
AtomicNET/Basic3D/Source/Basic3D/Basic3D.csproj

@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{E414232C-7886-473D-A0F0-A891A3935A78}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>Basic3D</RootNamespace>
+    <AssemblyName>Basic3D</AssemblyName>
+    <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\Resources\Assemblies\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>..\..\Resources\Assemblies\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="AtomicNETEngine">
+      <HintPath>..\..\..\..\..\AtomicGameEngine\Artifacts\AtomicNET\AtomicNETEngine.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Spinner.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>

+ 22 - 0
AtomicNET/Basic3D/Source/Basic3D/Basic3D.sln

@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.23107.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basic3D", "Basic3D.csproj", "{E414232C-7886-473D-A0F0-A891A3935A78}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{E414232C-7886-473D-A0F0-A891A3935A78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{E414232C-7886-473D-A0F0-A891A3935A78}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{E414232C-7886-473D-A0F0-A891A3935A78}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{E414232C-7886-473D-A0F0-A891A3935A78}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal

+ 36 - 0
AtomicNET/Basic3D/Source/Basic3D/Properties/AssemblyInfo.cs

@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Basic3D")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Basic3D")]
+[assembly: AssemblyCopyright("Copyright ©  2015")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("e414232c-7886-473d-a0f0-a891a3935a78")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

+ 22 - 0
AtomicNET/Basic3D/Source/Basic3D/Spinner.cs

@@ -0,0 +1,22 @@
+
+using AtomicEngine;
+using System;
+
+namespace Basic3D
+{
+    public class Spinner : CSComponent
+    {
+        [Inspector]
+        float speed = 1.0f;
+
+        [Inspector]
+        float pitchSpeed = 0.0f;
+
+        public override void Update(float timeStep)
+        {
+            Node.Yaw(timeStep * speed * 75.0f);
+            Node.Pitch(timeStep * pitchSpeed * 75.0f);
+        }
+    }
+
+}

+ 5 - 0
Basic2D/Resources/Modules.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "9018b34ac9764127d92e84ec73292115",
+	"FolderImporter": {}
+}

+ 7 - 0
Basic2D/Resources/Modules/lodash.js.asset

@@ -0,0 +1,7 @@
+{
+	"version": 1,
+	"guid": "b70288bad45c06c64d797a65625ecff8",
+	"JavascriptImporter": {
+		"IsComponentFile": false
+	}
+}

+ 5 - 0
Basic3D/Resources/Assemblies.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "b6dd3280dc3a8dba2d752e61546c43d4",
+	"FolderImporter": {}
+}

+ 1 - 1
Basic3D/Resources/Scenes/Scene.scene

@@ -61,7 +61,7 @@
 		<attribute name="Scale" value="1 1 1" />
 		<attribute name="Variables" />
 		<component type="StaticModel" id="1975">
-			<attribute name="Model" value="Model;Cache/b00f01294b1cc469d4db9f862c9296b7.mdl" />
+			<attribute name="Model" value="Model;b00f01294b1cc469d4db9f862c9296b7.mdl" />
 			<attribute name="Material" value="Material;Models/Materials/DefaultMaterial.material" />
 		</component>
 		<component type="JSComponent" id="1976">

+ 0 - 0
Breakout/Breakout.atomic


+ 5 - 0
Breakout/Resources.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "87d83390b68594cd2ce33298d77b1b95",
+	"FolderImporter": {}
+}

+ 5 - 0
Breakout/Resources/Components.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "dc98902f747b8952111f4eb6bc108169",
+	"FolderImporter": {}
+}

+ 34 - 0
Breakout/Resources/Components/Background.js

@@ -0,0 +1,34 @@
+"atomic component";
+
+//random function returns a random float number from min to max
+function random(min, max) {
+    return (Math.random() * (max - min + 1)) + min;
+}
+
+//A Background component
+exports.component = function(self) {
+    self.start = function() {
+        //looping main game song
+        var music = Atomic.cache.getResource("Sound", "Sounds/crazy-space.ogg");
+        music.looped = true;
+        //get default zone
+        var zone = Atomic.renderer.getDefaultZone();
+        //fog color with ortho camera is a clear clear
+        //so we set a clear color
+        zone.setFogColor([0.282, 0.361, 0.557]);
+        //add stars on a background
+        for (var i = 0; i < 100; i++) {
+            //create a star node
+            var starNode = self.node.createChild("Star");
+            //set its position to a random number
+            starNode.position2D = [random(-Atomic.graphics.width/2, Atomic.graphics.width/2)*Atomic.PIXEL_SIZE, random(-Atomic.graphics.height/2, Atomic.graphics.height/2)*Atomic.PIXEL_SIZE];
+            //add static sprite component to display a 2d sprite
+            var star = starNode.createComponent("StaticSprite2D");
+            //set layer of a star to -100
+            //it means that we move star node to 'background' layer
+            star.layer = -100;
+            //load a sprite2D
+            star.sprite = Atomic.cache.getResource("Sprite2D", "Sprites/star.png");
+        }
+    }
+}

+ 7 - 0
Breakout/Resources/Components/Background.js.asset

@@ -0,0 +1,7 @@
+{
+	"version": 1,
+	"guid": "9528824b526e96ccd384fea78ac4430a",
+	"JavascriptImporter": {
+		"IsComponentFile": true
+	}
+}

+ 57 - 0
Breakout/Resources/Components/Ball.js

@@ -0,0 +1,57 @@
+"atomic component";
+
+var MAX_SPEED = 4;
+
+//A Ball component
+exports.component = function(self) {
+
+    //get a sound source from the scene
+    var brickDestroySound = self.scene.getChild("BrickSound").getComponent("SoundSource");
+    //function to play the brick destroy sound
+    function playBrickDestroySound() {
+        brickDestroySound.play(brickDestroySound.sound);
+    }
+
+    self.start = function() {
+        //define node name
+        self.node.name = "Ball";
+        self.rigidBody = self.getComponent("RigidBody2D");
+        self.subscribeToEvent("PhysicsBeginContact2D", function(data){
+            //get an collidable object
+            var other = (data.nodeA == self.node) ? data.nodeB : data.nodeA;
+            //check collision for a brick
+            if (other.name.indexOf("Brick") > -1) {
+                //play brick destroy sound
+                playBrickDestroySound();
+                //remove brick
+                Atomic.destroy(other);
+            }
+        });
+        self.zoom = self.node.scene.getMainCamera().zoom;
+    }
+
+    self.update = function(delta) {
+        if (!self.started) return;
+
+        //if x || y velocity of the ball is around zero,
+        //add 1 velocity to prevent bound up / down or left / right for ever
+        if (Math.abs(self.rigidBody.linearVelocity[0]) <= 0.0001)
+            self.rigidBody.linearVelocity = [MAX_SPEED, self.rigidBody.linearVelocity[1]];
+
+        if (Math.abs(self.rigidBody.linearVelocity[1]) <= 0.0001)
+            self.rigidBody.linearVelocity = [self.rigidBody.linearVelocity[0], MAX_SPEED];
+
+        //normalize a ball speed
+        if (self.rigidBody.linearVelocity[0] > MAX_SPEED)
+            self.rigidBody.linearVelocity = [MAX_SPEED, self.rigidBody.linearVelocity[1]];
+
+        if (self.rigidBody.linearVelocity[1] > MAX_SPEED)
+            self.rigidBody.linearVelocity = [self.rigidBody.linearVelocity[0], MAX_SPEED];
+
+        //check if a ball fell down
+        if (self.node.position2D[1] <= -Atomic.graphics.height/2*Atomic.PIXEL_SIZE/self.zoom) {
+            self.remove();
+            self.sendEvent("CreateNewBall");
+        }
+    }
+}

+ 7 - 0
Breakout/Resources/Components/Ball.js.asset

@@ -0,0 +1,7 @@
+{
+	"version": 1,
+	"guid": "6547780a2f917e23169782ab29ae93f2",
+	"JavascriptImporter": {
+		"IsComponentFile": true
+	}
+}

+ 101 - 0
Breakout/Resources/Components/Paddle.js

@@ -0,0 +1,101 @@
+"atomic component";
+
+var inspectorFields = {
+    keyboard: false
+}
+
+var PADDLE_SPEED = 0.03;
+
+//A Paddle component
+exports.component = function(self) {
+    self.start = function() {
+        //define node name
+        self.node.name = "Paddle";
+
+        self.rigidBody = self.getComponent("RigidBody2D");
+
+        self.createStartBall();
+
+        self.subscribeToEvent("CreateNewBall", function(_) {
+            self.createStartBall();
+            self.started = false;
+        });
+
+        self.subscribeToEvent("MultiGesture", function(event) {
+            if(event.numFingers >= 2 && !self.started) {
+                self.runBall();
+            }
+        });
+
+        self.zoom = self.node.scene.getMainCamera().zoom;
+        self.node.position2D = [self.node.position2D[0], -Atomic.graphics.height/2.5*Atomic.PIXEL_SIZE/self.zoom];
+    }
+    self.createStartBall = function() {
+        //create startBall prefab
+        self.startBall = self.scene.createChildPrefab("Ball", "Prefabs/Ball.prefab");
+        //move the ball off screen, because we will change its position later
+        self.startBall.position2D = [-100, -100];
+        //also get a Ball component
+        self.startBallComponent = self.startBall.getJSComponent("Ball");
+    }
+
+    self.runBall = function() {
+        //get rigidBody component of ours ball
+        var body = self.startBall.getComponent("RigidBody2D");
+        //let's run our ball!
+        body.applyForceToCenter([20/self.zoom + Math.random(), 20/self.zoom + Math.random()], true);
+        self.startBallComponent.started = true;
+        self.started = true;
+    }
+
+    self.update = function(delta) {
+        //if we haven't ball started
+        if (!self.started) {
+            //check mouse button click
+            if(Atomic.input.getMouseButtonPress(Atomic.MOUSEB_LEFT) || Atomic.input.getKeyDown(Atomic.KEY_SPACE)) {
+                self.runBall();
+            }
+            //if we haven't started yet, move our ball with the paddle
+            self.startBall.position2D = [self.node.position2D[0], self.node.position2D[1]+64*Atomic.PIXEL_SIZE];
+        }
+        if (Atomic.platform == "Android" || Atomic.platform == "iOS") {
+            //get touches
+            var numTouches = Atomic.input.getNumTouches();
+            //we want use only one finger, so return if there's more
+            if (numTouches != 1) return;
+            //get the first touch state
+            var touchState = Atomic.input.getTouch(0);
+            //get current mouse position, and project screen coordinates to the world coordinates
+            var pos = Atomic.renderer.getViewport(0).screenToWorldPoint(touchState.position[0], 0, 0);
+            //set y value to -3
+            pos[1] = -Atomic.graphics.height/2.5*Atomic.PIXEL_SIZE/self.zoom;
+            // set paddle position to the calculated one
+            self.node.position2D = pos;
+        } else {
+            if (self.keyboard) {
+                var pos = self.node.position2D;
+                if (Atomic.input.getKeyDown(Atomic.KEY_A) || Atomic.input.getKeyDown(Atomic.KEY_LEFT)) {
+                    pos[0] -= PADDLE_SPEED;
+                    self.node.position2D = pos;
+                    // self.rigidBody.setLinearVelocity([-5, 0]);
+                } else if (Atomic.input.getKeyDown(Atomic.KEY_D) || Atomic.input.getKeyDown(Atomic.KEY_RIGHT)) {
+                    pos[0] += PADDLE_SPEED;
+                    self.node.position2D = pos;
+                }
+            } else {
+                //get current mouse position, and project screen coordinates to the world coordinates
+                var pos = Atomic.renderer.getViewport(0).screenToWorldPoint(Atomic.input.getMousePosition()[0], 0, 0);
+                //set y value to -3
+                pos[1] = -Atomic.graphics.height/2.5*Atomic.PIXEL_SIZE/self.zoom;
+                // set paddle position to the calculated one
+                self.node.position2D = pos;
+            }
+        }
+        if(self.node.position2D[0] < -Atomic.graphics.width / 2*Atomic.PIXEL_SIZE/self.zoom) {
+            self.node.position2D = [-Atomic.graphics.width / 2*Atomic.PIXEL_SIZE/self.zoom, -Atomic.graphics.height/2.5*Atomic.PIXEL_SIZE/self.zoom];
+        }
+        if(self.node.position2D[0] > Atomic.graphics.width / 2*Atomic.PIXEL_SIZE/self.zoom) {
+            self.node.position2D = [Atomic.graphics.width / 2*Atomic.PIXEL_SIZE/self.zoom, -Atomic.graphics.height/2.5*Atomic.PIXEL_SIZE/self.zoom];
+        }
+    }
+}

+ 7 - 0
Breakout/Resources/Components/Paddle.js.asset

@@ -0,0 +1,7 @@
+{
+	"version": 1,
+	"guid": "98b134e7d97d511d6c29dbb5c82b9ea3",
+	"JavascriptImporter": {
+		"IsComponentFile": true
+	}
+}

+ 14 - 0
Breakout/Resources/Components/PhysicsDebug.js

@@ -0,0 +1,14 @@
+"atomic component";
+
+//A PhysicsDebug component
+exports.component = function(self) {
+    self.start = function() {
+        //we get a debugRenderer from the scene, if scene doesn't have one, it won't work
+        var debug = self.scene.getComponent("DebugRenderer");
+        var world = self.scene.getComponent("PhysicsWorld2D");
+        //we excecute drawDebugGeometry function to render world debug geometry
+        self.subscribeToEvent("PostRenderUpdate",function(_) {
+            world.drawDebugGeometry();
+        });
+    }
+}

+ 7 - 0
Breakout/Resources/Components/PhysicsDebug.js.asset

@@ -0,0 +1,7 @@
+{
+	"version": 1,
+	"guid": "758750d6125316557cb428fcd331f24a",
+	"JavascriptImporter": {
+		"IsComponentFile": true
+	}
+}

+ 48 - 0
Breakout/Resources/Components/ScoreManager.js

@@ -0,0 +1,48 @@
+"atomic component";
+
+exports.component = function(self) {
+    self.start = function() {
+        self.scores = 0;
+        self.subscribeToEvent("PhysicsBeginContact2D", function(data){
+            //check if a ball collide with brick
+            if ((data.nodeA.name == "Ball" && data.nodeB.name.indexOf("Brick")>-1) || (data.nodeB.name == "Ball" && data.nodeA.name.indexOf("Brick")>-1)) {
+                //add scores
+                self.scores += 10;
+                self.updateText();
+            }
+        });
+
+        var view = new Atomic.UIView();
+        // Create a layout, otherwise child widgets won't know how to size themselves
+        // and would manually need to be sized
+        var layout = new Atomic.UILayout();
+
+        // specify the layout region
+        layout.rect = view.rect;
+
+        view.addChild(layout);
+
+        // we're laying out on the X axis so "position" controls top and bottom alignment
+        layout.layoutPosition = Atomic.UI_LAYOUT_POSITION_LEFT_TOP;
+        // while "distribution" handles the Y axis
+        layout.layoutDistributionPosition = Atomic.UI_LAYOUT_DISTRIBUTION_POSITION_LEFT_TOP;
+
+        var fd = new Atomic.UIFontDescription();
+        fd.id = "Vera";
+        fd.size = 18;
+
+        self.scoreText = new Atomic.UIEditField();
+        self.scoreText.fontDescription = fd;
+        self.scoreText.readOnly = true;
+        self.scoreText.multiline = true;
+        self.scoreText.adaptToContentSize = true;
+        self.scoreText.text = "Scores: ";
+        layout.addChild(self.scoreText);
+
+        self.updateText();
+    }
+
+    self.updateText = function() {
+        self.scoreText.text = "Score: " + self.scores;
+    }
+}

+ 7 - 0
Breakout/Resources/Components/ScoreManager.js.asset

@@ -0,0 +1,7 @@
+{
+	"version": 1,
+	"guid": "686cfbac4109178868fab0b33586a867",
+	"JavascriptImporter": {
+		"IsComponentFile": true
+	}
+}

+ 23 - 0
Breakout/Resources/Components/Wall.js

@@ -0,0 +1,23 @@
+"atomic component";
+
+//A Wall component
+exports.component = function(self) {
+    self.start = function() {
+        //get rigid body component
+        self.rigidBody = self.node.getComponent("RigidBody2D");
+
+        //create a new chain to define a wall
+        var chain = self.node.createComponent("CollisionChain2D");
+        chain.loop = false;
+        //set vertex cound to 4
+        chain.setVertexCount(4);
+        var zoom = self.node.scene.getMainCamera().zoom;
+        var halfWidth = Atomic.graphics.width / 2 * Atomic.PIXEL_SIZE / zoom;
+        var halfHeight = Atomic.graphics.height / 2 * Atomic.PIXEL_SIZE / zoom;
+        //define vertexes
+        chain.setVertex(0, [-halfWidth, -halfHeight]);
+        chain.setVertex(1, [-halfWidth, halfHeight]);
+        chain.setVertex(2, [halfWidth, halfHeight]);
+        chain.setVertex(3, [halfWidth, -halfHeight]);
+    }
+}

+ 7 - 0
Breakout/Resources/Components/Wall.js.asset

@@ -0,0 +1,7 @@
+{
+	"version": 1,
+	"guid": "57fdf1b96116c0c843b3ebfaa43bace0",
+	"JavascriptImporter": {
+		"IsComponentFile": true
+	}
+}

+ 5 - 0
Breakout/Resources/Prefabs.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "f2789a7ae93614b91f9b486f723387d5",
+	"FolderImporter": {}
+}

+ 29 - 0
Breakout/Resources/Prefabs/Ball.prefab

@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<node id="443">
+	<attribute name="Is Enabled" value="true" />
+	<attribute name="Name" value="Ball" />
+	<attribute name="Position" value="0 0 0" />
+	<attribute name="Rotation" value="1 0 0 0" />
+	<attribute name="Scale" value="1 1 1" />
+	<attribute name="Variables" />
+	<component type="StaticSprite2D" id="2120">
+		<attribute name="Sprite" value="Sprite2D;Sprites/ball.png" />
+	</component>
+	<component type="RigidBody2D" id="2121">
+		<attribute name="Body Type" value="Dynamic" />
+		<attribute name="Mass" value="0.0314159" />
+		<attribute name="Inertia" value="0.00015708" />
+		<attribute name="Bullet" value="true" />
+	</component>
+	<component type="CollisionCircle2D" id="2122">
+		<attribute name="Radius" value="0.1" />
+		<attribute name="Category Bits" value="1" />
+		<attribute name="Mask Bits" value="65535" />
+		<attribute name="Density" value="1" />
+		<attribute name="Friction" value="0" />
+		<attribute name="Restitution" value="1" />
+	</component>
+	<component type="JSComponent" id="2123">
+		<attribute name="ComponentFile" value="JSComponentFile;Components/Ball.js" />
+	</component>
+</node>

+ 5 - 0
Breakout/Resources/Prefabs/Ball.prefab.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "a65d41a0fed3d6841f435c97e1f267b1",
+	"PrefabImporter": {}
+}

+ 18 - 0
Breakout/Resources/Prefabs/BrickBlue.prefab

@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<node id="429">
+	<attribute name="Is Enabled" value="true" />
+	<attribute name="Name" value="BrickBlue" />
+	<attribute name="Position" value="-0 0 0" />
+	<attribute name="Rotation" value="1 0 0 0" />
+	<attribute name="Scale" value="1 1 1" />
+	<attribute name="Variables" />
+	<component type="StaticSprite2D" id="2397">
+		<attribute name="Sprite" value="Sprite2D;Sprites/block_blue.png" />
+	</component>
+	<component type="RigidBody2D" id="2398" />
+	<component type="CollisionBox2D" id="2399">
+		<attribute name="Size" value="0.6 0.3" />
+		<attribute name="Category Bits" value="1" />
+		<attribute name="Mask Bits" value="65535" />
+	</component>
+</node>

+ 5 - 0
Breakout/Resources/Prefabs/BrickBlue.prefab.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "66b8b3aac5abc1e85b860662e47bbb95",
+	"PrefabImporter": {}
+}

+ 18 - 0
Breakout/Resources/Prefabs/BrickGreen.prefab

@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<node id="414">
+	<attribute name="Is Enabled" value="true" />
+	<attribute name="Name" value="BrickGreen" />
+	<attribute name="Position" value="0 0 -0" />
+	<attribute name="Rotation" value="1 0 0 0" />
+	<attribute name="Scale" value="1 1 1" />
+	<attribute name="Variables" />
+	<component type="StaticSprite2D" id="2232">
+		<attribute name="Sprite" value="Sprite2D;Sprites/block_green.png" />
+	</component>
+	<component type="RigidBody2D" id="2233" />
+	<component type="CollisionBox2D" id="2234">
+		<attribute name="Size" value="0.6 0.3" />
+		<attribute name="Category Bits" value="1" />
+		<attribute name="Mask Bits" value="65535" />
+	</component>
+</node>

+ 5 - 0
Breakout/Resources/Prefabs/BrickGreen.prefab.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "413ab8b672ec3db8d80412dd67cab815",
+	"PrefabImporter": {}
+}

+ 18 - 0
Breakout/Resources/Prefabs/BrickPurple.prefab

@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<node id="397">
+	<attribute name="Is Enabled" value="true" />
+	<attribute name="Name" value="BrickPurple" />
+	<attribute name="Position" value="-6 2 0" />
+	<attribute name="Rotation" value="1 0 0 0" />
+	<attribute name="Scale" value="1 1 1" />
+	<attribute name="Variables" />
+	<component type="StaticSprite2D" id="2127">
+		<attribute name="Sprite" value="Sprite2D;Sprites/block_purple.png" />
+	</component>
+	<component type="RigidBody2D" id="2128" />
+	<component type="CollisionBox2D" id="2129">
+		<attribute name="Size" value="0.6 0.3" />
+		<attribute name="Category Bits" value="1" />
+		<attribute name="Mask Bits" value="65535" />
+	</component>
+</node>

+ 5 - 0
Breakout/Resources/Prefabs/BrickPurple.prefab.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "ea17102aece9c6362cc6c47f6e4bfc02",
+	"PrefabImporter": {}
+}

+ 18 - 0
Breakout/Resources/Prefabs/BrickRed.prefab

@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<node id="373">
+	<attribute name="Is Enabled" value="true" />
+	<attribute name="Name" value="BrickRed" />
+	<attribute name="Position" value="-6 3 0" />
+	<attribute name="Rotation" value="1 0 0 0" />
+	<attribute name="Scale" value="1 1 1" />
+	<attribute name="Variables" />
+	<component type="StaticSprite2D" id="2005">
+		<attribute name="Sprite" value="Sprite2D;Sprites/block_red.png" />
+	</component>
+	<component type="RigidBody2D" id="2006" />
+	<component type="CollisionBox2D" id="2007">
+		<attribute name="Size" value="0.6 0.3" />
+		<attribute name="Category Bits" value="1" />
+		<attribute name="Mask Bits" value="65535" />
+	</component>
+</node>

+ 5 - 0
Breakout/Resources/Prefabs/BrickRed.prefab.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "caf863e07b1d8a78f19a9ee9326391f4",
+	"PrefabImporter": {}
+}

+ 18 - 0
Breakout/Resources/Prefabs/BrickYellow.prefab

@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<node id="444">
+	<attribute name="Is Enabled" value="true" />
+	<attribute name="Name" value="BrickYellow" />
+	<attribute name="Position" value="-0 0 0" />
+	<attribute name="Rotation" value="1 0 0 0" />
+	<attribute name="Scale" value="1 1 1" />
+	<attribute name="Variables" />
+	<component type="StaticSprite2D" id="2453">
+		<attribute name="Sprite" value="Sprite2D;Sprites/block_yellow.png" />
+	</component>
+	<component type="RigidBody2D" id="2454" />
+	<component type="CollisionBox2D" id="2455">
+		<attribute name="Size" value="0.6 0.3" />
+		<attribute name="Category Bits" value="1" />
+		<attribute name="Mask Bits" value="65535" />
+	</component>
+</node>

+ 5 - 0
Breakout/Resources/Prefabs/BrickYellow.prefab.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "1c92cb268079dda214677877767a7e74",
+	"PrefabImporter": {}
+}

+ 5 - 0
Breakout/Resources/Scenes.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "bb7c810d955c17ba5abc36a25deaa5eb",
+	"FolderImporter": {}
+}

+ 859 - 0
Breakout/Resources/Scenes/Scene.scene

@@ -0,0 +1,859 @@
+<?xml version="1.0"?>
+<scene id="1">
+	<attribute name="Name" value="" />
+	<attribute name="Time Scale" value="1" />
+	<attribute name="Smoothing Constant" value="50" />
+	<attribute name="Snap Threshold" value="5" />
+	<attribute name="Elapsed Time" value="0" />
+	<attribute name="Next Replicated Node ID" value="476" />
+	<attribute name="Next Replicated Component ID" value="5089" />
+	<attribute name="Next Local Node ID" value="16778496" />
+	<attribute name="Next Local Component ID" value="16777216" />
+	<attribute name="Variables" />
+	<attribute name="Variable Names" value="" />
+	<component type="Octree" id="2" />
+	<component type="DebugRenderer" id="3" />
+	<component type="Renderer2D" id="1976" />
+	<component type="PhysicsWorld2D" id="1981">
+		<attribute name="Draw Shape" value="true" />
+		<attribute name="Draw Aabb" value="true" />
+		<attribute name="Allow Sleeping" value="true" />
+		<attribute name="Warm Starting" value="true" />
+		<attribute name="Gravity" value="0 0" />
+		<attribute name="Auto Clear Forces" value="true" />
+	</component>
+	<node id="361">
+		<attribute name="Is Enabled" value="true" />
+		<attribute name="Name" value="Camera" />
+		<attribute name="Position" value="0 0 -5" />
+		<attribute name="Rotation" value="1 0 0 0" />
+		<attribute name="Scale" value="1 1 1" />
+		<attribute name="Variables" />
+		<component type="Camera" id="1973">
+			<attribute name="Near Clip" value="0" />
+			<attribute name="Orthographic" value="true" />
+			<attribute name="Orthographic Size" value="5" />
+		</component>
+	</node>
+	<node id="363">
+		<attribute name="Is Enabled" value="true" />
+		<attribute name="Name" value="Paddle" />
+		<attribute name="Position" value="0 -3 0" />
+		<attribute name="Rotation" value="1 0 0 0" />
+		<attribute name="Scale" value="1 1 1" />
+		<attribute name="Variables" />
+		<component type="StaticSprite2D" id="1975">
+			<attribute name="Sprite" value="Sprite2D;Sprites/paddle.png" />
+		</component>
+		<component type="RigidBody2D" id="1982">
+			<attribute name="Body Type" value="Kinematic" />
+		</component>
+		<component type="CollisionBox2D" id="1984">
+			<attribute name="Size" value="1 0.25" />
+			<attribute name="Category Bits" value="1" />
+			<attribute name="Mask Bits" value="65535" />
+			<attribute name="Density" value="10" />
+			<attribute name="Friction" value="0" />
+			<attribute name="Restitution" value="0.1" />
+		</component>
+		<component type="JSComponent" id="1986">
+			<attribute name="FieldValues">
+				<variant hash="2138454023" type="Bool" value="false" />
+			</attribute>
+			<attribute name="ComponentFile" value="JSComponentFile;Components/Paddle.js" />
+		</component>
+	</node>
+	<node id="369">
+		<attribute name="Is Enabled" value="true" />
+		<attribute name="Name" value="Wall" />
+		<attribute name="Position" value="0 0 0" />
+		<attribute name="Rotation" value="1 0 0 0" />
+		<attribute name="Scale" value="1 1 1" />
+		<attribute name="Variables" />
+		<component type="JSComponent" id="2000">
+			<attribute name="ComponentFile" value="JSComponentFile;Components/Wall.js" />
+		</component>
+		<component type="RigidBody2D" id="2001" />
+	</node>
+	<node id="379">
+		<attribute name="Is Enabled" value="true" />
+		<attribute name="Name" value="Level" />
+		<attribute name="Position" value="0 0 0" />
+		<attribute name="Rotation" value="1 0 0 0" />
+		<attribute name="Scale" value="1 1 1" />
+		<attribute name="Variables" />
+		<node id="377">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickRed" />
+			<attribute name="Position" value="-6 3 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2014">
+				<attribute name="PrefabGUID" value="caf863e07b1d8a78f19a9ee9326391f4" />
+			</component>
+		</node>
+		<node id="376">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickRed" />
+			<attribute name="Position" value="-5 3 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2010">
+				<attribute name="PrefabGUID" value="caf863e07b1d8a78f19a9ee9326391f4" />
+			</component>
+		</node>
+		<node id="384">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickRed" />
+			<attribute name="Position" value="-1 3 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2035">
+				<attribute name="PrefabGUID" value="caf863e07b1d8a78f19a9ee9326391f4" />
+			</component>
+		</node>
+		<node id="383">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickRed" />
+			<attribute name="Position" value="-2 3 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2031">
+				<attribute name="PrefabGUID" value="caf863e07b1d8a78f19a9ee9326391f4" />
+			</component>
+		</node>
+		<node id="382">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickRed" />
+			<attribute name="Position" value="-3 3 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2027">
+				<attribute name="PrefabGUID" value="caf863e07b1d8a78f19a9ee9326391f4" />
+			</component>
+		</node>
+		<node id="381">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickRed" />
+			<attribute name="Position" value="-4 3 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2023">
+				<attribute name="PrefabGUID" value="caf863e07b1d8a78f19a9ee9326391f4" />
+			</component>
+		</node>
+		<node id="392">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickRed" />
+			<attribute name="Position" value="6 3 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2079">
+				<attribute name="PrefabGUID" value="caf863e07b1d8a78f19a9ee9326391f4" />
+			</component>
+		</node>
+		<node id="391">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickRed" />
+			<attribute name="Position" value="5 3 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2075">
+				<attribute name="PrefabGUID" value="caf863e07b1d8a78f19a9ee9326391f4" />
+			</component>
+		</node>
+		<node id="390">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickRed" />
+			<attribute name="Position" value="4 3 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2071">
+				<attribute name="PrefabGUID" value="caf863e07b1d8a78f19a9ee9326391f4" />
+			</component>
+		</node>
+		<node id="389">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickRed" />
+			<attribute name="Position" value="3 3 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2067">
+				<attribute name="PrefabGUID" value="caf863e07b1d8a78f19a9ee9326391f4" />
+			</component>
+		</node>
+		<node id="388">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickRed" />
+			<attribute name="Position" value="2 3 -0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2063">
+				<attribute name="PrefabGUID" value="caf863e07b1d8a78f19a9ee9326391f4" />
+			</component>
+		</node>
+		<node id="387">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickRed" />
+			<attribute name="Position" value="1 3 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2059">
+				<attribute name="PrefabGUID" value="caf863e07b1d8a78f19a9ee9326391f4" />
+			</component>
+		</node>
+		<node id="386">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickRed" />
+			<attribute name="Position" value="0 3 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2055">
+				<attribute name="PrefabGUID" value="caf863e07b1d8a78f19a9ee9326391f4" />
+			</component>
+		</node>
+		<node id="409">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickPurple" />
+			<attribute name="Position" value="2 2 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2211">
+				<attribute name="PrefabGUID" value="ea17102aece9c6362cc6c47f6e4bfc02" />
+			</component>
+		</node>
+		<node id="408">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickPurple" />
+			<attribute name="Position" value="1 2 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2207">
+				<attribute name="PrefabGUID" value="ea17102aece9c6362cc6c47f6e4bfc02" />
+			</component>
+		</node>
+		<node id="407">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickPurple" />
+			<attribute name="Position" value="0 2 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2203">
+				<attribute name="PrefabGUID" value="ea17102aece9c6362cc6c47f6e4bfc02" />
+			</component>
+		</node>
+		<node id="405">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickPurple" />
+			<attribute name="Position" value="0 2 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2195">
+				<attribute name="PrefabGUID" value="ea17102aece9c6362cc6c47f6e4bfc02" />
+			</component>
+		</node>
+		<node id="404">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickPurple" />
+			<attribute name="Position" value="-1 2 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2191">
+				<attribute name="PrefabGUID" value="ea17102aece9c6362cc6c47f6e4bfc02" />
+			</component>
+		</node>
+		<node id="403">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickPurple" />
+			<attribute name="Position" value="-2 2 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2187">
+				<attribute name="PrefabGUID" value="ea17102aece9c6362cc6c47f6e4bfc02" />
+			</component>
+		</node>
+		<node id="402">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickPurple" />
+			<attribute name="Position" value="-3 2 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2183">
+				<attribute name="PrefabGUID" value="ea17102aece9c6362cc6c47f6e4bfc02" />
+			</component>
+		</node>
+		<node id="401">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickPurple" />
+			<attribute name="Position" value="-4 2 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2179">
+				<attribute name="PrefabGUID" value="ea17102aece9c6362cc6c47f6e4bfc02" />
+			</component>
+		</node>
+		<node id="400">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickPurple" />
+			<attribute name="Position" value="-5 2 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2175">
+				<attribute name="PrefabGUID" value="ea17102aece9c6362cc6c47f6e4bfc02" />
+			</component>
+		</node>
+		<node id="397">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickPurple" />
+			<attribute name="Position" value="-6 2 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2163">
+				<attribute name="PrefabGUID" value="ea17102aece9c6362cc6c47f6e4bfc02" />
+			</component>
+		</node>
+		<node id="413">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickPurple" />
+			<attribute name="Position" value="6 2 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2227">
+				<attribute name="PrefabGUID" value="ea17102aece9c6362cc6c47f6e4bfc02" />
+			</component>
+		</node>
+		<node id="412">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickPurple" />
+			<attribute name="Position" value="5 2 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2223">
+				<attribute name="PrefabGUID" value="ea17102aece9c6362cc6c47f6e4bfc02" />
+			</component>
+		</node>
+		<node id="411">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickPurple" />
+			<attribute name="Position" value="4 2 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2219">
+				<attribute name="PrefabGUID" value="ea17102aece9c6362cc6c47f6e4bfc02" />
+			</component>
+		</node>
+		<node id="410">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickPurple" />
+			<attribute name="Position" value="3 2 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2215">
+				<attribute name="PrefabGUID" value="ea17102aece9c6362cc6c47f6e4bfc02" />
+			</component>
+		</node>
+		<node id="427">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickGreen" />
+			<attribute name="Position" value="6 1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2280">
+				<attribute name="PrefabGUID" value="413ab8b672ec3db8d80412dd67cab815" />
+			</component>
+		</node>
+		<node id="426">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickGreen" />
+			<attribute name="Position" value="5 1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2276">
+				<attribute name="PrefabGUID" value="413ab8b672ec3db8d80412dd67cab815" />
+			</component>
+		</node>
+		<node id="425">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickGreen" />
+			<attribute name="Position" value="4 1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2272">
+				<attribute name="PrefabGUID" value="413ab8b672ec3db8d80412dd67cab815" />
+			</component>
+		</node>
+		<node id="424">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickGreen" />
+			<attribute name="Position" value="3 1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2268">
+				<attribute name="PrefabGUID" value="413ab8b672ec3db8d80412dd67cab815" />
+			</component>
+		</node>
+		<node id="423">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickGreen" />
+			<attribute name="Position" value="2 1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2264">
+				<attribute name="PrefabGUID" value="413ab8b672ec3db8d80412dd67cab815" />
+			</component>
+		</node>
+		<node id="422">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickGreen" />
+			<attribute name="Position" value="1 1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2260">
+				<attribute name="PrefabGUID" value="413ab8b672ec3db8d80412dd67cab815" />
+			</component>
+		</node>
+		<node id="421">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickGreen" />
+			<attribute name="Position" value="0 1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2256">
+				<attribute name="PrefabGUID" value="413ab8b672ec3db8d80412dd67cab815" />
+			</component>
+		</node>
+		<node id="420">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickGreen" />
+			<attribute name="Position" value="-1 1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2252">
+				<attribute name="PrefabGUID" value="413ab8b672ec3db8d80412dd67cab815" />
+			</component>
+		</node>
+		<node id="419">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickGreen" />
+			<attribute name="Position" value="-2 1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2248">
+				<attribute name="PrefabGUID" value="413ab8b672ec3db8d80412dd67cab815" />
+			</component>
+		</node>
+		<node id="418">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickGreen" />
+			<attribute name="Position" value="-3 1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2244">
+				<attribute name="PrefabGUID" value="413ab8b672ec3db8d80412dd67cab815" />
+			</component>
+		</node>
+		<node id="417">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickGreen" />
+			<attribute name="Position" value="-4 1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2240">
+				<attribute name="PrefabGUID" value="413ab8b672ec3db8d80412dd67cab815" />
+			</component>
+		</node>
+		<node id="416">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickGreen" />
+			<attribute name="Position" value="-5 1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2236">
+				<attribute name="PrefabGUID" value="413ab8b672ec3db8d80412dd67cab815" />
+			</component>
+		</node>
+		<node id="415">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickGreen" />
+			<attribute name="Position" value="-6 1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2235">
+				<attribute name="PrefabGUID" value="413ab8b672ec3db8d80412dd67cab815" />
+			</component>
+		</node>
+		<node id="441">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickBlue" />
+			<attribute name="Position" value="2 0 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2444">
+				<attribute name="PrefabGUID" value="66b8b3aac5abc1e85b860662e47bbb95" />
+			</component>
+		</node>
+		<node id="440">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickBlue" />
+			<attribute name="Position" value="6 0 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2440">
+				<attribute name="PrefabGUID" value="66b8b3aac5abc1e85b860662e47bbb95" />
+			</component>
+		</node>
+		<node id="439">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickBlue" />
+			<attribute name="Position" value="5 0 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2436">
+				<attribute name="PrefabGUID" value="66b8b3aac5abc1e85b860662e47bbb95" />
+			</component>
+		</node>
+		<node id="438">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickBlue" />
+			<attribute name="Position" value="3 0 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2432">
+				<attribute name="PrefabGUID" value="66b8b3aac5abc1e85b860662e47bbb95" />
+			</component>
+		</node>
+		<node id="437">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickBlue" />
+			<attribute name="Position" value="4 0 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2428">
+				<attribute name="PrefabGUID" value="66b8b3aac5abc1e85b860662e47bbb95" />
+			</component>
+		</node>
+		<node id="436">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickBlue" />
+			<attribute name="Position" value="1 0 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2424">
+				<attribute name="PrefabGUID" value="66b8b3aac5abc1e85b860662e47bbb95" />
+			</component>
+		</node>
+		<node id="435">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickBlue" />
+			<attribute name="Position" value="-5 0 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2420">
+				<attribute name="PrefabGUID" value="66b8b3aac5abc1e85b860662e47bbb95" />
+			</component>
+		</node>
+		<node id="434">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickBlue" />
+			<attribute name="Position" value="-4 0 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2416">
+				<attribute name="PrefabGUID" value="66b8b3aac5abc1e85b860662e47bbb95" />
+			</component>
+		</node>
+		<node id="433">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickBlue" />
+			<attribute name="Position" value="-3 0 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2412">
+				<attribute name="PrefabGUID" value="66b8b3aac5abc1e85b860662e47bbb95" />
+			</component>
+		</node>
+		<node id="432">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickBlue" />
+			<attribute name="Position" value="-2 0 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2408">
+				<attribute name="PrefabGUID" value="66b8b3aac5abc1e85b860662e47bbb95" />
+			</component>
+		</node>
+		<node id="431">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickBlue" />
+			<attribute name="Position" value="-1 0 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2404">
+				<attribute name="PrefabGUID" value="66b8b3aac5abc1e85b860662e47bbb95" />
+			</component>
+		</node>
+		<node id="430">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickBlue" />
+			<attribute name="Position" value="-0 0 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2400">
+				<attribute name="PrefabGUID" value="66b8b3aac5abc1e85b860662e47bbb95" />
+			</component>
+		</node>
+		<node id="429">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickBlue" />
+			<attribute name="Position" value="-6 0 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2396">
+				<attribute name="PrefabGUID" value="66b8b3aac5abc1e85b860662e47bbb95" />
+			</component>
+		</node>
+		<node id="457">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickYellow" />
+			<attribute name="Position" value="-6 -1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2501">
+				<attribute name="PrefabGUID" value="1c92cb268079dda214677877767a7e74" />
+			</component>
+		</node>
+		<node id="456">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickYellow" />
+			<attribute name="Position" value="5 -1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2497">
+				<attribute name="PrefabGUID" value="1c92cb268079dda214677877767a7e74" />
+			</component>
+		</node>
+		<node id="455">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickYellow" />
+			<attribute name="Position" value="6 -1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2493">
+				<attribute name="PrefabGUID" value="1c92cb268079dda214677877767a7e74" />
+			</component>
+		</node>
+		<node id="454">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickYellow" />
+			<attribute name="Position" value="-5 -1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2489">
+				<attribute name="PrefabGUID" value="1c92cb268079dda214677877767a7e74" />
+			</component>
+		</node>
+		<node id="453">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickYellow" />
+			<attribute name="Position" value="-4 -1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2485">
+				<attribute name="PrefabGUID" value="1c92cb268079dda214677877767a7e74" />
+			</component>
+		</node>
+		<node id="452">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickYellow" />
+			<attribute name="Position" value="-3 -1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2481">
+				<attribute name="PrefabGUID" value="1c92cb268079dda214677877767a7e74" />
+			</component>
+		</node>
+		<node id="451">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickYellow" />
+			<attribute name="Position" value="-2 -1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2477">
+				<attribute name="PrefabGUID" value="1c92cb268079dda214677877767a7e74" />
+			</component>
+		</node>
+		<node id="450">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickYellow" />
+			<attribute name="Position" value="-1 -1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2473">
+				<attribute name="PrefabGUID" value="1c92cb268079dda214677877767a7e74" />
+			</component>
+		</node>
+		<node id="449">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickYellow" />
+			<attribute name="Position" value="-0 -1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2469">
+				<attribute name="PrefabGUID" value="1c92cb268079dda214677877767a7e74" />
+			</component>
+		</node>
+		<node id="448">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickYellow" />
+			<attribute name="Position" value="1 -1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2465">
+				<attribute name="PrefabGUID" value="1c92cb268079dda214677877767a7e74" />
+			</component>
+		</node>
+		<node id="447">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickYellow" />
+			<attribute name="Position" value="2 -1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2461">
+				<attribute name="PrefabGUID" value="1c92cb268079dda214677877767a7e74" />
+			</component>
+		</node>
+		<node id="446">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickYellow" />
+			<attribute name="Position" value="3 -1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2457">
+				<attribute name="PrefabGUID" value="1c92cb268079dda214677877767a7e74" />
+			</component>
+		</node>
+		<node id="445">
+			<attribute name="Is Enabled" value="true" />
+			<attribute name="Name" value="BrickYellow" />
+			<attribute name="Position" value="4 -1 0" />
+			<attribute name="Rotation" value="1 0 0 0" />
+			<attribute name="Scale" value="1 1 1" />
+			<attribute name="Variables" />
+			<component type="PrefabComponent" id="2456">
+				<attribute name="PrefabGUID" value="1c92cb268079dda214677877767a7e74" />
+			</component>
+		</node>
+	</node>
+	<node id="468">
+		<attribute name="Is Enabled" value="true" />
+		<attribute name="Name" value="BrickSound" />
+		<attribute name="Position" value="0 0 0" />
+		<attribute name="Rotation" value="1 0 0 0" />
+		<attribute name="Scale" value="1 1 1" />
+		<attribute name="Variables" />
+		<component type="SoundSource" id="4347">
+			<attribute name="Sound" value="Sound;Sounds/brickDeath.wav" />
+			<attribute name="Type" value="Brick" />
+		</component>
+	</node>
+	<node id="469">
+		<attribute name="Is Enabled" value="true" />
+		<attribute name="Name" value="Background" />
+		<attribute name="Position" value="0 0 0" />
+		<attribute name="Rotation" value="1 0 0 0" />
+		<attribute name="Scale" value="1 1 1" />
+		<attribute name="Variables" />
+		<component type="JSComponent" id="4349">
+			<attribute name="ComponentFile" value="JSComponentFile;Components/Background.js" />
+		</component>
+	</node>
+	<node id="472">
+		<attribute name="Is Enabled" value="true" />
+		<attribute name="Name" value="ScoreManager" />
+		<attribute name="Position" value="0 0 0" />
+		<attribute name="Rotation" value="1 0 0 0" />
+		<attribute name="Scale" value="1 1 1" />
+		<attribute name="Variables" />
+		<component type="JSComponent" id="4718">
+			<attribute name="ComponentFile" value="JSComponentFile;Components/ScoreManager.js" />
+		</component>
+	</node>
+	<node id="473">
+		<attribute name="Is Enabled" value="true" />
+		<attribute name="Name" value="BackgroundSound" />
+		<attribute name="Position" value="0 0 0" />
+		<attribute name="Rotation" value="1 0 0 0" />
+		<attribute name="Scale" value="1 1 1" />
+		<attribute name="Variables" />
+		<component type="SoundSource" id="4719">
+			<attribute name="Sound" value="Sound;Sounds/crazy-space.ogg" />
+			<attribute name="Frequency" value="44100" />
+			<attribute name="Autoplay" value="true" />
+		</component>
+	</node>
+</scene>

+ 5 - 0
Breakout/Resources/Scenes/Scene.scene.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "774ee9a1cefe3a102921cc704c0cad7f",
+	"SceneImporter": {}
+}

+ 5 - 0
Breakout/Resources/Scripts.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "d027135ea8dc961769b080e08234e56f",
+	"FolderImporter": {}
+}

+ 11 - 0
Breakout/Resources/Scripts/main.js

@@ -0,0 +1,11 @@
+var WIDTH = 1280;
+var HEIGHT = 720;
+//set texture filter mode to the nearest to see pure pixels
+Atomic.renderer.textureFilterMode = Atomic.FILTER_NEAREST;
+//load a new main scene
+var scene = Atomic.player.loadScene("Scenes/Scene.scene");
+//get main camera from the loaded scene
+var camera = scene.getMainCamera();
+//calculate ortho size
+camera.setOrthoSize(Atomic.graphics.height * Atomic.PIXEL_SIZE);
+camera.setZoom(Math.min(Atomic.graphics.width / WIDTH, Atomic.graphics.height / HEIGHT));

+ 7 - 0
Breakout/Resources/Scripts/main.js.asset

@@ -0,0 +1,7 @@
+{
+	"version": 1,
+	"guid": "f1405142202d9348eb8cf021920e704d",
+	"JavascriptImporter": {
+		"IsComponentFile": false
+	}
+}

+ 5 - 0
Breakout/Resources/Sounds.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "d8d713fcd46f10488025ac7e7affbf8e",
+	"FolderImporter": {}
+}

BIN
Breakout/Resources/Sounds/brickDeath.wav


+ 5 - 0
Breakout/Resources/Sounds/brickDeath.wav.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "4affe181875af2f41bc08b7359748003",
+	"AudioImporter": {}
+}

BIN
Breakout/Resources/Sounds/crazy-space.ogg


+ 5 - 0
Breakout/Resources/Sounds/crazy-space.ogg.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "9dfd0271f588f624e1e105f93d4ddffa",
+	"AudioImporter": {}
+}

+ 5 - 0
Breakout/Resources/Sprites.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "b656ea6d42186293151c444d837f9c5e",
+	"FolderImporter": {}
+}

BIN
Breakout/Resources/Sprites/ball.png


+ 5 - 0
Breakout/Resources/Sprites/ball.png.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "2f2686fc1ef5e65b9df7c346a31f50b1",
+	"TextureImporter": {}
+}

BIN
Breakout/Resources/Sprites/block_blue.png


+ 5 - 0
Breakout/Resources/Sprites/block_blue.png.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "4642f5a0d1993f36b87c842573ce2f10",
+	"TextureImporter": {}
+}

BIN
Breakout/Resources/Sprites/block_green.png


+ 5 - 0
Breakout/Resources/Sprites/block_green.png.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "afb00c1710226c560088705f9d4120b1",
+	"TextureImporter": {}
+}

BIN
Breakout/Resources/Sprites/block_purple.png


+ 5 - 0
Breakout/Resources/Sprites/block_purple.png.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "e26bdc2aed4c49aff37d61094ffc6004",
+	"TextureImporter": {}
+}

BIN
Breakout/Resources/Sprites/block_red.png


+ 5 - 0
Breakout/Resources/Sprites/block_red.png.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "0b02a84d08c0076e10be473ddb278302",
+	"TextureImporter": {}
+}

BIN
Breakout/Resources/Sprites/block_yellow.png


+ 5 - 0
Breakout/Resources/Sprites/block_yellow.png.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "031c4441826b57dce0e4bbd6841d03bc",
+	"TextureImporter": {}
+}

BIN
Breakout/Resources/Sprites/paddle.png


+ 5 - 0
Breakout/Resources/Sprites/paddle.png.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "c5db52261ab555f56f7700328dd9006d",
+	"TextureImporter": {}
+}

BIN
Breakout/Resources/Sprites/star.png


+ 5 - 0
Breakout/Resources/Sprites/star.png.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "73a26b84ffc18c4314ca7e4d12f1b6df",
+	"TextureImporter": {}
+}

+ 1 - 1
CharacterAnimation3D/Resources/Scenes/Scene.scene

@@ -61,7 +61,7 @@
 		<attribute name="Scale" value="1 1 1" />
 		<attribute name="Variables" />
 		<component type="AnimatedModel" id="1975">
-			<attribute name="Model" value="Model;Cache/938f9a4e9d43655389c5cac6d39e7852.mdl" />
+			<attribute name="Model" value="Model;938f9a4e9d43655389c5cac6d39e7852.mdl" />
 			<attribute name="Material" value="Material;Models/Materials/Robot_01_mat.material" />
 			<attribute name="Cast Shadows" value="true" />
 			<attribute name="Bone Animation Enabled">

+ 1 - 1
Chickens/Resources/Prefabs/Chicken.prefab

@@ -7,7 +7,7 @@
 	<attribute name="Scale" value="1 1 1" />
 	<attribute name="Variables" />
 	<component type="AnimatedModel" id="2280">
-		<attribute name="Model" value="Model;Cache/ec7c3962ae69596f19c6fe3047bd92d0.mdl" />
+		<attribute name="Model" value="Model;ec7c3962ae69596f19c6fe3047bd92d0.mdl" />
 		<attribute name="Material" value="Material;Models/Materials/Chicken.material;Models/Materials/Comb.material;Models/Materials/Chicken.material" />
 		<attribute name="Cast Shadows" value="true" />
 		<attribute name="Bone Animation Enabled">

+ 2 - 2
Chickens/Resources/Scenes/Scene.scene

@@ -65,7 +65,7 @@
 		<attribute name="Scale" value="50 1 50" />
 		<attribute name="Variables" />
 		<component type="StaticModel" id="1981">
-			<attribute name="Model" value="Model;Cache/fea6551833c1584347b4a6bee5d05565.mdl" />
+			<attribute name="Model" value="Model;fea6551833c1584347b4a6bee5d05565.mdl" />
 			<attribute name="Material" value="Material;Models/Materials/DefaultMaterial.material" />
 		</component>
 	</node>
@@ -77,7 +77,7 @@
 		<attribute name="Scale" value="1 1 1" />
 		<attribute name="Variables" />
 		<component type="Skybox" id="1982">
-			<attribute name="Model" value="Model;Cache/fea6551833c1584347b4a6bee5d05565.mdl" />
+			<attribute name="Model" value="Model;fea6551833c1584347b4a6bee5d05565.mdl" />
 			<attribute name="Material" value="Material;Models/Materials/Skybox.material" />
 		</component>
 	</node>

+ 5 - 5
MultiScript/Resources/Scenes/TheScene.scene

@@ -52,7 +52,7 @@
 		<attribute name="Scale" value="1 1 1" />
 		<attribute name="Variables" />
 		<component type="StaticModel" id="1973">
-			<attribute name="Model" value="Model;Cache/8646c0f492bf9bd8b34d8c27e67b7d3c.mdl" />
+			<attribute name="Model" value="Model;8646c0f492bf9bd8b34d8c27e67b7d3c.mdl" />
 			<attribute name="Material" value="Material;Models/Materials/DefaultMaterial.material" />
 		</component>
 		<component type="JSComponent" id="1978">
@@ -70,7 +70,7 @@
 		<attribute name="Scale" value="1 1 1" />
 		<attribute name="Variables" />
 		<component type="StaticModel" id="1974">
-			<attribute name="Model" value="Model;Cache/8646c0f492bf9bd8b34d8c27e67b7d3c.mdl" />
+			<attribute name="Model" value="Model;8646c0f492bf9bd8b34d8c27e67b7d3c.mdl" />
 			<attribute name="Material" value="Material;Models/Materials/DefaultMaterial.material" />
 		</component>
 		<component type="JSComponent" id="1977">
@@ -85,7 +85,7 @@
 		<attribute name="Scale" value="1 1 1" />
 		<attribute name="Variables" />
 		<component type="StaticModel" id="1975">
-			<attribute name="Model" value="Model;Cache/8646c0f492bf9bd8b34d8c27e67b7d3c.mdl" />
+			<attribute name="Model" value="Model;8646c0f492bf9bd8b34d8c27e67b7d3c.mdl" />
 			<attribute name="Material" value="Material;Models/Materials/DefaultMaterial.material" />
 		</component>
 		<component type="JSComponent" id="1979">
@@ -103,7 +103,7 @@
 		<attribute name="Scale" value="1 1 1" />
 		<attribute name="Variables" />
 		<component type="StaticModel" id="1982">
-			<attribute name="Model" value="Model;Cache/8646c0f492bf9bd8b34d8c27e67b7d3c.mdl" />
+			<attribute name="Model" value="Model;8646c0f492bf9bd8b34d8c27e67b7d3c.mdl" />
 			<attribute name="Material" value="Material;Models/Materials/DefaultMaterial.material" />
 		</component>
 		<component type="JSComponent" id="1983">
@@ -121,7 +121,7 @@
 		<attribute name="Scale" value="1 1 1" />
 		<attribute name="Variables" />
 		<component type="StaticModel" id="1985">
-			<attribute name="Model" value="Model;Cache/8646c0f492bf9bd8b34d8c27e67b7d3c.mdl" />
+			<attribute name="Model" value="Model;8646c0f492bf9bd8b34d8c27e67b7d3c.mdl" />
 			<attribute name="Material" value="Material;Models/Materials/DefaultMaterial.material" />
 		</component>
 		<component type="JSComponent" id="1986">

+ 1 - 1
PhysicsPlatformer/Resources/Components/Bat.js

@@ -22,7 +22,7 @@ var component = function (self) {
     if(!dayTime) {
       //ok, it's a night, then create a light
       var light = node.createComponent("PointLight2D");
-      light.color = [1, 0.1, 0.8, 1];
+      light.color = [1, 0.1, 0.8, .85];
       light.radius = 1;
     }
   }

+ 1 - 1
PhysicsPlatformer/Resources/Components/Coin.js

@@ -36,7 +36,7 @@ var component = function(self) {
     if(!dayTime) {
       //ok, it's a night, then create a light
       var light = node.createComponent("PointLight2D");
-      light.color = [1, 1, .56, .8];
+      light.color = [1, 1, .56, .6];
       light.radius = .85;
 
       node.createJSComponent("Components/LightFlicker.js");

+ 3 - 2
PhysicsPlatformer/Resources/Components/DayTime.js

@@ -7,9 +7,10 @@ var component = function(self) {
 
   self.start = function() {
     if(!dayTime) {
-      //if it's night, make TheSun color darker
+      //if it's night, make TheSun color darker - ambient isn't being set properly, see GitHub issue: https://github.com/AtomicGameEngine/AtomicGameEngine/issues/340
+      self.scene.getComponent("Zone").ambientColor = [0, 0, 0, 0.2];
       var sun = self.node.getChild("TheSun").getComponent("DirectionalLight2D");
-      sun.color = [0.05, 0.05, 0.07, 0.1];
+      sun.enabled = false;
     }
   }
 }

+ 9 - 0
PhysicsPlatformer/Resources/Components/Level.js

@@ -10,6 +10,10 @@ var component = function (self) {
     //get TileMap2D component from our current node
     var tileMap = self.node.getComponent("TileMap2D");
     var tmxFile = tileMap.tmxFile;
+    
+    //looping main game song
+    var music = Atomic.cache.getResource("Sound", "Sounds/JumpingBat.ogg");
+    music.looped = true;
 
     //create LevelParser object
     var levelParser = new LevelParser(tileMap);
@@ -64,6 +68,11 @@ var component = function (self) {
         var vnode  = self.scene.createChild("Vine");
         vnode.createJSComponent("Components/Vine.js", {startPosition : vines[i].position});
     }
+    
+    //reduce num rays on mobile/web platforms for better performance
+    if(Atomic.platform == "Android" || Atomic.platform == "iOS" || Atomic.platform == "WebGL") {
+      self.scene.getChild("TheSun").getComponent("DirectionalLight2D").numRays = 512;
+    }
 
   }
 

+ 2 - 1
PhysicsPlatformer/Resources/Components/Player.js

@@ -70,10 +70,11 @@ exports.component = function(self) {
         if(!dayTime) {
           //ok, it's a night, then create a light
           var light = node.createComponent("PointLight2D");
-          light.color = [1, 0.5, 0.7, 0.8];
+          light.color = [1, 0.5, 0.7, 0.35];
           light.backtrace = true;
           light.castShadows = true;
           light.numRays = 256;
+          light.radius = 4;
         }
 
     }

+ 7 - 0
PhysicsPlatformer/Resources/Modules/DPad.js.asset

@@ -0,0 +1,7 @@
+{
+	"version": 1,
+	"guid": "d50be43b789ab35ca9d185c00f348ef5",
+	"JavascriptImporter": {
+		"IsComponentFile": false
+	}
+}

+ 6 - 6
PhysicsPlatformer/Resources/Scenes/Scene.scene

@@ -5,10 +5,10 @@
 	<attribute name="Smoothing Constant" value="50" />
 	<attribute name="Snap Threshold" value="5" />
 	<attribute name="Elapsed Time" value="0" />
-	<attribute name="Next Replicated Node ID" value="32079" />
-	<attribute name="Next Replicated Component ID" value="40437" />
-	<attribute name="Next Local Node ID" value="16778812" />
-	<attribute name="Next Local Component ID" value="16777462" />
+	<attribute name="Next Replicated Node ID" value="32799" />
+	<attribute name="Next Replicated Component ID" value="41309" />
+	<attribute name="Next Local Node ID" value="16778818" />
+	<attribute name="Next Local Component ID" value="16777467" />
 	<attribute name="Variables" />
 	<attribute name="Variable Names" value="" />
 	<component type="Octree" id="2" />
@@ -79,9 +79,9 @@
 		<attribute name="Scale" value="1 1 1" />
 		<attribute name="Variables" />
 		<component type="DirectionalLight2D" id="18606">
-			<attribute name="Color" value="1 1 1 0.4" />
+			<attribute name="Color" value="1 1 1 0.2" />
 			<attribute name="Cast Shadows" value="true" />
-			<attribute name="Num Rays" value="512" />
+			<attribute name="Num Rays" value="1024" />
 		</component>
 	</node>
 	<node id="19834">

+ 5 - 0
PhysicsPlatformer/Resources/UI/buttonDown.png.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "69053659eacc3702757b6fed1b3ca55e",
+	"TextureImporter": {}
+}

+ 5 - 0
PhysicsPlatformer/Resources/UI/buttonLeft.png.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "b0e1188aee4a3219052adcd92e3d4f5c",
+	"TextureImporter": {}
+}

+ 5 - 0
PhysicsPlatformer/Resources/UI/buttonRight.png.asset

@@ -0,0 +1,5 @@
+{
+	"version": 1,
+	"guid": "953b82fe439eeed3fc0e68443cb92cd6",
+	"TextureImporter": {}
+}

Some files were not shown because too many files changed in this diff