cukunity 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +5 -0
- data/.gitmodules +0 -0
- data/.rspec +1 -0
- data/Gemfile +15 -0
- data/Gemfile.lock +60 -0
- data/LICENSE.txt +20 -0
- data/README.md +214 -0
- data/Rakefile +51 -0
- data/Unity/Assets/Demo/Art/Buttons/down.png +0 -0
- data/Unity/Assets/Demo/Art/Buttons/down.png.meta +28 -0
- data/Unity/Assets/Demo/Art/Buttons/left.png +0 -0
- data/Unity/Assets/Demo/Art/Buttons/left.png.meta +28 -0
- data/Unity/Assets/Demo/Art/Buttons/ok.png +0 -0
- data/Unity/Assets/Demo/Art/Buttons/ok.png.meta +28 -0
- data/Unity/Assets/Demo/Art/Buttons/options.png +0 -0
- data/Unity/Assets/Demo/Art/Buttons/options.png.meta +28 -0
- data/Unity/Assets/Demo/Art/Buttons/play.png +0 -0
- data/Unity/Assets/Demo/Art/Buttons/play.png.meta +28 -0
- data/Unity/Assets/Demo/Art/Buttons/quit.png +0 -0
- data/Unity/Assets/Demo/Art/Buttons/quit.png.meta +28 -0
- data/Unity/Assets/Demo/Art/Buttons/retry.png +0 -0
- data/Unity/Assets/Demo/Art/Buttons/retry.png.meta +28 -0
- data/Unity/Assets/Demo/Art/Buttons/right.png +0 -0
- data/Unity/Assets/Demo/Art/Buttons/right.png.meta +28 -0
- data/Unity/Assets/Demo/Art/Buttons/up.png +0 -0
- data/Unity/Assets/Demo/Art/Buttons/up.png.meta +28 -0
- data/Unity/Assets/Demo/Art/Buttons.meta +2 -0
- data/Unity/Assets/Demo/Art/clear.png +0 -0
- data/Unity/Assets/Demo/Art/clear.png.meta +28 -0
- data/Unity/Assets/Demo/Art/options.png +0 -0
- data/Unity/Assets/Demo/Art/options.png.meta +28 -0
- data/Unity/Assets/Demo/Art/sokoban.png +0 -0
- data/Unity/Assets/Demo/Art/sokoban.png.meta +28 -0
- data/Unity/Assets/Demo/Art.meta +2 -0
- data/Unity/Assets/Demo/Cubes/CrateCube.mat +0 -0
- data/Unity/Assets/Demo/Cubes/CrateCube.mat.meta +2 -0
- data/Unity/Assets/Demo/Cubes/CrateCube.prefab +0 -0
- data/Unity/Assets/Demo/Cubes/CrateCube.prefab.meta +2 -0
- data/Unity/Assets/Demo/Cubes/FloorCube.mat +0 -0
- data/Unity/Assets/Demo/Cubes/FloorCube.mat.meta +2 -0
- data/Unity/Assets/Demo/Cubes/FloorCube.prefab +0 -0
- data/Unity/Assets/Demo/Cubes/FloorCube.prefab.meta +2 -0
- data/Unity/Assets/Demo/Cubes/GoalCube.mat +0 -0
- data/Unity/Assets/Demo/Cubes/GoalCube.mat.meta +2 -0
- data/Unity/Assets/Demo/Cubes/GoalCube.prefab +0 -0
- data/Unity/Assets/Demo/Cubes/GoalCube.prefab.meta +2 -0
- data/Unity/Assets/Demo/Cubes/PlayerCube.mat +0 -0
- data/Unity/Assets/Demo/Cubes/PlayerCube.mat.meta +2 -0
- data/Unity/Assets/Demo/Cubes/PlayerCube.prefab +0 -0
- data/Unity/Assets/Demo/Cubes/PlayerCube.prefab.meta +2 -0
- data/Unity/Assets/Demo/Cubes/WallCube.mat +0 -0
- data/Unity/Assets/Demo/Cubes/WallCube.mat.meta +2 -0
- data/Unity/Assets/Demo/Cubes/WallCube.prefab +0 -0
- data/Unity/Assets/Demo/Cubes/WallCube.prefab.meta +2 -0
- data/Unity/Assets/Demo/Cubes.meta +2 -0
- data/Unity/Assets/Demo/Resources/MainMenu.prefab +0 -0
- data/Unity/Assets/Demo/Resources/MainMenu.prefab.meta +2 -0
- data/Unity/Assets/Demo/Resources/OptionsMenu.prefab +0 -0
- data/Unity/Assets/Demo/Resources/OptionsMenu.prefab.meta +2 -0
- data/Unity/Assets/Demo/Resources.meta +2 -0
- data/Unity/Assets/Demo/Scripts/CameraController.js +18 -0
- data/Unity/Assets/Demo/Scripts/CameraController.js.meta +2 -0
- data/Unity/Assets/Demo/Scripts/EnterPlayerName.js +21 -0
- data/Unity/Assets/Demo/Scripts/EnterPlayerName.js.meta +2 -0
- data/Unity/Assets/Demo/Scripts/GameLeftButton.js +18 -0
- data/Unity/Assets/Demo/Scripts/GameLeftButton.js.meta +2 -0
- data/Unity/Assets/Demo/Scripts/GameQuitButton.js +6 -0
- data/Unity/Assets/Demo/Scripts/GameQuitButton.js.meta +2 -0
- data/Unity/Assets/Demo/Scripts/GameRetryButton.js +7 -0
- data/Unity/Assets/Demo/Scripts/GameRetryButton.js.meta +2 -0
- data/Unity/Assets/Demo/Scripts/GameRightButton.js +18 -0
- data/Unity/Assets/Demo/Scripts/GameRightButton.js.meta +2 -0
- data/Unity/Assets/Demo/Scripts/GameUpButton.js +18 -0
- data/Unity/Assets/Demo/Scripts/GameUpButton.js.meta +2 -0
- data/Unity/Assets/Demo/Scripts/OnTouchGUIElementDown.js +34 -0
- data/Unity/Assets/Demo/Scripts/OnTouchGUIElementDown.js.meta +2 -0
- data/Unity/Assets/Demo/Scripts/PlayerData.js +3 -0
- data/Unity/Assets/Demo/Scripts/PlayerData.js.meta +2 -0
- data/Unity/Assets/Demo/Scripts/SokobanController.js +240 -0
- data/Unity/Assets/Demo/Scripts/SokobanController.js.meta +2 -0
- data/Unity/Assets/Demo/Scripts/TakeScreenShot.js +26 -0
- data/Unity/Assets/Demo/Scripts/TakeScreenShot.js.meta +2 -0
- data/Unity/Assets/Demo/Scripts/TitleOptionsButton.js +8 -0
- data/Unity/Assets/Demo/Scripts/TitleOptionsButton.js.meta +2 -0
- data/Unity/Assets/Demo/Scripts/TitleOptionsOkButton.js +8 -0
- data/Unity/Assets/Demo/Scripts/TitleOptionsOkButton.js.meta +2 -0
- data/Unity/Assets/Demo/Scripts/TitlePlayButton.js +6 -0
- data/Unity/Assets/Demo/Scripts/TitlePlayButton.js.meta +2 -0
- data/Unity/Assets/Demo/Scripts/TitleQuitButton.js +7 -0
- data/Unity/Assets/Demo/Scripts/TitleQuitButton.js.meta +2 -0
- data/Unity/Assets/Demo/Scripts/UpdateMovesLabel.js +26 -0
- data/Unity/Assets/Demo/Scripts/UpdateMovesLabel.js.meta +2 -0
- data/Unity/Assets/Demo/Scripts/UpdatePlayerName.js +14 -0
- data/Unity/Assets/Demo/Scripts/UpdatePlayerName.js.meta +2 -0
- data/Unity/Assets/Demo/Scripts.meta +2 -0
- data/Unity/Assets/Demo/demo_game.unity +0 -0
- data/Unity/Assets/Demo/demo_game.unity.meta +2 -0
- data/Unity/Assets/Demo/demo_title.unity +0 -0
- data/Unity/Assets/Demo/demo_title.unity.meta +2 -0
- data/Unity/Assets/Demo.meta +2 -0
- data/Unity/Assets/Plugins/CukunityInstance.prefab +0 -0
- data/Unity/Assets/Plugins/CukunityInstance.prefab.meta +2 -0
- data/Unity/Assets/Plugins/CukunityServer.cs +871 -0
- data/Unity/Assets/Plugins/CukunityServer.cs.meta +2 -0
- data/Unity/Assets/Plugins/JsonFx.Json.dll +0 -0
- data/Unity/Assets/Plugins/JsonFx.Json.dll.meta +2 -0
- data/Unity/Assets/Plugins/iOS/CukunityServer.mm +242 -0
- data/Unity/Assets/Plugins/iOS/CukunityServer.mm.meta +2 -0
- data/Unity/Assets/Plugins/iOS.meta +2 -0
- data/Unity/Assets/Plugins.meta +2 -0
- data/Unity/Library/AudioManager.asset +0 -0
- data/Unity/Library/BuildSettings.asset +0 -0
- data/Unity/Library/DynamicsManager.asset +0 -0
- data/Unity/Library/EditorBuildSettings.asset +0 -0
- data/Unity/Library/EditorSettings.asset +0 -0
- data/Unity/Library/EditorUserBuildSettings.asset +0 -0
- data/Unity/Library/EditorUserSettings.asset +0 -0
- data/Unity/Library/InputManager.asset +0 -0
- data/Unity/Library/InspectorExpandedItems.asset +0 -0
- data/Unity/Library/MonoManager.asset +0 -0
- data/Unity/Library/NetworkManager.asset +0 -0
- data/Unity/Library/ProjectSettings.asset +0 -0
- data/Unity/Library/QualitySettings.asset +0 -0
- data/Unity/Library/TagManager.asset +0 -0
- data/Unity/Library/TimeManager.asset +0 -0
- data/Unity/ProjectSettings/AudioManager.asset +0 -0
- data/Unity/ProjectSettings/DynamicsManager.asset +0 -0
- data/Unity/ProjectSettings/EditorBuildSettings.asset +0 -0
- data/Unity/ProjectSettings/EditorSettings.asset +0 -0
- data/Unity/ProjectSettings/InputManager.asset +0 -0
- data/Unity/ProjectSettings/NavMeshLayers.asset +0 -0
- data/Unity/ProjectSettings/NetworkManager.asset +0 -0
- data/Unity/ProjectSettings/ProjectSettings.asset +0 -0
- data/Unity/ProjectSettings/QualitySettings.asset +0 -0
- data/Unity/ProjectSettings/TagManager.asset +0 -0
- data/Unity/ProjectSettings/TimeManager.asset +0 -0
- data/VERSION +1 -0
- data/bin/cukunity +7 -0
- data/cukunity.gemspec +298 -0
- data/features/get_scene_command.feature +39 -0
- data/features/i18n/ja/sokoban_clear.feature +109 -0
- data/features/install.feature +23 -0
- data/features/keyboard_input.feature +26 -0
- data/features/load_level_command.feature +36 -0
- data/features/run.feature +33 -0
- data/features/select_visible.feature +29 -0
- data/features/support/env.rb +11 -0
- data/features/touch_input.feature +96 -0
- data/lib/cukunity/cli/argument_parser.rb +103 -0
- data/lib/cukunity/cli/bootstrap_command.rb +39 -0
- data/lib/cukunity/cli/doctor_command.rb +150 -0
- data/lib/cukunity/cli/features_command.rb +35 -0
- data/lib/cukunity/cli/main.rb +18 -0
- data/lib/cukunity/cli/options.rb +8 -0
- data/lib/cukunity/cli.rb +11 -0
- data/lib/cukunity/cucumber/step_definitions/get_scene_command_steps.rb +37 -0
- data/lib/cukunity/cucumber/step_definitions/i18n/ja/get_scene_command_steps.rb +37 -0
- data/lib/cukunity/cucumber/step_definitions/i18n/ja/install_steps.rb +25 -0
- data/lib/cukunity/cucumber/step_definitions/i18n/ja/keyboard_input_steps.rb +17 -0
- data/lib/cukunity/cucumber/step_definitions/i18n/ja/load_level_command_steps.rb +17 -0
- data/lib/cukunity/cucumber/step_definitions/i18n/ja/run_steps.rb +25 -0
- data/lib/cukunity/cucumber/step_definitions/i18n/ja/select_visible_steps.rb +9 -0
- data/lib/cukunity/cucumber/step_definitions/i18n/ja/touch_input_steps.rb +19 -0
- data/lib/cukunity/cucumber/step_definitions/i18n/ja.rb +9 -0
- data/lib/cukunity/cucumber/step_definitions/install_steps.rb +33 -0
- data/lib/cukunity/cucumber/step_definitions/keyboard_input_steps.rb +13 -0
- data/lib/cukunity/cucumber/step_definitions/load_level_command_steps.rb +17 -0
- data/lib/cukunity/cucumber/step_definitions/run_steps.rb +32 -0
- data/lib/cukunity/cucumber/step_definitions/select_visible_steps.rb +15 -0
- data/lib/cukunity/cucumber/step_definitions/touch_input_steps.rb +18 -0
- data/lib/cukunity/cucumber/support/platform_helpers.rb +105 -0
- data/lib/cukunity/cucumber/support/spec_helpers.rb +21 -0
- data/lib/cukunity/cucumber/support/transforms.rb +5 -0
- data/lib/cukunity/cucumber/support/unity_helpers.rb +35 -0
- data/lib/cukunity/cucumber.rb +28 -0
- data/lib/cukunity/drivers/android/app.rb +43 -0
- data/lib/cukunity/drivers/android/appkiller/.gitignore +9 -0
- data/lib/cukunity/drivers/android/appkiller/AndroidManifest.xml +17 -0
- data/lib/cukunity/drivers/android/appkiller/ant.properties +17 -0
- data/lib/cukunity/drivers/android/appkiller/build.xml +85 -0
- data/lib/cukunity/drivers/android/appkiller/proguard.cfg +40 -0
- data/lib/cukunity/drivers/android/appkiller/project.properties +11 -0
- data/lib/cukunity/drivers/android/appkiller/res/layout/main.xml +13 -0
- data/lib/cukunity/drivers/android/appkiller/res/values/strings.xml +4 -0
- data/lib/cukunity/drivers/android/appkiller/src/cukunity/appkiller/AppKiller.java +29 -0
- data/lib/cukunity/drivers/android/keyboard_input.rb +149 -0
- data/lib/cukunity/drivers/android/keycodes.rb +531 -0
- data/lib/cukunity/drivers/android/monkey_client.rb +65 -0
- data/lib/cukunity/drivers/android/process.rb +103 -0
- data/lib/cukunity/drivers/android/touch_input.rb +24 -0
- data/lib/cukunity/drivers/android/tunnel_client_methods.rb +22 -0
- data/lib/cukunity/drivers/android/unity_client.rb +27 -0
- data/lib/cukunity/drivers/android/utils.rb +50 -0
- data/lib/cukunity/drivers/android.rb +9 -0
- data/lib/cukunity/drivers/iOS/app.rb +32 -0
- data/lib/cukunity/drivers/iOS/keyboard_input.rb +104 -0
- data/lib/cukunity/drivers/iOS/process.rb +42 -0
- data/lib/cukunity/drivers/iOS/touch_input.rb +18 -0
- data/lib/cukunity/drivers/iOS/tunnel_client_methods.rb +27 -0
- data/lib/cukunity/drivers/iOS/uiautomation.rb +97 -0
- data/lib/cukunity/drivers/iOS/uiautomation_master.rb +152 -0
- data/lib/cukunity/drivers/iOS/uiautomation_slave.js +238 -0
- data/lib/cukunity/drivers/iOS/uiautomation_slave.rb +41 -0
- data/lib/cukunity/drivers/iOS/unity_client.rb +27 -0
- data/lib/cukunity/drivers/iOS/utils.rb +46 -0
- data/lib/cukunity/drivers/iOS.rb +9 -0
- data/lib/cukunity/exceptions.rb +24 -0
- data/lib/cukunity/keyboard_input_methods.rb +35 -0
- data/lib/cukunity/request_line_response_client_methods.rb +80 -0
- data/lib/cukunity/tasks/cucumber.rake +22 -0
- data/lib/cukunity/touch_input_methods.rb +19 -0
- data/lib/cukunity/unity/client_methods.rb +46 -0
- data/lib/cukunity/unity/command_facade.rb +67 -0
- data/lib/cukunity/unity/component.rb +39 -0
- data/lib/cukunity/unity/gameobject.rb +53 -0
- data/lib/cukunity/unity/hint.rb +27 -0
- data/lib/cukunity/unity/json_container.rb +48 -0
- data/lib/cukunity/unity/level.rb +6 -0
- data/lib/cukunity/unity/scene.rb +18 -0
- data/lib/cukunity/unity/screen.rb +45 -0
- data/lib/cukunity/unity/screen_hint_methods.rb +61 -0
- data/lib/cukunity/unity/text_hint_methods.rb +17 -0
- data/lib/cukunity/unity.rb +11 -0
- data/lib/cukunity/utils.rb +56 -0
- data/lib/cukunity.rb +19 -0
- metadata +411 -0
data/.document
ADDED
data/.gitmodules
ADDED
|
File without changes
|
data/.rspec
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
--color
|
data/Gemfile
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
source 'http://rubygems.org'
|
|
2
|
+
|
|
3
|
+
gem 'json', '>= 1.6.5'
|
|
4
|
+
gem 'term-ansicolor', '>= 1.0.6'
|
|
5
|
+
|
|
6
|
+
group :development do
|
|
7
|
+
gem 'rspec', '~> 2.8.0'
|
|
8
|
+
gem 'yard', '~> 0.7'
|
|
9
|
+
gem 'rdoc', '~> 3.12'
|
|
10
|
+
gem 'cucumber', '>= 0'
|
|
11
|
+
gem 'bundler', '~> 1.0.0'
|
|
12
|
+
gem 'jeweler', '~> 1.8.3'
|
|
13
|
+
gem 'reek', '~> 1.2.8'
|
|
14
|
+
gem 'roodi', '~> 2.1.0'
|
|
15
|
+
end
|
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
GEM
|
|
2
|
+
remote: http://rubygems.org/
|
|
3
|
+
specs:
|
|
4
|
+
builder (3.0.0)
|
|
5
|
+
cucumber (1.1.4)
|
|
6
|
+
builder (>= 2.1.2)
|
|
7
|
+
diff-lcs (>= 1.1.2)
|
|
8
|
+
gherkin (~> 2.7.1)
|
|
9
|
+
json (>= 1.4.6)
|
|
10
|
+
term-ansicolor (>= 1.0.6)
|
|
11
|
+
diff-lcs (1.1.3)
|
|
12
|
+
gherkin (2.7.6)
|
|
13
|
+
json (>= 1.4.6)
|
|
14
|
+
git (1.2.5)
|
|
15
|
+
jeweler (1.8.3)
|
|
16
|
+
bundler (~> 1.0)
|
|
17
|
+
git (>= 1.2.5)
|
|
18
|
+
rake
|
|
19
|
+
rdoc
|
|
20
|
+
json (1.6.5)
|
|
21
|
+
rake (0.9.2.2)
|
|
22
|
+
rdoc (3.12)
|
|
23
|
+
json (~> 1.4)
|
|
24
|
+
reek (1.2.8)
|
|
25
|
+
ruby2ruby (~> 1.2)
|
|
26
|
+
ruby_parser (~> 2.0)
|
|
27
|
+
sexp_processor (~> 3.0)
|
|
28
|
+
roodi (2.1.0)
|
|
29
|
+
ruby_parser
|
|
30
|
+
rspec (2.8.0)
|
|
31
|
+
rspec-core (~> 2.8.0)
|
|
32
|
+
rspec-expectations (~> 2.8.0)
|
|
33
|
+
rspec-mocks (~> 2.8.0)
|
|
34
|
+
rspec-core (2.8.0)
|
|
35
|
+
rspec-expectations (2.8.0)
|
|
36
|
+
diff-lcs (~> 1.1.2)
|
|
37
|
+
rspec-mocks (2.8.0)
|
|
38
|
+
ruby2ruby (1.3.1)
|
|
39
|
+
ruby_parser (~> 2.0)
|
|
40
|
+
sexp_processor (~> 3.0)
|
|
41
|
+
ruby_parser (2.3.1)
|
|
42
|
+
sexp_processor (~> 3.0)
|
|
43
|
+
sexp_processor (3.0.10)
|
|
44
|
+
term-ansicolor (1.0.7)
|
|
45
|
+
yard (0.7.4)
|
|
46
|
+
|
|
47
|
+
PLATFORMS
|
|
48
|
+
ruby
|
|
49
|
+
|
|
50
|
+
DEPENDENCIES
|
|
51
|
+
bundler (~> 1.0.0)
|
|
52
|
+
cucumber
|
|
53
|
+
jeweler (~> 1.8.3)
|
|
54
|
+
json (>= 1.6.5)
|
|
55
|
+
rdoc (~> 3.12)
|
|
56
|
+
reek (~> 1.2.8)
|
|
57
|
+
roodi (~> 2.1.0)
|
|
58
|
+
rspec (~> 2.8.0)
|
|
59
|
+
term-ansicolor (>= 1.0.6)
|
|
60
|
+
yard (~> 0.7)
|
data/LICENSE.txt
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Copyright (c) 2012 Mario Freitas
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
4
|
+
a copy of this software and associated documentation files (the
|
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
9
|
+
the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be
|
|
12
|
+
included in all copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
cukunity
|
|
2
|
+
========
|
|
3
|
+
|
|
4
|
+
cukunity is an automation/testing framework that simplifies BDD testing of
|
|
5
|
+
UNITY 3D games.
|
|
6
|
+
|
|
7
|
+
## Description
|
|
8
|
+
|
|
9
|
+
cukunity is a tool inspired by the principles of Behaviour Driven Development.
|
|
10
|
+
Cukunity is a portmanteau of "Cucumber" and "Unity", and as so it provides
|
|
11
|
+
helpers to play nicely with cucumber, although it can be used standalone for
|
|
12
|
+
automation purposes.
|
|
13
|
+
|
|
14
|
+
In short, cukunity provides:
|
|
15
|
+
|
|
16
|
+
* A platform-agnostic API to install, uninstall, and execute Unity3D games on real hardware (no simulators or emulators required).
|
|
17
|
+
* A platform-agnostic API for simulating touch and keyboard input on your Unity3D games.
|
|
18
|
+
* The `cukunity` executable to help you bootstrap your Unity3D Projects, and so on.
|
|
19
|
+
* Default step definitions and helpers for Cucumber.
|
|
20
|
+
* Default rake tasks with which you can run Cucumber easily from.
|
|
21
|
+
|
|
22
|
+
## Limitations
|
|
23
|
+
|
|
24
|
+
Currently, the following limitations apply:
|
|
25
|
+
|
|
26
|
+
* Only Android 2.x and iOS 5.x are supported (in the future, it would be nice to have more platforms like Desktop/Flash/WebPlayer).
|
|
27
|
+
* iOS testing is only possible on MacOSX (since Xcode only runs on MacOSX).
|
|
28
|
+
* Currently, iOS testing will only work if you check the "Development Build" setting on the Build Settings window of your Unity project.
|
|
29
|
+
* Android testing is currently only possible on MacOSX, although this may change in the future with the inclusion of Windows/Linux (don't take this as a promise).
|
|
30
|
+
|
|
31
|
+
## Requirements
|
|
32
|
+
|
|
33
|
+
* Ruby 1.9.x (you probably want to install it via [RVM](http://beginrescueend.com)).
|
|
34
|
+
* To use cukunity with cucumber, you need to install cucumber (e.g. `gem install cucumber`)
|
|
35
|
+
* Mac OS X 10.6 and above (tested on Snow Leopard but should work on Lion too).
|
|
36
|
+
* To test on iOS devices, you need [XCode
|
|
37
|
+
* 4.2](https://developer.apple.com/xcode/) or above (including the iOS SDK) and [mobiledevice](https://github.com/imkira/mobiledevice).
|
|
38
|
+
* To test on Android devices, you need [Android SDK](http://developer.android.com/sdk/) including the platform-tools package.
|
|
39
|
+
|
|
40
|
+
## Installation
|
|
41
|
+
|
|
42
|
+
In order to install cukunity, first make sure you have Ruby 1.9.x installed, and then type the following:
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
gem install cukunity
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
If you prefer to live on the edge, get and install the latest code from the repository:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
git clone git://github.com/imkira/cukunity.git
|
|
52
|
+
cd cukunity
|
|
53
|
+
rake install
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Usage
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
Usage: cukunity [options] <command>
|
|
60
|
+
|
|
61
|
+
Commands:
|
|
62
|
+
doctor Check your system for the required platform tools.
|
|
63
|
+
bootstrap <path> Bootstrap your Unity project.
|
|
64
|
+
features [<path>] Run cucumber against path containing feature files.
|
|
65
|
+
|
|
66
|
+
Options:
|
|
67
|
+
-v, --[no-]verbose Enable/Disable verbose mode.
|
|
68
|
+
--[no-]android Enable/Disable for Android development.
|
|
69
|
+
--[no-]ios Enable/Disable for Android development.
|
|
70
|
+
-h, --help This help screen.
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Checking your system for problems
|
|
74
|
+
|
|
75
|
+
After you install cukunity, please make sure you run `cukunity doctor`
|
|
76
|
+
to check your system for problems.
|
|
77
|
+
This command will check if you have the necessary tools in order to use
|
|
78
|
+
cukunity for iOS/Android testing. You can also pass `no-ios` or `no-android`
|
|
79
|
+
if you don't plan on testing on such platform.
|
|
80
|
+
|
|
81
|
+
### Bootstraping your cukunity project
|
|
82
|
+
|
|
83
|
+
To bootstrap cukunity, make sure you type the following:
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
cukunity bootstrap <path/to/your/Unity/project's/root/directory>
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
This will generate the necessary files within `Assets/Plugins`.
|
|
90
|
+
After this, please make sure you drag and drop a prefab called `CukunityInstance.prefab`
|
|
91
|
+
on to the first scene of your Unity3D project. You don't need to worry about
|
|
92
|
+
what happens to the prefab you just dragged when loading other scenes, or to
|
|
93
|
+
place it in every scene of your project. That has already been taken care of!
|
|
94
|
+
|
|
95
|
+
Finally, just rebuild your Unity3D project for Android/iOS (for iOS, make sure
|
|
96
|
+
you check the "Development Build" setting on the Build Settings window of your
|
|
97
|
+
Unity project).
|
|
98
|
+
|
|
99
|
+
### Running your cukunity features with cucumber
|
|
100
|
+
|
|
101
|
+
As an utility command, you can run your cukunity features via cucumber with:
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
cukunity features <path/to/your/cucumber/features/directory>
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
This command will `require 'cukunity/cucumber'` automatically for you,
|
|
108
|
+
and launch cucumber with the specified features directory as test input.
|
|
109
|
+
You will need to specify either `no-ios` or `no-android` to disable
|
|
110
|
+
testing on the specified platform.
|
|
111
|
+
|
|
112
|
+
## Default Step Definitions
|
|
113
|
+
|
|
114
|
+
The following list of step definitions is already available via `cukunity features`
|
|
115
|
+
command (alternatively `require 'cukunity/cucumber'`), so you don't need to
|
|
116
|
+
make a copy to yourself. It may find it useful though to use it as reference or
|
|
117
|
+
to modify it to suit your needs.
|
|
118
|
+
|
|
119
|
+
* [Installing your Game](http://github.com/imkira/cukunity/blob/master/lib/cukunity/cucumber/step_definitions/install_steps.rb)
|
|
120
|
+
* [Launching your Game](http://github.com/imkira/cukunity/blob/master/lib/cukunity/cucumber/step_definitions/install_steps.rb)
|
|
121
|
+
* [Get Current Scene Information](http://github.com/imkira/cukunity/blob/master/lib/cukunity/cucumber/step_definitions/get_scene_command_steps.rb)
|
|
122
|
+
* [Keyboard Input Simulation](http://github.com/imkira/cukunity/blob/master/lib/cukunity/cucumber/step_definitions/keyboard_input_steps.rb)
|
|
123
|
+
* [Touch Input Simulation](http://github.com/imkira/cukunity/blob/master/lib/cukunity/cucumber/step_definitions/touch_input_steps.rb)
|
|
124
|
+
* [Visible Object Selectors](http://github.com/imkira/cukunity/blob/master/lib/cukunity/cucumber/step_definitions/select_visible_steps.rb)
|
|
125
|
+
* [Force Load Unity Level](http://github.com/imkira/cukunity/blob/master/lib/cukunity/cucumber/step_definitions/load_level_command_steps.rb)
|
|
126
|
+
|
|
127
|
+
### i18n Support
|
|
128
|
+
|
|
129
|
+
[i18n](http://github.com/imkira/cukunity/blob/master/lib/cukunity/cucumber/step_definitions/i18n) support is also available.
|
|
130
|
+
Currently [Japanese](http://github.com/imkira/cukunity/blob/master/lib/cukunity/cucumber/step_definitions/i18n/ja) language is supported.
|
|
131
|
+
|
|
132
|
+
## Sample Scenarios
|
|
133
|
+
|
|
134
|
+
The following is a sample of how you could use cukunity with Cucumber to
|
|
135
|
+
test a "Sokoban" game.
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
Feature: Cukunity's Default Step Definitions Sample
|
|
139
|
+
In order to test Unity games using cukunity without having to reinvent the wheel
|
|
140
|
+
As a programmer
|
|
141
|
+
I want to be able to use cukunity's default step definitions
|
|
142
|
+
|
|
143
|
+
Background:
|
|
144
|
+
# Specify fixtures/sokoban.apk (Android) or fixtures/sokoban.app (iOS) as the target game.
|
|
145
|
+
Given I install the app "fixtures/sokoban"
|
|
146
|
+
# launch it on device
|
|
147
|
+
And I launch it
|
|
148
|
+
# You probably don't need this, but this will cause an Application.LoadLevel of "demo_title" level.
|
|
149
|
+
And I load the "demo_title" level
|
|
150
|
+
|
|
151
|
+
Scenario: Application finished launching
|
|
152
|
+
# Verbose: make sure it is running.
|
|
153
|
+
Then it should be running
|
|
154
|
+
# Verbose: make sure the "demo_title" level is running.
|
|
155
|
+
And it should be playing "demo_title" level
|
|
156
|
+
# Make sure "MainMenu" GameObject exists.
|
|
157
|
+
And I should have a GameObject named "MainMenu"
|
|
158
|
+
# Make sure "OptionsMenu" GameObject does not exist.
|
|
159
|
+
And I should not have a GameObject named "OptionsMenu"
|
|
160
|
+
|
|
161
|
+
Scenario: Clear game
|
|
162
|
+
# Tap the visible GameObject called "Play"
|
|
163
|
+
When I tap "Play"
|
|
164
|
+
# Tap the visible GameObject called "Up"
|
|
165
|
+
And I tap "Up"
|
|
166
|
+
# <ommited for simplicity>
|
|
167
|
+
# A GameObject called "GameClear" should be visible.
|
|
168
|
+
Then I should see "GameClear"
|
|
169
|
+
# A label showing it took us "40" steps should be visible.
|
|
170
|
+
And I should read "40"
|
|
171
|
+
|
|
172
|
+
Scenario: Set player name
|
|
173
|
+
# Tap the visible GameObject called "PlayerName"
|
|
174
|
+
When I tap "PlayerName"
|
|
175
|
+
# When the keyboard is displayed on screen, type "Super Player".
|
|
176
|
+
And I type "Super Player"
|
|
177
|
+
# Then, there should be a label showing the current player's name.
|
|
178
|
+
Then I should read "Super Player"
|
|
179
|
+
|
|
180
|
+
Scenario: Quit application by tap the "Quit" menu button
|
|
181
|
+
# Tap a visible GameObject called "Quit"
|
|
182
|
+
When I tap "Quit" and wait 3 seconds
|
|
183
|
+
# The application should not be running anymore.
|
|
184
|
+
Then it should not be running
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
The original Unity project that includes the code of the game and cukunity support
|
|
188
|
+
is available [here](http://github.com/imkira/cukunity/blob/master/Unity).
|
|
189
|
+
The sample feature files can be found [here](http://github.com/imkira/cukunity/blob/master/features).
|
|
190
|
+
|
|
191
|
+
## Documentation
|
|
192
|
+
|
|
193
|
+
TODO: place link to documentation.
|
|
194
|
+
|
|
195
|
+
## Tutorial
|
|
196
|
+
|
|
197
|
+
TODO: place video here.
|
|
198
|
+
|
|
199
|
+
## Contribute
|
|
200
|
+
|
|
201
|
+
* Found a bug?
|
|
202
|
+
* Want to contribute and add a new feature?
|
|
203
|
+
|
|
204
|
+
Please fork this project and send me a pull request!
|
|
205
|
+
|
|
206
|
+
## License
|
|
207
|
+
|
|
208
|
+
cukunity is licensed under the MIT license:
|
|
209
|
+
|
|
210
|
+
www.opensource.org/licenses/MIT
|
|
211
|
+
|
|
212
|
+
## Copyright
|
|
213
|
+
|
|
214
|
+
Copyright (c) 2012 Mario Freitas. See LICENSE.txt for further details.
|
data/Rakefile
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'rubygems'
|
|
4
|
+
require 'bundler'
|
|
5
|
+
begin
|
|
6
|
+
Bundler.setup(:default, :development)
|
|
7
|
+
rescue Bundler::BundlerError => e
|
|
8
|
+
$stderr.puts e.message
|
|
9
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
|
10
|
+
exit e.status_code
|
|
11
|
+
end
|
|
12
|
+
require 'rake'
|
|
13
|
+
|
|
14
|
+
require 'jeweler'
|
|
15
|
+
Jeweler::Tasks.new do |gem|
|
|
16
|
+
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
|
17
|
+
gem.name = "cukunity"
|
|
18
|
+
gem.homepage = "http://github.com/imkira/cukunity"
|
|
19
|
+
gem.license = "MIT"
|
|
20
|
+
gem.summary = %Q{cukunity is an automation/testing framework that simplifies BDD testing of Unity 3D games.}
|
|
21
|
+
gem.description = %Q{cukunity is a tool inspired by the principles of Behaviour Driven Development. Cukunity is a portmanteau of "Cucumber" and "Unity", and as so it provides helpers to play nicely with cucumber, although it can be used standalone for automation. }
|
|
22
|
+
gem.email = "imkira@gmail.com"
|
|
23
|
+
gem.authors = ["Mario Freitas"]
|
|
24
|
+
# dependencies defined in Gemfile
|
|
25
|
+
gem.add_dependency 'json', '>= 1.6.5'
|
|
26
|
+
gem.add_dependency 'term-ansicolor', '>= 1.0.6'
|
|
27
|
+
end
|
|
28
|
+
Jeweler::RubygemsDotOrgTasks.new
|
|
29
|
+
|
|
30
|
+
require 'cucumber/rake/task'
|
|
31
|
+
namespace :features do
|
|
32
|
+
load File.join(File.dirname(__FILE__), 'lib/cukunity/tasks/cucumber.rake')
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
require 'reek/rake/task'
|
|
36
|
+
Reek::Rake::Task.new do |t|
|
|
37
|
+
t.fail_on_error = true
|
|
38
|
+
t.verbose = false
|
|
39
|
+
t.source_files = 'lib/**/*.rb'
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
require 'roodi'
|
|
43
|
+
require 'roodi_task'
|
|
44
|
+
RoodiTask.new do |t|
|
|
45
|
+
t.verbose = false
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
task :default => :spec
|
|
49
|
+
|
|
50
|
+
require 'yard'
|
|
51
|
+
YARD::Rake::YardocTask.new
|
|
Binary file
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
fileFormatVersion: 1
|
|
2
|
+
guid: dea5ec1f7cfa140208966f1ae39f30e8
|
|
3
|
+
TextureImporter:
|
|
4
|
+
importerVersion: 2
|
|
5
|
+
maxTextureSize: 1024
|
|
6
|
+
textureFormat: -3
|
|
7
|
+
grayscaleToAlpha: 0
|
|
8
|
+
npotScale: 0
|
|
9
|
+
generateCubemap: 0
|
|
10
|
+
isReadable: 0
|
|
11
|
+
textureType: 2
|
|
12
|
+
mipmaps:
|
|
13
|
+
generation: 0
|
|
14
|
+
correctGamma: 0
|
|
15
|
+
border: 0
|
|
16
|
+
filter: 0
|
|
17
|
+
fadeout: 0
|
|
18
|
+
fadeoutStart: 1
|
|
19
|
+
fadeoutEnd: 3
|
|
20
|
+
bumpmap:
|
|
21
|
+
generation: 0
|
|
22
|
+
bumpyness: 0.25
|
|
23
|
+
filter: 0
|
|
24
|
+
textureSettings:
|
|
25
|
+
filterMode: 0
|
|
26
|
+
anisoLevel: 1
|
|
27
|
+
mipmapBias: -1
|
|
28
|
+
wrapMode: 1
|
|
Binary file
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
fileFormatVersion: 1
|
|
2
|
+
guid: a5e3c7cddeac8434390c49b4554ad4de
|
|
3
|
+
TextureImporter:
|
|
4
|
+
importerVersion: 2
|
|
5
|
+
maxTextureSize: 1024
|
|
6
|
+
textureFormat: -3
|
|
7
|
+
grayscaleToAlpha: 0
|
|
8
|
+
npotScale: 0
|
|
9
|
+
generateCubemap: 0
|
|
10
|
+
isReadable: 0
|
|
11
|
+
textureType: 2
|
|
12
|
+
mipmaps:
|
|
13
|
+
generation: 0
|
|
14
|
+
correctGamma: 0
|
|
15
|
+
border: 0
|
|
16
|
+
filter: 0
|
|
17
|
+
fadeout: 0
|
|
18
|
+
fadeoutStart: 1
|
|
19
|
+
fadeoutEnd: 3
|
|
20
|
+
bumpmap:
|
|
21
|
+
generation: 0
|
|
22
|
+
bumpyness: 0.25
|
|
23
|
+
filter: 0
|
|
24
|
+
textureSettings:
|
|
25
|
+
filterMode: 0
|
|
26
|
+
anisoLevel: 1
|
|
27
|
+
mipmapBias: -1
|
|
28
|
+
wrapMode: 1
|
|
Binary file
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
fileFormatVersion: 1
|
|
2
|
+
guid: 294d9cfd510f448c48bffb15830d65c5
|
|
3
|
+
TextureImporter:
|
|
4
|
+
importerVersion: 2
|
|
5
|
+
maxTextureSize: 1024
|
|
6
|
+
textureFormat: -3
|
|
7
|
+
grayscaleToAlpha: 0
|
|
8
|
+
npotScale: 0
|
|
9
|
+
generateCubemap: 0
|
|
10
|
+
isReadable: 0
|
|
11
|
+
textureType: 2
|
|
12
|
+
mipmaps:
|
|
13
|
+
generation: 0
|
|
14
|
+
correctGamma: 0
|
|
15
|
+
border: 0
|
|
16
|
+
filter: 0
|
|
17
|
+
fadeout: 0
|
|
18
|
+
fadeoutStart: 1
|
|
19
|
+
fadeoutEnd: 3
|
|
20
|
+
bumpmap:
|
|
21
|
+
generation: 0
|
|
22
|
+
bumpyness: 0.25
|
|
23
|
+
filter: 0
|
|
24
|
+
textureSettings:
|
|
25
|
+
filterMode: 0
|
|
26
|
+
anisoLevel: 1
|
|
27
|
+
mipmapBias: -1
|
|
28
|
+
wrapMode: 1
|
|
Binary file
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
fileFormatVersion: 1
|
|
2
|
+
guid: b9ce92f88c5054551a419c3dc96f9154
|
|
3
|
+
TextureImporter:
|
|
4
|
+
importerVersion: 2
|
|
5
|
+
maxTextureSize: 1024
|
|
6
|
+
textureFormat: -3
|
|
7
|
+
grayscaleToAlpha: 0
|
|
8
|
+
npotScale: 0
|
|
9
|
+
generateCubemap: 0
|
|
10
|
+
isReadable: 0
|
|
11
|
+
textureType: 2
|
|
12
|
+
mipmaps:
|
|
13
|
+
generation: 0
|
|
14
|
+
correctGamma: 0
|
|
15
|
+
border: 0
|
|
16
|
+
filter: 0
|
|
17
|
+
fadeout: 0
|
|
18
|
+
fadeoutStart: 1
|
|
19
|
+
fadeoutEnd: 3
|
|
20
|
+
bumpmap:
|
|
21
|
+
generation: 0
|
|
22
|
+
bumpyness: 0.25
|
|
23
|
+
filter: 0
|
|
24
|
+
textureSettings:
|
|
25
|
+
filterMode: 0
|
|
26
|
+
anisoLevel: 1
|
|
27
|
+
mipmapBias: -1
|
|
28
|
+
wrapMode: 1
|
|
Binary file
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
fileFormatVersion: 1
|
|
2
|
+
guid: 245716ed6d6b34c8eb6b0f0cb045d349
|
|
3
|
+
TextureImporter:
|
|
4
|
+
importerVersion: 2
|
|
5
|
+
maxTextureSize: 1024
|
|
6
|
+
textureFormat: -3
|
|
7
|
+
grayscaleToAlpha: 0
|
|
8
|
+
npotScale: 0
|
|
9
|
+
generateCubemap: 0
|
|
10
|
+
isReadable: 0
|
|
11
|
+
textureType: 2
|
|
12
|
+
mipmaps:
|
|
13
|
+
generation: 0
|
|
14
|
+
correctGamma: 0
|
|
15
|
+
border: 0
|
|
16
|
+
filter: 0
|
|
17
|
+
fadeout: 0
|
|
18
|
+
fadeoutStart: 1
|
|
19
|
+
fadeoutEnd: 3
|
|
20
|
+
bumpmap:
|
|
21
|
+
generation: 0
|
|
22
|
+
bumpyness: 0.25
|
|
23
|
+
filter: 0
|
|
24
|
+
textureSettings:
|
|
25
|
+
filterMode: 0
|
|
26
|
+
anisoLevel: 1
|
|
27
|
+
mipmapBias: -1
|
|
28
|
+
wrapMode: 1
|
|
Binary file
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
fileFormatVersion: 1
|
|
2
|
+
guid: e0c1621d587d148eebb29e19c54ebfbd
|
|
3
|
+
TextureImporter:
|
|
4
|
+
importerVersion: 2
|
|
5
|
+
maxTextureSize: 1024
|
|
6
|
+
textureFormat: -3
|
|
7
|
+
grayscaleToAlpha: 0
|
|
8
|
+
npotScale: 0
|
|
9
|
+
generateCubemap: 0
|
|
10
|
+
isReadable: 0
|
|
11
|
+
textureType: 2
|
|
12
|
+
mipmaps:
|
|
13
|
+
generation: 0
|
|
14
|
+
correctGamma: 0
|
|
15
|
+
border: 0
|
|
16
|
+
filter: 0
|
|
17
|
+
fadeout: 0
|
|
18
|
+
fadeoutStart: 1
|
|
19
|
+
fadeoutEnd: 3
|
|
20
|
+
bumpmap:
|
|
21
|
+
generation: 0
|
|
22
|
+
bumpyness: 0.25
|
|
23
|
+
filter: 0
|
|
24
|
+
textureSettings:
|
|
25
|
+
filterMode: 0
|
|
26
|
+
anisoLevel: 1
|
|
27
|
+
mipmapBias: -1
|
|
28
|
+
wrapMode: 1
|
|
Binary file
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
fileFormatVersion: 1
|
|
2
|
+
guid: 6d2a7fa7adc514907913b709fc943b4d
|
|
3
|
+
TextureImporter:
|
|
4
|
+
importerVersion: 2
|
|
5
|
+
maxTextureSize: 1024
|
|
6
|
+
textureFormat: -3
|
|
7
|
+
grayscaleToAlpha: 0
|
|
8
|
+
npotScale: 0
|
|
9
|
+
generateCubemap: 0
|
|
10
|
+
isReadable: 0
|
|
11
|
+
textureType: 2
|
|
12
|
+
mipmaps:
|
|
13
|
+
generation: 0
|
|
14
|
+
correctGamma: 0
|
|
15
|
+
border: 0
|
|
16
|
+
filter: 0
|
|
17
|
+
fadeout: 0
|
|
18
|
+
fadeoutStart: 1
|
|
19
|
+
fadeoutEnd: 3
|
|
20
|
+
bumpmap:
|
|
21
|
+
generation: 0
|
|
22
|
+
bumpyness: 0.25
|
|
23
|
+
filter: 0
|
|
24
|
+
textureSettings:
|
|
25
|
+
filterMode: 0
|
|
26
|
+
anisoLevel: 1
|
|
27
|
+
mipmapBias: -1
|
|
28
|
+
wrapMode: 1
|
|
Binary file
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
fileFormatVersion: 1
|
|
2
|
+
guid: 43049661c4511470fa71aad33e85ad48
|
|
3
|
+
TextureImporter:
|
|
4
|
+
importerVersion: 2
|
|
5
|
+
maxTextureSize: 1024
|
|
6
|
+
textureFormat: -3
|
|
7
|
+
grayscaleToAlpha: 0
|
|
8
|
+
npotScale: 0
|
|
9
|
+
generateCubemap: 0
|
|
10
|
+
isReadable: 0
|
|
11
|
+
textureType: 2
|
|
12
|
+
mipmaps:
|
|
13
|
+
generation: 0
|
|
14
|
+
correctGamma: 0
|
|
15
|
+
border: 0
|
|
16
|
+
filter: 0
|
|
17
|
+
fadeout: 0
|
|
18
|
+
fadeoutStart: 1
|
|
19
|
+
fadeoutEnd: 3
|
|
20
|
+
bumpmap:
|
|
21
|
+
generation: 0
|
|
22
|
+
bumpyness: 0.25
|
|
23
|
+
filter: 0
|
|
24
|
+
textureSettings:
|
|
25
|
+
filterMode: 0
|
|
26
|
+
anisoLevel: 1
|
|
27
|
+
mipmapBias: -1
|
|
28
|
+
wrapMode: 1
|
|
Binary file
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
fileFormatVersion: 1
|
|
2
|
+
guid: 09485302c089b4248b1f5d79e71bf75c
|
|
3
|
+
TextureImporter:
|
|
4
|
+
importerVersion: 2
|
|
5
|
+
maxTextureSize: 1024
|
|
6
|
+
textureFormat: -3
|
|
7
|
+
grayscaleToAlpha: 0
|
|
8
|
+
npotScale: 0
|
|
9
|
+
generateCubemap: 0
|
|
10
|
+
isReadable: 0
|
|
11
|
+
textureType: 2
|
|
12
|
+
mipmaps:
|
|
13
|
+
generation: 0
|
|
14
|
+
correctGamma: 0
|
|
15
|
+
border: 0
|
|
16
|
+
filter: 0
|
|
17
|
+
fadeout: 0
|
|
18
|
+
fadeoutStart: 1
|
|
19
|
+
fadeoutEnd: 3
|
|
20
|
+
bumpmap:
|
|
21
|
+
generation: 0
|
|
22
|
+
bumpyness: 0.25
|
|
23
|
+
filter: 0
|
|
24
|
+
textureSettings:
|
|
25
|
+
filterMode: 0
|
|
26
|
+
anisoLevel: 1
|
|
27
|
+
mipmapBias: -1
|
|
28
|
+
wrapMode: 1
|
|
Binary file
|