From 7e0b5c508d326a83202b23e612e11317ffdf5551 Mon Sep 17 00:00:00 2001
From: miepzerino <o.skotnik@gmail.com>
Date: Fri, 08 Dec 2023 16:08:47 +0000
Subject: [PATCH] Added animation for player + rotor while flying

---
 Assets/Characters/Player/GrayNinja/SeparateAnim/Special1.png.meta       |    0 
 Assets/Characters/Player/Rotor/Shuriken.png                             |    0 
 Assets/Characters/Player/GrayNinja/SpriteSheet.png.meta                 |    0 
 Assets/Characters/Player/player_fly.anim                                |   75 +++
 Assets/Characters.meta                                                  |    0 
 Assets/Characters/Player/GrayNinja/SeparateAnim/Jump.png                |    0 
 Assets/Characters/Player/Player.prefab.meta                             |    0 
 Assets/Characters/Player/player_idle.anim.meta                          |    8 
 Assets/Characters/Player/player_walk.anim                               |   81 ++++
 Assets/Characters/Player/player_walk.anim.meta                          |    8 
 Assets/TileSets/FreeCuteTileset/BG1.png                                 |    0 
 Assets/Characters/Player/rotor_fly.anim                                 |   75 +++
 Assets/Characters/Player/AC_Flying.controller.meta                      |    8 
 Assets/Characters/Player/Rotor.meta                                     |    8 
 Assets/Characters/Player/GrayNinja/PlayerInputActions.inputactions      |    0 
 Assets/Characters/Player/player_idle.anim                               |   81 ++++
 Assets/Characters/Player/GrayNinja/PlayerInputActions.inputactions.meta |    0 
 Assets/Characters/Player/GrayNinja/SeparateAnim/Attack.png              |    0 
 Assets/Characters/Player/GrayNinja/SeparateAnim.meta                    |    0 
 Assets/Characters/Player/GrayNinja/Faceset.png.meta                     |    0 
 Assets/Characters/Player/GrayNinja/SeparateAnim/Item.png                |    0 
 Assets/Characters/Player.meta                                           |    8 
 Assets/Characters/Player/GrayNinja/SeparateAnim/Attack.png.meta         |    0 
 Assets/Characters/Player/player_fly.anim.meta                           |    8 
 Assets/Characters/Player/rotor_fly.anim.meta                            |    8 
 Assets/Characters/Player/GrayNinja/SeparateAnim/Walk.png                |    0 
 Assets/Characters/Player/Player.prefab                                  |  134 ++++++
 Assets/Scripts/PlayerController.cs                                      |   75 +++
 Assets/Characters/Player/GrayNinja/SeparateAnim/Special2.png            |    0 
 Assets/Characters/Player/GrayNinja/SpriteSheet.png                      |    0 
 Assets/Scenes/GameplayScene.unity                                       |    4 
 Assets/Characters/Player/GrayNinja/SeparateAnim/Special2.png.meta       |    0 
 Assets/TileSets/FreeCuteTileset/BG1.png.meta                            |    6 
 Assets/Characters/Player/AC_Flying.controller                           |   72 +++
 Assets/Characters/Player/AC_Player.controller                           |  326 ++++++++++++++++
 Assets/Characters/Player/GrayNinja/SeparateAnim/Dead.png.meta           |    0 
 Assets/Characters/Player/GrayNinja/SeparateAnim/Special1.png            |    0 
 Assets/Characters/Player/GrayNinja/SeparateAnim/Item.png.meta           |    0 
 Assets/Characters/Player/GrayNinja/SeparateAnim/Walk.png.meta           |    0 
 Assets/Characters/Player/GrayNinja.meta                                 |    0 
 Assets/Characters/Player/GrayNinja/SeparateAnim/Jump.png.meta           |    0 
 Assets/Characters/Player/Rotor/Shuriken.png.meta                        |  171 ++++++++
 Assets/Characters/Player/GrayNinja/Faceset.png                          |    0 
 Assets/Characters/Player/GrayNinja/SeparateAnim/Dead.png                |    0 
 Assets/Characters/Player/GrayNinja/SeparateAnim/Idle.png.meta           |    0 
 Assets/Characters/Player/AC_Player.controller.meta                      |    8 
 Assets/Characters/Player/GrayNinja/SeparateAnim/Idle.png                |    0 
 47 files changed, 1,156 insertions(+), 8 deletions(-)

diff --git a/Assets/Prefab.meta b/Assets/Characters.meta
similarity index 100%
rename from Assets/Prefab.meta
rename to Assets/Characters.meta
diff --git a/Assets/Characters/Player.meta b/Assets/Characters/Player.meta
new file mode 100644
index 0000000..49ec564
--- /dev/null
+++ b/Assets/Characters/Player.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 029240886c8719747985d1e76008b924
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Characters/Player/AC_Flying.controller b/Assets/Characters/Player/AC_Flying.controller
new file mode 100644
index 0000000..7da2279
--- /dev/null
+++ b/Assets/Characters/Player/AC_Flying.controller
@@ -0,0 +1,72 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1107 &-8566205281160531770
+AnimatorStateMachine:
+  serializedVersion: 6
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: Base Layer
+  m_ChildStates:
+  - serializedVersion: 1
+    m_State: {fileID: 7530906470296434405}
+    m_Position: {x: 290, y: 170, z: 0}
+  m_ChildStateMachines: []
+  m_AnyStateTransitions: []
+  m_EntryTransitions: []
+  m_StateMachineTransitions: {}
+  m_StateMachineBehaviours: []
+  m_AnyStatePosition: {x: 50, y: 20, z: 0}
+  m_EntryPosition: {x: 50, y: 120, z: 0}
+  m_ExitPosition: {x: 800, y: 120, z: 0}
+  m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
+  m_DefaultState: {fileID: 7530906470296434405}
+--- !u!91 &9100000
+AnimatorController:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: AC_Flying
+  serializedVersion: 5
+  m_AnimatorParameters: []
+  m_AnimatorLayers:
+  - serializedVersion: 5
+    m_Name: Base Layer
+    m_StateMachine: {fileID: -8566205281160531770}
+    m_Mask: {fileID: 0}
+    m_Motions: []
+    m_Behaviours: []
+    m_BlendingMode: 0
+    m_SyncedLayerIndex: -1
+    m_DefaultWeight: 0
+    m_IKPass: 0
+    m_SyncedLayerAffectsTiming: 0
+    m_Controller: {fileID: 9100000}
+--- !u!1102 &7530906470296434405
+AnimatorState:
+  serializedVersion: 6
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: rotor_fly
+  m_Speed: 1
+  m_CycleOffset: 0
+  m_Transitions: []
+  m_StateMachineBehaviours: []
+  m_Position: {x: 50, y: 50, z: 0}
+  m_IKOnFeet: 0
+  m_WriteDefaultValues: 1
+  m_Mirror: 0
+  m_SpeedParameterActive: 0
+  m_MirrorParameterActive: 0
+  m_CycleOffsetParameterActive: 0
+  m_TimeParameterActive: 0
+  m_Motion: {fileID: 7400000, guid: 1251b63d4c062b1459fc4388ef9a61d8, type: 2}
+  m_Tag: 
+  m_SpeedParameter: 
+  m_MirrorParameter: 
+  m_CycleOffsetParameter: 
+  m_TimeParameter: 
diff --git a/Assets/Characters/Player/AC_Flying.controller.meta b/Assets/Characters/Player/AC_Flying.controller.meta
new file mode 100644
index 0000000..03ee492
--- /dev/null
+++ b/Assets/Characters/Player/AC_Flying.controller.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0a4f20c566fd3dd4eb97961e43246647
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 9100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Characters/Player/AC_Player.controller b/Assets/Characters/Player/AC_Player.controller
new file mode 100644
index 0000000..ec98c2e
--- /dev/null
+++ b/Assets/Characters/Player/AC_Player.controller
@@ -0,0 +1,326 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1101 &-8857883071945152901
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  m_Conditions:
+  - m_ConditionMode: 2
+    m_ConditionEvent: IsMoving
+    m_EventTreshold: 0
+  - m_ConditionMode: 2
+    m_ConditionEvent: IsFlying
+    m_EventTreshold: 0
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: 68305137226140118}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 0
+  m_TransitionOffset: 0
+  m_ExitTime: 0.5
+  m_HasExitTime: 0
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 1
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
+--- !u!1107 &-8244801798701371434
+AnimatorStateMachine:
+  serializedVersion: 6
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: Movement
+  m_ChildStates:
+  - serializedVersion: 1
+    m_State: {fileID: 68305137226140118}
+    m_Position: {x: 360, y: 110, z: 0}
+  - serializedVersion: 1
+    m_State: {fileID: 6445297590206837791}
+    m_Position: {x: 620, y: 110, z: 0}
+  - serializedVersion: 1
+    m_State: {fileID: 7984510369417086179}
+    m_Position: {x: 620, y: 200, z: 0}
+  m_ChildStateMachines: []
+  m_AnyStateTransitions: []
+  m_EntryTransitions: []
+  m_StateMachineTransitions: {}
+  m_StateMachineBehaviours: []
+  m_AnyStatePosition: {x: 50, y: 20, z: 0}
+  m_EntryPosition: {x: 50, y: 120, z: 0}
+  m_ExitPosition: {x: 880, y: 120, z: 0}
+  m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
+  m_DefaultState: {fileID: 68305137226140118}
+--- !u!1101 &-7913474699216770149
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  m_Conditions:
+  - m_ConditionMode: 2
+    m_ConditionEvent: IsMoving
+    m_EventTreshold: 0
+  - m_ConditionMode: 2
+    m_ConditionEvent: IsFlying
+    m_EventTreshold: 0
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: 68305137226140118}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 0
+  m_TransitionOffset: 0
+  m_ExitTime: 0.625
+  m_HasExitTime: 0
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 1
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
+--- !u!1107 &-3544671305424738950
+AnimatorStateMachine:
+  serializedVersion: 6
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: Base Layer
+  m_ChildStates: []
+  m_ChildStateMachines:
+  - serializedVersion: 1
+    m_StateMachine: {fileID: -8244801798701371434}
+    m_Position: {x: 320, y: 110, z: 0}
+  m_AnyStateTransitions: []
+  m_EntryTransitions: []
+  m_StateMachineTransitions: {}
+  m_StateMachineBehaviours: []
+  m_AnyStatePosition: {x: 50, y: 20, z: 0}
+  m_EntryPosition: {x: 50, y: 120, z: 0}
+  m_ExitPosition: {x: 800, y: 120, z: 0}
+  m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
+  m_DefaultState: {fileID: 68305137226140118}
+--- !u!1101 &-1567565794043545918
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  m_Conditions:
+  - m_ConditionMode: 1
+    m_ConditionEvent: IsFlying
+    m_EventTreshold: 0
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: 7984510369417086179}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 0
+  m_TransitionOffset: 0
+  m_ExitTime: 0
+  m_HasExitTime: 0
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 1
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
+--- !u!91 &9100000
+AnimatorController:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: AC_Player
+  serializedVersion: 5
+  m_AnimatorParameters:
+  - m_Name: IsMoving
+    m_Type: 4
+    m_DefaultFloat: 0
+    m_DefaultInt: 0
+    m_DefaultBool: 0
+    m_Controller: {fileID: 0}
+  - m_Name: IsFlying
+    m_Type: 4
+    m_DefaultFloat: 0
+    m_DefaultInt: 0
+    m_DefaultBool: 0
+    m_Controller: {fileID: 0}
+  m_AnimatorLayers:
+  - serializedVersion: 5
+    m_Name: Base Layer
+    m_StateMachine: {fileID: -3544671305424738950}
+    m_Mask: {fileID: 0}
+    m_Motions: []
+    m_Behaviours: []
+    m_BlendingMode: 0
+    m_SyncedLayerIndex: -1
+    m_DefaultWeight: 0
+    m_IKPass: 0
+    m_SyncedLayerAffectsTiming: 0
+    m_Controller: {fileID: 9100000}
+--- !u!1102 &68305137226140118
+AnimatorState:
+  serializedVersion: 6
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: player_idle
+  m_Speed: 1
+  m_CycleOffset: 0
+  m_Transitions:
+  - {fileID: 7462440421188174382}
+  - {fileID: -1567565794043545918}
+  m_StateMachineBehaviours: []
+  m_Position: {x: 50, y: 50, z: 0}
+  m_IKOnFeet: 0
+  m_WriteDefaultValues: 1
+  m_Mirror: 0
+  m_SpeedParameterActive: 0
+  m_MirrorParameterActive: 0
+  m_CycleOffsetParameterActive: 0
+  m_TimeParameterActive: 0
+  m_Motion: {fileID: 7400000, guid: e8a64ec5d69a75e41b5030715cdc1f48, type: 2}
+  m_Tag: 
+  m_SpeedParameter: 
+  m_MirrorParameter: 
+  m_CycleOffsetParameter: 
+  m_TimeParameter: 
+--- !u!1101 &1760657886866949958
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  m_Conditions:
+  - m_ConditionMode: 2
+    m_ConditionEvent: IsFlying
+    m_EventTreshold: 0
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: 6445297590206837791}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 0
+  m_TransitionOffset: 0
+  m_ExitTime: 0
+  m_HasExitTime: 0
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 1
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
+--- !u!1101 &6280974660787890301
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  m_Conditions:
+  - m_ConditionMode: 1
+    m_ConditionEvent: IsFlying
+    m_EventTreshold: 0
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: 7984510369417086179}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 0
+  m_TransitionOffset: 0
+  m_ExitTime: 0
+  m_HasExitTime: 0
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 1
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
+--- !u!1102 &6445297590206837791
+AnimatorState:
+  serializedVersion: 6
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: player_walk
+  m_Speed: 1
+  m_CycleOffset: 0
+  m_Transitions:
+  - {fileID: 6280974660787890301}
+  - {fileID: -7913474699216770149}
+  m_StateMachineBehaviours: []
+  m_Position: {x: 50, y: 50, z: 0}
+  m_IKOnFeet: 0
+  m_WriteDefaultValues: 1
+  m_Mirror: 0
+  m_SpeedParameterActive: 0
+  m_MirrorParameterActive: 0
+  m_CycleOffsetParameterActive: 0
+  m_TimeParameterActive: 0
+  m_Motion: {fileID: 7400000, guid: 36e5ea11f46563e42ba412dee7c6f1ed, type: 2}
+  m_Tag: 
+  m_SpeedParameter: 
+  m_MirrorParameter: 
+  m_CycleOffsetParameter: 
+  m_TimeParameter: 
+--- !u!1101 &7462440421188174382
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  m_Conditions:
+  - m_ConditionMode: 1
+    m_ConditionEvent: IsMoving
+    m_EventTreshold: 0
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: 6445297590206837791}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 0
+  m_TransitionOffset: 0
+  m_ExitTime: 0
+  m_HasExitTime: 0
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 1
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
+--- !u!1102 &7984510369417086179
+AnimatorState:
+  serializedVersion: 6
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: player_fly
+  m_Speed: 1
+  m_CycleOffset: 0
+  m_Transitions:
+  - {fileID: 1760657886866949958}
+  - {fileID: -8857883071945152901}
+  m_StateMachineBehaviours: []
+  m_Position: {x: 50, y: 50, z: 0}
+  m_IKOnFeet: 0
+  m_WriteDefaultValues: 1
+  m_Mirror: 0
+  m_SpeedParameterActive: 0
+  m_MirrorParameterActive: 0
+  m_CycleOffsetParameterActive: 0
+  m_TimeParameterActive: 0
+  m_Motion: {fileID: 7400000, guid: b2a4b71a1049aa544b7edd8227ff0fbf, type: 2}
+  m_Tag: 
+  m_SpeedParameter: 
+  m_MirrorParameter: 
+  m_CycleOffsetParameter: 
+  m_TimeParameter: 
diff --git a/Assets/Characters/Player/AC_Player.controller.meta b/Assets/Characters/Player/AC_Player.controller.meta
new file mode 100644
index 0000000..aff663c
--- /dev/null
+++ b/Assets/Characters/Player/AC_Player.controller.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ee0e9ea65c5393b4a8e042d47d441544
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 9100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Sprites/GrayNinja.meta b/Assets/Characters/Player/GrayNinja.meta
similarity index 100%
rename from Assets/Sprites/GrayNinja.meta
rename to Assets/Characters/Player/GrayNinja.meta
diff --git a/Assets/Sprites/GrayNinja/Faceset.png b/Assets/Characters/Player/GrayNinja/Faceset.png
similarity index 100%
rename from Assets/Sprites/GrayNinja/Faceset.png
rename to Assets/Characters/Player/GrayNinja/Faceset.png
Binary files differ
diff --git a/Assets/Sprites/GrayNinja/Faceset.png.meta b/Assets/Characters/Player/GrayNinja/Faceset.png.meta
similarity index 100%
rename from Assets/Sprites/GrayNinja/Faceset.png.meta
rename to Assets/Characters/Player/GrayNinja/Faceset.png.meta
diff --git a/Assets/Sprites/GrayNinja/PlayerInputActions.inputactions b/Assets/Characters/Player/GrayNinja/PlayerInputActions.inputactions
similarity index 100%
rename from Assets/Sprites/GrayNinja/PlayerInputActions.inputactions
rename to Assets/Characters/Player/GrayNinja/PlayerInputActions.inputactions
diff --git a/Assets/Sprites/GrayNinja/PlayerInputActions.inputactions.meta b/Assets/Characters/Player/GrayNinja/PlayerInputActions.inputactions.meta
similarity index 100%
rename from Assets/Sprites/GrayNinja/PlayerInputActions.inputactions.meta
rename to Assets/Characters/Player/GrayNinja/PlayerInputActions.inputactions.meta
diff --git a/Assets/Sprites/GrayNinja/SeparateAnim.meta b/Assets/Characters/Player/GrayNinja/SeparateAnim.meta
similarity index 100%
rename from Assets/Sprites/GrayNinja/SeparateAnim.meta
rename to Assets/Characters/Player/GrayNinja/SeparateAnim.meta
diff --git a/Assets/Sprites/GrayNinja/SeparateAnim/Attack.png b/Assets/Characters/Player/GrayNinja/SeparateAnim/Attack.png
similarity index 100%
rename from Assets/Sprites/GrayNinja/SeparateAnim/Attack.png
rename to Assets/Characters/Player/GrayNinja/SeparateAnim/Attack.png
Binary files differ
diff --git a/Assets/Sprites/GrayNinja/SeparateAnim/Attack.png.meta b/Assets/Characters/Player/GrayNinja/SeparateAnim/Attack.png.meta
similarity index 100%
rename from Assets/Sprites/GrayNinja/SeparateAnim/Attack.png.meta
rename to Assets/Characters/Player/GrayNinja/SeparateAnim/Attack.png.meta
diff --git a/Assets/Sprites/GrayNinja/SeparateAnim/Dead.png b/Assets/Characters/Player/GrayNinja/SeparateAnim/Dead.png
similarity index 100%
rename from Assets/Sprites/GrayNinja/SeparateAnim/Dead.png
rename to Assets/Characters/Player/GrayNinja/SeparateAnim/Dead.png
Binary files differ
diff --git a/Assets/Sprites/GrayNinja/SeparateAnim/Dead.png.meta b/Assets/Characters/Player/GrayNinja/SeparateAnim/Dead.png.meta
similarity index 100%
rename from Assets/Sprites/GrayNinja/SeparateAnim/Dead.png.meta
rename to Assets/Characters/Player/GrayNinja/SeparateAnim/Dead.png.meta
diff --git a/Assets/Sprites/GrayNinja/SeparateAnim/Idle.png b/Assets/Characters/Player/GrayNinja/SeparateAnim/Idle.png
similarity index 100%
rename from Assets/Sprites/GrayNinja/SeparateAnim/Idle.png
rename to Assets/Characters/Player/GrayNinja/SeparateAnim/Idle.png
Binary files differ
diff --git a/Assets/Sprites/GrayNinja/SeparateAnim/Idle.png.meta b/Assets/Characters/Player/GrayNinja/SeparateAnim/Idle.png.meta
similarity index 100%
rename from Assets/Sprites/GrayNinja/SeparateAnim/Idle.png.meta
rename to Assets/Characters/Player/GrayNinja/SeparateAnim/Idle.png.meta
diff --git a/Assets/Sprites/GrayNinja/SeparateAnim/Item.png b/Assets/Characters/Player/GrayNinja/SeparateAnim/Item.png
similarity index 100%
rename from Assets/Sprites/GrayNinja/SeparateAnim/Item.png
rename to Assets/Characters/Player/GrayNinja/SeparateAnim/Item.png
Binary files differ
diff --git a/Assets/Sprites/GrayNinja/SeparateAnim/Item.png.meta b/Assets/Characters/Player/GrayNinja/SeparateAnim/Item.png.meta
similarity index 100%
rename from Assets/Sprites/GrayNinja/SeparateAnim/Item.png.meta
rename to Assets/Characters/Player/GrayNinja/SeparateAnim/Item.png.meta
diff --git a/Assets/Sprites/GrayNinja/SeparateAnim/Jump.png b/Assets/Characters/Player/GrayNinja/SeparateAnim/Jump.png
similarity index 100%
rename from Assets/Sprites/GrayNinja/SeparateAnim/Jump.png
rename to Assets/Characters/Player/GrayNinja/SeparateAnim/Jump.png
Binary files differ
diff --git a/Assets/Sprites/GrayNinja/SeparateAnim/Jump.png.meta b/Assets/Characters/Player/GrayNinja/SeparateAnim/Jump.png.meta
similarity index 100%
rename from Assets/Sprites/GrayNinja/SeparateAnim/Jump.png.meta
rename to Assets/Characters/Player/GrayNinja/SeparateAnim/Jump.png.meta
diff --git a/Assets/Sprites/GrayNinja/SeparateAnim/Special1.png b/Assets/Characters/Player/GrayNinja/SeparateAnim/Special1.png
similarity index 100%
rename from Assets/Sprites/GrayNinja/SeparateAnim/Special1.png
rename to Assets/Characters/Player/GrayNinja/SeparateAnim/Special1.png
Binary files differ
diff --git a/Assets/Sprites/GrayNinja/SeparateAnim/Special1.png.meta b/Assets/Characters/Player/GrayNinja/SeparateAnim/Special1.png.meta
similarity index 100%
rename from Assets/Sprites/GrayNinja/SeparateAnim/Special1.png.meta
rename to Assets/Characters/Player/GrayNinja/SeparateAnim/Special1.png.meta
diff --git a/Assets/Sprites/GrayNinja/SeparateAnim/Special2.png b/Assets/Characters/Player/GrayNinja/SeparateAnim/Special2.png
similarity index 100%
rename from Assets/Sprites/GrayNinja/SeparateAnim/Special2.png
rename to Assets/Characters/Player/GrayNinja/SeparateAnim/Special2.png
Binary files differ
diff --git a/Assets/Sprites/GrayNinja/SeparateAnim/Special2.png.meta b/Assets/Characters/Player/GrayNinja/SeparateAnim/Special2.png.meta
similarity index 100%
rename from Assets/Sprites/GrayNinja/SeparateAnim/Special2.png.meta
rename to Assets/Characters/Player/GrayNinja/SeparateAnim/Special2.png.meta
diff --git a/Assets/Sprites/GrayNinja/SeparateAnim/Walk.png b/Assets/Characters/Player/GrayNinja/SeparateAnim/Walk.png
similarity index 100%
rename from Assets/Sprites/GrayNinja/SeparateAnim/Walk.png
rename to Assets/Characters/Player/GrayNinja/SeparateAnim/Walk.png
Binary files differ
diff --git a/Assets/Sprites/GrayNinja/SeparateAnim/Walk.png.meta b/Assets/Characters/Player/GrayNinja/SeparateAnim/Walk.png.meta
similarity index 100%
rename from Assets/Sprites/GrayNinja/SeparateAnim/Walk.png.meta
rename to Assets/Characters/Player/GrayNinja/SeparateAnim/Walk.png.meta
diff --git a/Assets/Sprites/GrayNinja/SpriteSheet.png b/Assets/Characters/Player/GrayNinja/SpriteSheet.png
similarity index 100%
rename from Assets/Sprites/GrayNinja/SpriteSheet.png
rename to Assets/Characters/Player/GrayNinja/SpriteSheet.png
Binary files differ
diff --git a/Assets/Sprites/GrayNinja/SpriteSheet.png.meta b/Assets/Characters/Player/GrayNinja/SpriteSheet.png.meta
similarity index 100%
rename from Assets/Sprites/GrayNinja/SpriteSheet.png.meta
rename to Assets/Characters/Player/GrayNinja/SpriteSheet.png.meta
diff --git a/Assets/Prefab/Player.prefab b/Assets/Characters/Player/Player.prefab
similarity index 67%
rename from Assets/Prefab/Player.prefab
rename to Assets/Characters/Player/Player.prefab
index 201cb6f..cd4439a 100644
--- a/Assets/Prefab/Player.prefab
+++ b/Assets/Characters/Player/Player.prefab
@@ -1,5 +1,111 @@
 %YAML 1.1
 %TAG !u! tag:unity3d.com,2011:
+--- !u!1 &1519978218308964847
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4015561216076182548}
+  - component: {fileID: 5161691884094901785}
+  - component: {fileID: 8187912793618963728}
+  m_Layer: 0
+  m_Name: Rotor
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4015561216076182548
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1519978218308964847}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 2368348636056148999}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &5161691884094901785
+SpriteRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1519978218308964847}
+  m_Enabled: 0
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 0
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: -1782493911, guid: 7551401a93967bf45af3ab223a74d737, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 1, y: 1}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+  m_SpriteSortPoint: 0
+--- !u!95 &8187912793618963728
+Animator:
+  serializedVersion: 5
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1519978218308964847}
+  m_Enabled: 1
+  m_Avatar: {fileID: 0}
+  m_Controller: {fileID: 9100000, guid: 0a4f20c566fd3dd4eb97961e43246647, type: 2}
+  m_CullingMode: 0
+  m_UpdateMode: 0
+  m_ApplyRootMotion: 0
+  m_LinearVelocityBlending: 0
+  m_StabilizeFeet: 0
+  m_WarningMessage: 
+  m_HasTransformHierarchy: 1
+  m_AllowConstantClipSamplingOptimization: 1
+  m_KeepAnimatorStateOnDisable: 0
+  m_WriteDefaultValuesOnDisable: 0
 --- !u!1 &3345854317100013954
 GameObject:
   m_ObjectHideFlags: 0
@@ -14,6 +120,7 @@
   - component: {fileID: 1512638649171213079}
   - component: {fileID: 6914713383366050867}
   - component: {fileID: 3884295854780712968}
+  - component: {fileID: 2451348752795735853}
   m_Layer: 0
   m_Name: Player
   m_TagString: Untagged
@@ -33,7 +140,8 @@
   m_LocalPosition: {x: 1.848, y: 0.043, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
-  m_Children: []
+  m_Children:
+  - {fileID: 4015561216076182548}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!212 &916538189430653628
@@ -129,6 +237,9 @@
   m_EditorClassIdentifier: 
   moveSpeed: 5
   maxFallSpeed: -20
+  _isMoving: 0
+  _isFlying: 0
+  rotorGO: {fileID: 1519978218308964847}
 --- !u!114 &6914713383366050867
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -268,3 +379,24 @@
   serializedVersion: 2
   m_Size: {x: 0.88, y: 0.95}
   m_EdgeRadius: 0
+--- !u!95 &2451348752795735853
+Animator:
+  serializedVersion: 5
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3345854317100013954}
+  m_Enabled: 1
+  m_Avatar: {fileID: 0}
+  m_Controller: {fileID: 9100000, guid: ee0e9ea65c5393b4a8e042d47d441544, type: 2}
+  m_CullingMode: 0
+  m_UpdateMode: 0
+  m_ApplyRootMotion: 0
+  m_LinearVelocityBlending: 0
+  m_StabilizeFeet: 0
+  m_WarningMessage: 
+  m_HasTransformHierarchy: 1
+  m_AllowConstantClipSamplingOptimization: 1
+  m_KeepAnimatorStateOnDisable: 0
+  m_WriteDefaultValuesOnDisable: 0
diff --git a/Assets/Prefab/Player.prefab.meta b/Assets/Characters/Player/Player.prefab.meta
similarity index 100%
rename from Assets/Prefab/Player.prefab.meta
rename to Assets/Characters/Player/Player.prefab.meta
diff --git a/Assets/Characters/Player/Rotor.meta b/Assets/Characters/Player/Rotor.meta
new file mode 100644
index 0000000..bb8fffe
--- /dev/null
+++ b/Assets/Characters/Player/Rotor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3725050292611644c8552f356c430336
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Characters/Player/Rotor/Shuriken.png b/Assets/Characters/Player/Rotor/Shuriken.png
new file mode 100644
index 0000000..d0909e1
--- /dev/null
+++ b/Assets/Characters/Player/Rotor/Shuriken.png
Binary files differ
diff --git a/Assets/Characters/Player/Rotor/Shuriken.png.meta b/Assets/Characters/Player/Rotor/Shuriken.png.meta
new file mode 100644
index 0000000..9b859e2
--- /dev/null
+++ b/Assets/Characters/Player/Rotor/Shuriken.png.meta
@@ -0,0 +1,171 @@
+fileFormatVersion: 2
+guid: 7551401a93967bf45af3ab223a74d737
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+    flipGreenChannel: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMipmapLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 0
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 2
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 16
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  swizzle: 50462976
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 4096
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites:
+    - serializedVersion: 2
+      name: Shuriken_0
+      rect:
+        serializedVersion: 2
+        x: 0
+        y: 0
+        width: 16
+        height: 16
+      alignment: 0
+      pivot: {x: 0, y: 0}
+      border: {x: 0, y: 0, z: 0, w: 0}
+      outline: []
+      physicsShape: []
+      tessellationDetail: 0
+      bones: []
+      spriteID: 4dce7b30ac0b2ee40b1d53d576cded72
+      internalID: -1782493911
+      vertices: []
+      indices: 
+      edges: []
+      weights: []
+    - serializedVersion: 2
+      name: Shuriken_1
+      rect:
+        serializedVersion: 2
+        x: 16
+        y: 0
+        width: 16
+        height: 16
+      alignment: 0
+      pivot: {x: 0, y: 0}
+      border: {x: 0, y: 0, z: 0, w: 0}
+      outline: []
+      physicsShape: []
+      tessellationDetail: 0
+      bones: []
+      spriteID: 5bafc8ed80a728d418a4ac6f2b260760
+      internalID: 935882150
+      vertices: []
+      indices: 
+      edges: []
+      weights: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable:
+      Shuriken_0: -1782493911
+      Shuriken_1: 935882150
+  mipmapLimitGroupName: 
+  pSDRemoveMatte: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Characters/Player/player_fly.anim b/Assets/Characters/Player/player_fly.anim
new file mode 100644
index 0000000..95a8477
--- /dev/null
+++ b/Assets/Characters/Player/player_fly.anim
@@ -0,0 +1,75 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: player_fly
+  serializedVersion: 7
+  m_Legacy: 0
+  m_Compressed: 0
+  m_UseHighQualityCurve: 1
+  m_RotationCurves: []
+  m_CompressedRotationCurves: []
+  m_EulerCurves: []
+  m_PositionCurves: []
+  m_ScaleCurves: []
+  m_FloatCurves: []
+  m_PPtrCurves:
+  - serializedVersion: 2
+    curve:
+    - time: 0
+      value: {fileID: 21300000, guid: 3e7d7385969bceb428fecc1b6408737f, type: 3}
+    - time: 0.25
+      value: {fileID: 21300000, guid: d99275a3d71fe8348b63f6aef5e76265, type: 3}
+    attribute: m_Sprite
+    path: 
+    classID: 212
+    script: {fileID: 0}
+    flags: 2
+  m_SampleRate: 4
+  m_WrapMode: 0
+  m_Bounds:
+    m_Center: {x: 0, y: 0, z: 0}
+    m_Extent: {x: 0, y: 0, z: 0}
+  m_ClipBindingConstant:
+    genericBindings:
+    - serializedVersion: 2
+      path: 0
+      attribute: 0
+      script: {fileID: 0}
+      typeID: 212
+      customType: 23
+      isPPtrCurve: 1
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    pptrCurveMapping:
+    - {fileID: 21300000, guid: 3e7d7385969bceb428fecc1b6408737f, type: 3}
+    - {fileID: 21300000, guid: d99275a3d71fe8348b63f6aef5e76265, type: 3}
+  m_AnimationClipSettings:
+    serializedVersion: 2
+    m_AdditiveReferencePoseClip: {fileID: 0}
+    m_AdditiveReferencePoseTime: 0
+    m_StartTime: 0
+    m_StopTime: 0.5
+    m_OrientationOffsetY: 0
+    m_Level: 0
+    m_CycleOffset: 0
+    m_HasAdditiveReferencePose: 0
+    m_LoopTime: 1
+    m_LoopBlend: 0
+    m_LoopBlendOrientation: 0
+    m_LoopBlendPositionY: 0
+    m_LoopBlendPositionXZ: 0
+    m_KeepOriginalOrientation: 0
+    m_KeepOriginalPositionY: 1
+    m_KeepOriginalPositionXZ: 0
+    m_HeightFromFeet: 0
+    m_Mirror: 0
+  m_EditorCurves: []
+  m_EulerEditorCurves: []
+  m_HasGenericRootTransform: 0
+  m_HasMotionFloatCurves: 0
+  m_Events: []
diff --git a/Assets/Characters/Player/player_fly.anim.meta b/Assets/Characters/Player/player_fly.anim.meta
new file mode 100644
index 0000000..7b75f86
--- /dev/null
+++ b/Assets/Characters/Player/player_fly.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b2a4b71a1049aa544b7edd8227ff0fbf
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 7400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Characters/Player/player_idle.anim b/Assets/Characters/Player/player_idle.anim
new file mode 100644
index 0000000..a17f3ae
--- /dev/null
+++ b/Assets/Characters/Player/player_idle.anim
@@ -0,0 +1,81 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: player_idle
+  serializedVersion: 7
+  m_Legacy: 0
+  m_Compressed: 0
+  m_UseHighQualityCurve: 1
+  m_RotationCurves: []
+  m_CompressedRotationCurves: []
+  m_EulerCurves: []
+  m_PositionCurves: []
+  m_ScaleCurves: []
+  m_FloatCurves: []
+  m_PPtrCurves:
+  - serializedVersion: 2
+    curve:
+    - time: 0
+      value: {fileID: -1443769575, guid: 9d524f9ef20ec3344a8c3468add5e772, type: 3}
+    - time: 0.5
+      value: {fileID: -1823273036, guid: 9d524f9ef20ec3344a8c3468add5e772, type: 3}
+    - time: 1
+      value: {fileID: -1010756386, guid: 9d524f9ef20ec3344a8c3468add5e772, type: 3}
+    - time: 1.5
+      value: {fileID: -2114963859, guid: 9d524f9ef20ec3344a8c3468add5e772, type: 3}
+    attribute: m_Sprite
+    path: 
+    classID: 212
+    script: {fileID: 0}
+    flags: 2
+  m_SampleRate: 2
+  m_WrapMode: 0
+  m_Bounds:
+    m_Center: {x: 0, y: 0, z: 0}
+    m_Extent: {x: 0, y: 0, z: 0}
+  m_ClipBindingConstant:
+    genericBindings:
+    - serializedVersion: 2
+      path: 0
+      attribute: 0
+      script: {fileID: 0}
+      typeID: 212
+      customType: 23
+      isPPtrCurve: 1
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    pptrCurveMapping:
+    - {fileID: -1443769575, guid: 9d524f9ef20ec3344a8c3468add5e772, type: 3}
+    - {fileID: -1823273036, guid: 9d524f9ef20ec3344a8c3468add5e772, type: 3}
+    - {fileID: -1010756386, guid: 9d524f9ef20ec3344a8c3468add5e772, type: 3}
+    - {fileID: -2114963859, guid: 9d524f9ef20ec3344a8c3468add5e772, type: 3}
+  m_AnimationClipSettings:
+    serializedVersion: 2
+    m_AdditiveReferencePoseClip: {fileID: 0}
+    m_AdditiveReferencePoseTime: 0
+    m_StartTime: 0
+    m_StopTime: 2
+    m_OrientationOffsetY: 0
+    m_Level: 0
+    m_CycleOffset: 0
+    m_HasAdditiveReferencePose: 0
+    m_LoopTime: 1
+    m_LoopBlend: 0
+    m_LoopBlendOrientation: 0
+    m_LoopBlendPositionY: 0
+    m_LoopBlendPositionXZ: 0
+    m_KeepOriginalOrientation: 0
+    m_KeepOriginalPositionY: 1
+    m_KeepOriginalPositionXZ: 0
+    m_HeightFromFeet: 0
+    m_Mirror: 0
+  m_EditorCurves: []
+  m_EulerEditorCurves: []
+  m_HasGenericRootTransform: 0
+  m_HasMotionFloatCurves: 0
+  m_Events: []
diff --git a/Assets/Characters/Player/player_idle.anim.meta b/Assets/Characters/Player/player_idle.anim.meta
new file mode 100644
index 0000000..e26e6bf
--- /dev/null
+++ b/Assets/Characters/Player/player_idle.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e8a64ec5d69a75e41b5030715cdc1f48
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 7400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Characters/Player/player_walk.anim b/Assets/Characters/Player/player_walk.anim
new file mode 100644
index 0000000..cc0c142
--- /dev/null
+++ b/Assets/Characters/Player/player_walk.anim
@@ -0,0 +1,81 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: player_walk
+  serializedVersion: 7
+  m_Legacy: 0
+  m_Compressed: 0
+  m_UseHighQualityCurve: 1
+  m_RotationCurves: []
+  m_CompressedRotationCurves: []
+  m_EulerCurves: []
+  m_PositionCurves: []
+  m_ScaleCurves: []
+  m_FloatCurves: []
+  m_PPtrCurves:
+  - serializedVersion: 2
+    curve:
+    - time: 0
+      value: {fileID: 1995840841, guid: 09676b376ab06bb4f905d76e6e2e0ca4, type: 3}
+    - time: 0.16666667
+      value: {fileID: 1049517923, guid: 09676b376ab06bb4f905d76e6e2e0ca4, type: 3}
+    - time: 0.33333334
+      value: {fileID: 2013194340, guid: 09676b376ab06bb4f905d76e6e2e0ca4, type: 3}
+    - time: 0.5
+      value: {fileID: 1220902830, guid: 09676b376ab06bb4f905d76e6e2e0ca4, type: 3}
+    attribute: m_Sprite
+    path: 
+    classID: 212
+    script: {fileID: 0}
+    flags: 2
+  m_SampleRate: 6
+  m_WrapMode: 0
+  m_Bounds:
+    m_Center: {x: 0, y: 0, z: 0}
+    m_Extent: {x: 0, y: 0, z: 0}
+  m_ClipBindingConstant:
+    genericBindings:
+    - serializedVersion: 2
+      path: 0
+      attribute: 0
+      script: {fileID: 0}
+      typeID: 212
+      customType: 23
+      isPPtrCurve: 1
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    pptrCurveMapping:
+    - {fileID: 1995840841, guid: 09676b376ab06bb4f905d76e6e2e0ca4, type: 3}
+    - {fileID: 1049517923, guid: 09676b376ab06bb4f905d76e6e2e0ca4, type: 3}
+    - {fileID: 2013194340, guid: 09676b376ab06bb4f905d76e6e2e0ca4, type: 3}
+    - {fileID: 1220902830, guid: 09676b376ab06bb4f905d76e6e2e0ca4, type: 3}
+  m_AnimationClipSettings:
+    serializedVersion: 2
+    m_AdditiveReferencePoseClip: {fileID: 0}
+    m_AdditiveReferencePoseTime: 0
+    m_StartTime: 0
+    m_StopTime: 0.6666667
+    m_OrientationOffsetY: 0
+    m_Level: 0
+    m_CycleOffset: 0
+    m_HasAdditiveReferencePose: 0
+    m_LoopTime: 1
+    m_LoopBlend: 0
+    m_LoopBlendOrientation: 0
+    m_LoopBlendPositionY: 0
+    m_LoopBlendPositionXZ: 0
+    m_KeepOriginalOrientation: 0
+    m_KeepOriginalPositionY: 1
+    m_KeepOriginalPositionXZ: 0
+    m_HeightFromFeet: 0
+    m_Mirror: 0
+  m_EditorCurves: []
+  m_EulerEditorCurves: []
+  m_HasGenericRootTransform: 0
+  m_HasMotionFloatCurves: 0
+  m_Events: []
diff --git a/Assets/Characters/Player/player_walk.anim.meta b/Assets/Characters/Player/player_walk.anim.meta
new file mode 100644
index 0000000..572d779
--- /dev/null
+++ b/Assets/Characters/Player/player_walk.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 36e5ea11f46563e42ba412dee7c6f1ed
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 7400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Characters/Player/rotor_fly.anim b/Assets/Characters/Player/rotor_fly.anim
new file mode 100644
index 0000000..09a8aa7
--- /dev/null
+++ b/Assets/Characters/Player/rotor_fly.anim
@@ -0,0 +1,75 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: rotor_fly
+  serializedVersion: 7
+  m_Legacy: 0
+  m_Compressed: 0
+  m_UseHighQualityCurve: 1
+  m_RotationCurves: []
+  m_CompressedRotationCurves: []
+  m_EulerCurves: []
+  m_PositionCurves: []
+  m_ScaleCurves: []
+  m_FloatCurves: []
+  m_PPtrCurves:
+  - serializedVersion: 2
+    curve:
+    - time: 0
+      value: {fileID: -1782493911, guid: 7551401a93967bf45af3ab223a74d737, type: 3}
+    - time: 0.083333336
+      value: {fileID: 935882150, guid: 7551401a93967bf45af3ab223a74d737, type: 3}
+    attribute: m_Sprite
+    path: 
+    classID: 212
+    script: {fileID: 0}
+    flags: 2
+  m_SampleRate: 12
+  m_WrapMode: 0
+  m_Bounds:
+    m_Center: {x: 0, y: 0, z: 0}
+    m_Extent: {x: 0, y: 0, z: 0}
+  m_ClipBindingConstant:
+    genericBindings:
+    - serializedVersion: 2
+      path: 0
+      attribute: 0
+      script: {fileID: 0}
+      typeID: 212
+      customType: 23
+      isPPtrCurve: 1
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    pptrCurveMapping:
+    - {fileID: -1782493911, guid: 7551401a93967bf45af3ab223a74d737, type: 3}
+    - {fileID: 935882150, guid: 7551401a93967bf45af3ab223a74d737, type: 3}
+  m_AnimationClipSettings:
+    serializedVersion: 2
+    m_AdditiveReferencePoseClip: {fileID: 0}
+    m_AdditiveReferencePoseTime: 0
+    m_StartTime: 0
+    m_StopTime: 0.16666667
+    m_OrientationOffsetY: 0
+    m_Level: 0
+    m_CycleOffset: 0
+    m_HasAdditiveReferencePose: 0
+    m_LoopTime: 1
+    m_LoopBlend: 0
+    m_LoopBlendOrientation: 0
+    m_LoopBlendPositionY: 0
+    m_LoopBlendPositionXZ: 0
+    m_KeepOriginalOrientation: 0
+    m_KeepOriginalPositionY: 1
+    m_KeepOriginalPositionXZ: 0
+    m_HeightFromFeet: 0
+    m_Mirror: 0
+  m_EditorCurves: []
+  m_EulerEditorCurves: []
+  m_HasGenericRootTransform: 0
+  m_HasMotionFloatCurves: 0
+  m_Events: []
diff --git a/Assets/Characters/Player/rotor_fly.anim.meta b/Assets/Characters/Player/rotor_fly.anim.meta
new file mode 100644
index 0000000..4a6ea43
--- /dev/null
+++ b/Assets/Characters/Player/rotor_fly.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1251b63d4c062b1459fc4388ef9a61d8
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 7400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scenes/GameplayScene.unity b/Assets/Scenes/GameplayScene.unity
index 3973023..3117dc6 100644
--- a/Assets/Scenes/GameplayScene.unity
+++ b/Assets/Scenes/GameplayScene.unity
@@ -150,7 +150,7 @@
   m_GameObject: {fileID: 72621623}
   m_Enabled: 1
   m_Density: 1
-  m_Material: {fileID: 0}
+  m_Material: {fileID: 6200000, guid: 731d980efffd4db499a16caeed248425, type: 2}
   m_IncludeLayers:
     serializedVersion: 2
     m_Bits: 0
@@ -691,7 +691,7 @@
   m_FlipY: 0
   m_DrawMode: 2
   m_Size: {x: 500, y: 12}
-  m_AdaptiveModeThreshold: 0.5
+  m_AdaptiveModeThreshold: 0.412
   m_SpriteTileMode: 0
   m_WasSpriteAssigned: 1
   m_MaskInteraction: 0
diff --git a/Assets/Scripts/PlayerController.cs b/Assets/Scripts/PlayerController.cs
index fa0c623..8004533 100644
--- a/Assets/Scripts/PlayerController.cs
+++ b/Assets/Scripts/PlayerController.cs
@@ -1,3 +1,4 @@
+using System;
 using System.ComponentModel.Design;
 using UnityEngine;
 using UnityEngine.InputSystem;
@@ -9,13 +10,55 @@
     public float maxFallSpeed = -20f;
     Vector2 moveInput;
 
-    public bool IsMoving { get; private set; }
+    [SerializeField]
+    private bool _isMoving;
+    public bool IsMoving
+    {
+        get { return _isMoving; }
+        private set
+        {
+            _isMoving = value;
+            animator.SetBool("IsMoving", value);
+        }
+    }
+
+    [SerializeField]
+    private bool _isFlying;
+    public bool IsFlying
+    {
+        get { return _isFlying; }
+        private set
+        {
+            _isFlying = value;
+            animator.SetBool("IsFlying", value);
+            rotorSprite.enabled = value;
+        }
+    }
+
+    private bool _isFacingRight = true;
+
+    public bool IsFacingRight
+    {
+        get { return _isFacingRight; }
+        set { 
+            if (_isFacingRight != value)
+            {
+                transform.localScale *= new Vector2(-1, 1);
+            }
+            _isFacingRight = value; }
+    }
+
 
     Rigidbody2D rb;
+    Animator animator;
+    public GameObject rotorGO;
+    SpriteRenderer rotorSprite;
 
     private void Awake()
     {
         rb = GetComponent<Rigidbody2D>();
+        animator = GetComponent<Animator>();
+        rotorSprite = rotorGO.GetComponent<SpriteRenderer>();
     }
 
     // Start is called before the first frame update
@@ -66,7 +109,35 @@
     {
         moveInput = context.ReadValue<Vector2>();
 
-        IsMoving = moveInput != Vector2.zero;
+        IsMoving = moveInput.x != 0;
+        IsFlying = moveInput.y != 0;
+
+        SetFacingDirection(moveInput);
 
     }
+
+    private void SetFacingDirection(Vector2 moveInput)
+    {
+        if (moveInput.x > 0 && !IsFacingRight)
+        {
+            IsFacingRight = true;
+        }
+        else if (moveInput.x < 0 && IsFacingRight)
+        {
+            IsFacingRight = false;
+        }
+    }
+
+    //public void OnRun(InputAction.CallbackContext context)
+    //{
+    //    if (context.started) // Button pressed
+    //    {
+    //        _isRunning = true;
+    //    } 
+    //    else if (context.canceled) // Button released
+    //    {
+    //        _isRunning = false;
+    //    }
+
+    //}
 }
diff --git a/Assets/TileSets/FreeCuteTileset/BG1.png b/Assets/TileSets/FreeCuteTileset/BG1.png
index a0460fd..f950998 100644
--- a/Assets/TileSets/FreeCuteTileset/BG1.png
+++ b/Assets/TileSets/FreeCuteTileset/BG1.png
Binary files differ
diff --git a/Assets/TileSets/FreeCuteTileset/BG1.png.meta b/Assets/TileSets/FreeCuteTileset/BG1.png.meta
index 43b0b1d..2326b41 100644
--- a/Assets/TileSets/FreeCuteTileset/BG1.png.meta
+++ b/Assets/TileSets/FreeCuteTileset/BG1.png.meta
@@ -37,9 +37,9 @@
     filterMode: 0
     aniso: 1
     mipBias: 0
-    wrapU: 1
-    wrapV: 1
-    wrapW: 1
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
   nPOTScale: 0
   lightmap: 0
   compressionQuality: 50

--
Gitblit v1.9.3