diff --git a/Assembly-CSharp-vs.csproj b/Assembly-CSharp-vs.csproj
new file mode 100644
index 0000000..932ce19
--- /dev/null
+++ b/Assembly-CSharp-vs.csproj
@@ -0,0 +1,86 @@
+
+
+
+ Debug
+ AnyCPU
+ 9.0.21022
+ 2.0
+ {80CE8C27-FECA-E020-5EC6-DCB3914EBC42}
+ Library
+ Properties
+
+ Assembly-CSharp
+ v3.5
+ 512
+
+
+ true
+ full
+ false
+ Temp\bin\Debug\
+ DEBUG;TRACE;UNITY_3_4_0;UNITY_3_4;UNITY_EDITOR;ENABLE_PROFILER;UNITY_STANDALONE_OSX;ENABLE_GENERICS;ENABLE_DUCK_TYPING;ENABLE_TERRAIN;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CLOTH;ENABLE_WWW
+ prompt
+ 4
+ 0169
+
+
+ pdbonly
+ true
+ Temp\bin\Release\
+ TRACE
+ prompt
+ 4
+ 0169
+
+
+
+
+
+
+ C:/Program Files (x86)/Unity/Editor/Data/Managed/UnityEngine.dll
+
+
+ C:/Program Files (x86)/Unity/Editor/Data/Managed/UnityEditor.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assembly-CSharp.csproj b/Assembly-CSharp.csproj
new file mode 100644
index 0000000..932ce19
--- /dev/null
+++ b/Assembly-CSharp.csproj
@@ -0,0 +1,86 @@
+
+
+
+ Debug
+ AnyCPU
+ 9.0.21022
+ 2.0
+ {80CE8C27-FECA-E020-5EC6-DCB3914EBC42}
+ Library
+ Properties
+
+ Assembly-CSharp
+ v3.5
+ 512
+
+
+ true
+ full
+ false
+ Temp\bin\Debug\
+ DEBUG;TRACE;UNITY_3_4_0;UNITY_3_4;UNITY_EDITOR;ENABLE_PROFILER;UNITY_STANDALONE_OSX;ENABLE_GENERICS;ENABLE_DUCK_TYPING;ENABLE_TERRAIN;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CLOTH;ENABLE_WWW
+ prompt
+ 4
+ 0169
+
+
+ pdbonly
+ true
+ Temp\bin\Release\
+ TRACE
+ prompt
+ 4
+ 0169
+
+
+
+
+
+
+ C:/Program Files (x86)/Unity/Editor/Data/Managed/UnityEngine.dll
+
+
+ C:/Program Files (x86)/Unity/Editor/Data/Managed/UnityEditor.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assembly-CSharp.pidb b/Assembly-CSharp.pidb
new file mode 100644
index 0000000..a7aad74
Binary files /dev/null and b/Assembly-CSharp.pidb differ
diff --git a/Assets/Materials/guiPlane-No Name.mat b/Assets/Materials/guiPlane-No Name.mat
new file mode 100755
index 0000000..19c7730
Binary files /dev/null and b/Assets/Materials/guiPlane-No Name.mat differ
diff --git a/Assets/Scenes/GUILib.unity b/Assets/Scenes/GUILib.unity
new file mode 100755
index 0000000..a18df9f
Binary files /dev/null and b/Assets/Scenes/GUILib.unity differ
diff --git a/Assets/Scenes/GUILib_testPlanes.unity b/Assets/Scenes/GUILib_testPlanes.unity
new file mode 100755
index 0000000..a2f217a
Binary files /dev/null and b/Assets/Scenes/GUILib_testPlanes.unity differ
diff --git a/Assets/Scripts/Facebook.cs b/Assets/Scripts/Facebook.cs
index ee3c3c7..b30436b 100644
--- a/Assets/Scripts/Facebook.cs
+++ b/Assets/Scripts/Facebook.cs
@@ -1,6 +1,5 @@
using UnityEngine;
using System.Runtime.InteropServices;
-using System;
public class Facebook : MonoBehaviour {
public string AppId;
@@ -105,5 +104,11 @@ private static void _deleteSession() {}
extern static private void _graphRequest(string methodname, string[] param, string method);
[System.Runtime.InteropServices.DllImport("__Internal")]
extern static private void _deleteSession();
+ #else
+ private static void _init(string AppId) {}
+ private static void _authorize(int permissions) {getInstance().loggedOut();}
+ private static void _logout() {getInstance().loggedOut();}
+ private static void _graphRequest(string methodname, string[] param, string method) {getInstance().requestFailed("Not implemented");}
+ private static void _deleteSession() {}
#endif
}
diff --git a/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/GUIMaterial.mat b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/GUIMaterial.mat
new file mode 100755
index 0000000..d537a8f
Binary files /dev/null and b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/GUIMaterial.mat differ
diff --git a/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/colorGrid.png b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/colorGrid.png
new file mode 100755
index 0000000..aeeab39
Binary files /dev/null and b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/colorGrid.png differ
diff --git a/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_credits.png b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_credits.png
new file mode 100644
index 0000000..41e88fb
Binary files /dev/null and b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_credits.png differ
diff --git a/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_credits_active.png b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_credits_active.png
new file mode 100644
index 0000000..7baba52
Binary files /dev/null and b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_credits_active.png differ
diff --git a/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_highscore.png b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_highscore.png
new file mode 100644
index 0000000..ae31b1f
Binary files /dev/null and b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_highscore.png differ
diff --git a/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_highscore_active.png b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_highscore_active.png
new file mode 100644
index 0000000..1f6cc5d
Binary files /dev/null and b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_highscore_active.png differ
diff --git a/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_mypux.png b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_mypux.png
new file mode 100755
index 0000000..5d98190
Binary files /dev/null and b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_mypux.png differ
diff --git a/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_mypux_active.png b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_mypux_active.png
new file mode 100755
index 0000000..9856208
Binary files /dev/null and b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_mypux_active.png differ
diff --git a/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_play.png b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_play.png
new file mode 100644
index 0000000..e269aac
Binary files /dev/null and b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_play.png differ
diff --git a/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_top.png b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_top.png
new file mode 100644
index 0000000..31bec92
Binary files /dev/null and b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/menu_top.png differ
diff --git a/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/white.png b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/white.png
new file mode 100755
index 0000000..f476f9d
Binary files /dev/null and b/Assets/Scripts/GUILib/Assets/GUILib_Test_Material/white.png differ
diff --git a/Assets/Scripts/GUILib/Assets/Media/Materials/guiPlane-No Name.mat b/Assets/Scripts/GUILib/Assets/Media/Materials/guiPlane-No Name.mat
new file mode 100755
index 0000000..19c7730
Binary files /dev/null and b/Assets/Scripts/GUILib/Assets/Media/Materials/guiPlane-No Name.mat differ
diff --git a/Assets/Scripts/GUILib/Assets/Media/guiPlane.dae b/Assets/Scripts/GUILib/Assets/Media/guiPlane.dae
new file mode 100755
index 0000000..2fc87e9
--- /dev/null
+++ b/Assets/Scripts/GUILib/Assets/Media/guiPlane.dae
@@ -0,0 +1,77 @@
+
+
+
+
+ Blender User
+ Blender 2.60.0 r41226
+
+ 2011-11-11T13:23:13
+ 2011-11-11T13:23:13
+
+ Z_UP
+
+
+
+
+
+
+
+
+ 1 1 0 1 -1 0 -1 -0.9999998 0 -0.9999997 1 0
+
+
+
+
+
+
+
+
+
+ 0 0 1
+
+
+
+
+
+
+
+
+
+ 1 1 0 1 0 0 1 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4
+ 0 0 0 3 0 1 2 0 2 1 0 3
+
+
+ 1
+
+
+
+
+
+ 0 0 0
+ 0 0 1 0
+ 0 1 0 0
+ 1 0 0 0
+ 1 1 1
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/Scripts/GUILib/Assets/Resources/guiPlane.prefab b/Assets/Scripts/GUILib/Assets/Resources/guiPlane.prefab
new file mode 100755
index 0000000..d2831e6
Binary files /dev/null and b/Assets/Scripts/GUILib/Assets/Resources/guiPlane.prefab differ
diff --git a/Assets/Scripts/GUILib/Behaviours/HorizontalLayoutBehaviour.cs b/Assets/Scripts/GUILib/Behaviours/HorizontalLayoutBehaviour.cs
new file mode 100644
index 0000000..db1e145
--- /dev/null
+++ b/Assets/Scripts/GUILib/Behaviours/HorizontalLayoutBehaviour.cs
@@ -0,0 +1,15 @@
+using UnityEngine;
+using System.Collections;
+
+public class HorizontalLayoutBehaviour : MonoBehaviour {
+
+ // Use this for initialization
+ void Start () {
+
+ }
+
+ // Update is called once per frame
+ void Update () {
+
+ }
+}
diff --git a/Assets/Scripts/GUILib/Behaviours/ILayoutBehaviour.cs b/Assets/Scripts/GUILib/Behaviours/ILayoutBehaviour.cs
new file mode 100644
index 0000000..fd423d7
--- /dev/null
+++ b/Assets/Scripts/GUILib/Behaviours/ILayoutBehaviour.cs
@@ -0,0 +1,15 @@
+using UnityEngine;
+using System.Collections;
+
+public class ILayoutBehaviour : MonoBehaviour {
+
+ // Use this for initialization
+ void Start () {
+
+ }
+
+ // Update is called once per frame
+ void Update () {
+
+ }
+}
diff --git a/Assets/Scripts/GUILib/Behaviours/InteractionBehaviour.cs b/Assets/Scripts/GUILib/Behaviours/InteractionBehaviour.cs
new file mode 100755
index 0000000..df2e071
--- /dev/null
+++ b/Assets/Scripts/GUILib/Behaviours/InteractionBehaviour.cs
@@ -0,0 +1,23 @@
+using UnityEngine;
+using System.Collections;
+
+public class InteractionBehaviour : MonoBehaviour{
+
+ // DONT USE THIS
+ void Awake(){
+ AwakeOverride();
+ }
+
+ // USE THIS FOR INITIALISATION
+ protected virtual void AwakeOverride(){
+
+ }
+
+ public virtual void Click(MouseEventArgs mouse){}
+ public virtual void Hover(MouseEventArgs mouse){}
+ public virtual void Down(MouseEventArgs mouse){}
+ public virtual void Up(MouseEventArgs mouse){}
+ public virtual void Move(MouseEventArgs mouse){}
+ public virtual void Swipe(MouseEventArgs mouse){}
+
+}
diff --git a/Assets/Scripts/GUILib/Behaviours/LayoutBehaviour.cs b/Assets/Scripts/GUILib/Behaviours/LayoutBehaviour.cs
new file mode 100644
index 0000000..bef2ff6
--- /dev/null
+++ b/Assets/Scripts/GUILib/Behaviours/LayoutBehaviour.cs
@@ -0,0 +1,15 @@
+using UnityEngine;
+using System.Collections;
+
+public class LayoutBehaviour : MonoBehaviour {
+
+ // Use this for initialization
+ void Start () {
+
+ }
+
+ // Update is called once per frame
+ void Update () {
+
+ }
+}
diff --git a/Assets/Scripts/GUILib/Behaviours/VerticalLayoutBehaviour.cs b/Assets/Scripts/GUILib/Behaviours/VerticalLayoutBehaviour.cs
new file mode 100644
index 0000000..dae0364
--- /dev/null
+++ b/Assets/Scripts/GUILib/Behaviours/VerticalLayoutBehaviour.cs
@@ -0,0 +1,15 @@
+using UnityEngine;
+using System.Collections;
+
+public class VerticalLayoutBehaviour : MonoBehaviour {
+
+ // Use this for initialization
+ void Start () {
+
+ }
+
+ // Update is called once per frame
+ void Update () {
+
+ }
+}
diff --git a/Assets/Scripts/GUILib/Configs/ScreenConfig.cs b/Assets/Scripts/GUILib/Configs/ScreenConfig.cs
new file mode 100644
index 0000000..a68f75b
--- /dev/null
+++ b/Assets/Scripts/GUILib/Configs/ScreenConfig.cs
@@ -0,0 +1,9 @@
+using UnityEngine;
+using System.Collections;
+
+public static class ScreenConfig {
+
+ public static int TargetScreenWidth = 960;
+ public static int TargetScreenHeight = 640;
+ public static float ScreenAspect = 1.0f;
+}
diff --git a/Assets/Scripts/GUILib/Elements/Button.cs b/Assets/Scripts/GUILib/Elements/Button.cs
new file mode 100755
index 0000000..ceb3828
--- /dev/null
+++ b/Assets/Scripts/GUILib/Elements/Button.cs
@@ -0,0 +1,46 @@
+using UnityEngine;
+using System.Collections;
+
+public class Button : Control {
+
+ public Rect hoverUV;
+ public Rect activeUV;
+
+ private bool active = false;
+
+
+
+ public override void OnClick(object sender, MouseEventArgs e){
+ base.OnClick(sender,e);
+
+ }
+
+ public override void OnDown(object sender, MouseEventArgs e){
+ base.OnDown(sender,e);
+ active = true;
+ plane.UV = activeUV;
+ }
+
+ public override void OnUp(object sender, MouseEventArgs e){
+ base.OnUp(sender,e);
+ active = false;
+ plane.UV = Uv;
+ }
+
+ public override void OnHover(object sender, MouseEventArgs e){
+ base.OnHover(sender,e);
+ if(!active)
+ plane.UV = hoverUV;
+
+ }
+
+ public override void resetElement(){
+ if(!active && plane != null){
+ plane.UV = Uv;
+ }
+ }
+
+
+
+
+}
diff --git a/Assets/Scripts/GUILib/Elements/CameraScreen.cs b/Assets/Scripts/GUILib/Elements/CameraScreen.cs
new file mode 100755
index 0000000..6f6d829
--- /dev/null
+++ b/Assets/Scripts/GUILib/Elements/CameraScreen.cs
@@ -0,0 +1,175 @@
+using UnityEngine;
+using System.Collections;
+using System.Collections.Generic;
+
+public class CameraScreen : Frame {
+
+ // If DebugModus is checked, ScreenPosition is update every OnGUI call this is usefull for positioning elements
+ // but not good for the framerate
+ public bool DebugModus;
+
+ public Material GUIMaterial;
+
+ // Public Member - init in the inspector
+ public Camera ScreenCamera;
+
+
+ // Propertys
+ public static Vector2 mousePosition{
+ get{
+ return NormalizeScreenPosition(Input.mousePosition);
+ }
+ }
+
+ private Panel[] allChildren{
+ get{
+ return (gameObject.GetComponentsInChildren() as Panel[]);
+ }
+ }
+
+ // DONT USE THIS
+ void Awake(){
+ AwakeOverride();
+ }
+
+ protected override void AwakeOverride(){
+ base.AwakeOverride();
+ }
+
+ void Start(){
+ CalculatePhysicalRegion();
+ initEvents();
+ LayoutElement();
+
+
+ }
+
+ private void initEvents(){
+ InputEvents.Instance.ClickEvent += OnClick;
+ InputEvents.Instance.MoveEvent += OnMove;
+ InputEvents.Instance.MoveEvent += OnHover;
+ InputEvents.Instance.DownEvent += OnDown;
+ InputEvents.Instance.UpEvent += OnUp;
+ }
+
+
+ void Update(){
+ UpdateOverride();
+ }
+
+ protected override void UpdateOverride(){
+ base.UpdateOverride();
+#if UNITY_EDITOR
+ if(DebugModus)
+ CalculatePhysicalRegion();
+#endif
+ }
+ public override void LayoutElement(){
+ base.LayoutElement();
+ CalculatePhysicalRegion();
+ createElements();
+
+ }
+
+
+ public void CalculatePhysicalRegion(){
+ //base.LayoutElement();
+ foreach(Panel box in allChildren){
+ box.RealRegionOnScreen = GetPhysicalRegionFromRect(box.VirtualRegionOnScreen);
+ }
+
+ }
+
+ private static Vector2 getFactor(){
+ // Get the right Hight and Width proportional to screen
+ float factorY = (float)(Screen.height) / (float)(ScreenConfig.TargetScreenHeight);
+ float factorX = (float)(Screen.width) / (float)(ScreenConfig.TargetScreenWidth);
+ return new Vector2(factorX, factorY);
+ }
+
+ public Rect GetPhysicalRegionFromRect(Rect rect){
+ Rect camPosition = ScreenCamera.pixelRect;
+ // Move Camera is needed for Splitscreen
+ if(((int)ScreenCamera.pixelHeight) != Screen.height){
+ //Debug.Log("ScreenCamera Height: " + ScreenCamera.pixelHeight + "\n Screen Height: " + Screen.height);
+ camPosition.y = ScreenCamera.pixelHeight - camPosition.y;
+ }
+
+ Vector2 factor = getFactor();
+ Vector2 newPosition = new Vector2((camPosition.x+rect.x)*factor.x, (camPosition.y + rect.y)*factor.y);
+ Vector2 newSize = new Vector2(rect.width*factor.x,rect.height*factor.y);
+
+ return new Rect ( newPosition.x, newPosition.y, newSize.x, newSize.y );
+ }
+
+ protected override void callHandler(InteractionEvent interaction, ActionEvent action){
+ InteractionBehaviour[] behaviours = gameObject.GetComponents() as InteractionBehaviour[];
+ foreach(InteractionBehaviour ib in behaviours){
+ interaction(ib);
+ }
+ base.callHandler(interaction, action);
+
+
+
+
+ }
+
+ private void createElements(){
+ foreach(Panel box in allChildren){
+ box.createGUIElement();
+ }
+ }
+
+
+
+ // STATIC FUNCTIONS
+ public static bool cursorInside(Vector2 elementPosition, Vector2 elementSize) {
+ bool flagX = false;
+ bool flagY = false;
+
+ if (mousePosition.x >= elementPosition.x && (mousePosition.x <= (elementPosition.x + elementSize.x)))
+ flagX = true;
+ if (mousePosition.y >= elementPosition.y && (mousePosition.y <= (elementPosition.y + elementSize.y)))
+ flagY = true;
+ return (flagX && flagY);
+ }
+
+
+ public static bool cursorInside(Rect region){
+ return cursorInside(new Vector2(region.x, region.y), new Vector2(region.width, region.height));
+ }
+
+ public static CameraScreen GetScreenForObject(GameObject obj){
+ GameObject savedObj = obj;
+ GameObject savedParent = null;
+ CameraScreen screen = null;
+ while(obj != null){
+ screen = obj.GetComponent();
+ if( screen != null){
+ break;
+ }
+
+ savedParent = obj.transform.parent.gameObject;
+ obj = savedParent;
+ }
+ if(screen == null){
+ Debug.LogWarning("Element: " + savedObj.gameObject.name + " is not a child of a Screen!");
+ }
+ return screen;
+
+
+ }
+
+ public static Vector3 NormalizeScreenPosition(Vector2 screenPosition){
+ float factorY = (float)(Screen.height) / (float)(ScreenConfig.TargetScreenHeight);
+ float factorX = (float)(Screen.width) / (float)(ScreenConfig.TargetScreenWidth);
+ screenPosition.y = Screen.height - screenPosition.y;
+ screenPosition.x /= factorX;
+ screenPosition.y /= factorY;
+ return screenPosition;
+ }
+
+
+
+
+}
diff --git a/Assets/Scripts/GUILib/Elements/Control.cs b/Assets/Scripts/GUILib/Elements/Control.cs
new file mode 100755
index 0000000..9d7aff2
--- /dev/null
+++ b/Assets/Scripts/GUILib/Elements/Control.cs
@@ -0,0 +1,55 @@
+using UnityEngine;
+using System.Collections;
+
+public class Control : Panel {
+
+ // Show Active Region is an Debug Option that makes the active array visible
+ public bool ShowActiveRegion = false;
+ public Rect ActiveRegion;
+
+ private Rect realActiveRegion;
+
+
+ void Awake(){
+ AwakeOverride();
+ }
+ protected override void AwakeOverride(){
+ base.AwakeOverride();
+ initActiveRegion();
+ }
+
+
+ void Start () {
+
+ }
+
+ public override void createGUIElement(){
+ base.createGUIElement();
+ }
+
+ void OnGUI(){
+#if UNITY_EDITOR
+ if(ShowActiveRegion){
+ initActiveRegion();
+ UnityEngine.GUI.Box(realActiveRegion, "");
+ }
+#endif
+ }
+
+ public override bool checkMouseOverElement(){
+ if(ShowActiveRegion)
+ initActiveRegion();
+ Rect t = new Rect(VirtualRegionOnScreen.x+ ActiveRegion.x,
+ VirtualRegionOnScreen.y + ActiveRegion.y, ActiveRegion.width, ActiveRegion.height);
+ return CameraScreen.cursorInside(t);
+ }
+
+ // Caclulate the Absolute Values on the physical screen - because ActiveRegion is virtual an relative to the Control Position
+ private void initActiveRegion(){
+ realActiveRegion = new Rect(RealRegionOnScreen.x+ ActiveRegion.x,
+ RealRegionOnScreen.y + ActiveRegion.y, ActiveRegion.width, ActiveRegion.height);
+ Rect t = activeScreen.GetPhysicalRegionFromRect(realActiveRegion);
+ realActiveRegion = new Rect(realActiveRegion.x, realActiveRegion.y, t.width, t.height);
+ }
+
+}
diff --git a/Assets/Scripts/GUILib/Elements/Frame.cs b/Assets/Scripts/GUILib/Elements/Frame.cs
new file mode 100755
index 0000000..7a74492
--- /dev/null
+++ b/Assets/Scripts/GUILib/Elements/Frame.cs
@@ -0,0 +1,102 @@
+using UnityEngine;
+using System.Collections;
+using System.Collections.Generic;
+using System;
+
+public class Frame : MonoBehaviour {
+
+
+ protected List directChildren;
+ protected delegate void InteractionEvent(InteractionBehaviour ib);
+ protected delegate void ActionEvent(Panel b);
+
+ protected ControlManager controlerManager;
+
+ // DONT USE THIS!
+ void Awake () {
+ AwakeOverride();
+ }
+
+ // Use this for initialization
+ protected virtual void AwakeOverride(){
+ controlerManager = new ControlManager();
+ initDirectChildren();
+ }
+
+ void Start(){
+
+ }
+ // Update is called once per frame
+ void Update () {
+ UpdateOverride();
+ }
+
+ protected virtual void UpdateOverride(){
+ controlerManager.Update(this);
+ }
+
+ /**
+ * This Function is called by Parent to force the child to arrange them selves
+ **/
+ public virtual void LayoutElement(){
+ foreach(Panel b in directChildren)
+ b.LayoutElement();
+
+ //do positioning etc. for this class here
+ }
+
+
+ public virtual void OnClick(object sender, MouseEventArgs e){
+ callHandler(ib=>{ib.Click(e);}, action=>{action.OnClick(sender, e);});
+ }
+
+ public virtual void OnHover(object sender, MouseEventArgs e){
+ callHandler(ib=>{ib.Hover(e);}, action=>{action.OnHover(sender, e);});
+ }
+
+ public virtual void OnDown(object sender, MouseEventArgs e){
+ callHandler(ib=>{ib.Down(e);}, action=>{action.OnDown(sender, e);});
+ }
+
+ public virtual void OnUp(object sender, MouseEventArgs e){
+ callHandler(ib=>{ib.Up(e);}, action=>{action.OnUp(sender, e);});
+ }
+
+ public virtual void OnMove(object sender, MouseEventArgs e){
+ callHandler(ib=>{ib.Move(e);}, action=>{action.OnMove(sender, e);});
+ }
+
+ public virtual void OnSwipe(object sender, MouseEventArgs e){
+ callHandler(ib=>{ib.Swipe(e);}, action=>{action.OnSwipe(sender, e);});
+ }
+
+
+ protected virtual void callHandler(InteractionEvent interaction, ActionEvent action){
+ foreach(Panel b in directChildren){
+ if(b.checkMouseOverElement()){
+ action(b);
+ InteractionBehaviour[] behaviours = b.GetComponents() as InteractionBehaviour[];
+ foreach(InteractionBehaviour ib in behaviours){
+ interaction(ib);
+ }
+ } else {
+ b.resetElement();
+ }
+
+ }
+ }
+
+
+
+ private void initDirectChildren(){
+ directChildren = new List();
+ foreach(Transform child in transform){
+ Panel b = child.GetComponent();
+ if(b != null)
+ directChildren.Add(b);
+ }
+
+
+
+ }
+}
diff --git a/Assets/Scripts/GUILib/Elements/GUIPlane.cs b/Assets/Scripts/GUILib/Elements/GUIPlane.cs
new file mode 100755
index 0000000..4e873e4
--- /dev/null
+++ b/Assets/Scripts/GUILib/Elements/GUIPlane.cs
@@ -0,0 +1,85 @@
+using UnityEngine;
+using System.Collections;
+
+public class GUIPlane : MonoBehaviour {
+
+ public Mesh MeshObject{
+ get{
+ return GetComponent().mesh;
+ }
+ }
+ public Rect VirtualRegionOnScreen{
+ set{
+ var vertices = MeshObject.vertices;
+
+ Rect tmp = value;
+ vertices[3] = new Vector2(tmp.x, tmp.y);
+ vertices[0] = new Vector2(tmp.x+tmp.width, tmp.y);
+ vertices[2] = new Vector2(tmp.x, tmp.y+tmp.height);
+ vertices[1] = new Vector2(tmp.x+tmp.width, tmp.y+tmp.height);
+
+
+
+ for(int i = 0; i < vertices.Length; i++){
+ vertices[i] = ScreenToWorldCoordinates(vertices[i]);
+ }
+ MeshObject.vertices = vertices;
+ }
+
+ }
+ public Material GUIMaterial{
+ get{
+ return renderer.sharedMaterial;
+ }
+ set{
+ renderer.sharedMaterial = value;
+ }
+ }
+
+ //public Rect VirtualPosition
+ public Rect UV{
+ set{
+ Vector2[] uvs = new Vector2[4];
+ uvs[2] = new Vector2(value.x, value.y);
+ uvs[1] = new Vector2(value.x+value.width, value.y);
+ uvs[3] = new Vector2(value.x, value.y+value.height);
+ uvs[0] = new Vector2(value.x+value.width, value.y+value.height);
+
+ for(int i = 0; i < uvs.Length; i++){
+ uvs[i] = toUVSpace(uvs[i]);
+ }
+
+ MeshObject.uv = uvs;
+ }
+
+ }
+
+ private Vector3 ScreenToWorldCoordinates(Vector2 screenCoordinate){
+
+ Camera cam = transform.parent.GetComponent();
+ if(cam == null){
+ Debug.LogError("No camera found on Object: " + gameObject.name);
+ throw new MissingComponentException("No camera found on Object: " + gameObject.name);
+ }
+
+ Ray r = cam.ScreenPointToRay(screenCoordinate);
+ Debug.DrawRay(r.origin, r.direction);
+ // Switch x because Plane is looking at camera - so coordinate system is opposite, switching y because Camera has inverted space
+ // in y in comparison to World
+ var ret = new Vector3(r.origin.x*-1, r.origin.y*-1, 0);
+ return ret;
+
+ }
+
+
+ private Vector2 toUVSpace(Vector2 xy){
+ if(xy.x < 1 && xy.y < 1)
+ return xy;
+
+ Texture t = GUIMaterial.GetTexture("_MainTex");
+ var p = new Vector2(xy.x / ((float)t.width), xy.y / ((float)t.height));
+ return p;
+ }
+
+
+}
diff --git a/Assets/Scripts/GUILib/Elements/Panel.cs b/Assets/Scripts/GUILib/Elements/Panel.cs
new file mode 100755
index 0000000..b11473d
--- /dev/null
+++ b/Assets/Scripts/GUILib/Elements/Panel.cs
@@ -0,0 +1,146 @@
+using UnityEngine;
+using System.Collections;
+
+public class Panel : Frame {
+
+ public enum HorizontalFloatPositions {left, right, none}
+ public enum VerticalFloatPositions {top, bottom, none}
+
+ public Rect VirtualRegionOnScreen;
+ public LayoutBehaviour Layout;
+ public int layer;
+ public VerticalFloatPositions verticalFloat;
+ public HorizontalFloatPositions horizontalFloat;
+
+ public Rect Uv;
+
+ private GUIStyle inactiveStyle;
+
+ protected GUIPlane plane;
+
+ public Rect RealRegionOnScreen{
+ get;
+ set;
+ }
+ protected GUIStyle currentStyle;
+
+ protected CameraScreen activeScreen;
+
+
+ // PROPERTYS
+ public Vector2 position{
+ get{
+ return new Vector2(VirtualRegionOnScreen.x, VirtualRegionOnScreen.y);
+ }
+ set{
+ VirtualRegionOnScreen.x = value.x;
+ VirtualRegionOnScreen.y = value.y;
+ }
+
+ }
+
+ public Vector2 size{
+ get{
+ return new Vector2(VirtualRegionOnScreen.xMax, VirtualRegionOnScreen.yMin);
+ }
+ set{
+ VirtualRegionOnScreen.width = value.x;
+ VirtualRegionOnScreen.height = value.y;
+ }
+ }
+
+
+
+ // DONT USE THIS
+ void Awake(){
+
+ AwakeOverride();
+
+ }
+
+ // Use this for initialization
+ protected override void AwakeOverride(){
+ base.AwakeOverride();
+ RealRegionOnScreen = new Rect(0,0,0,0);
+ resetElement();
+ activeScreen = CameraScreen.GetScreenForObject(this.gameObject);
+ }
+
+ void Start () {
+
+ }
+
+ // Update is called once per frame
+ void Update () {
+ UpdateOverride();
+ }
+
+ protected override void UpdateOverride(){
+ base.UpdateOverride();
+#if UNITY_EDITOR
+ if(activeScreen.DebugModus){
+ plane.VirtualRegionOnScreen = RealRegionOnScreen;
+ //plane.UV = Uv;
+ }
+#endif
+ }
+
+ public virtual void createGUIElement(){
+
+ CreateGUIPlane();
+
+ Camera cam = activeScreen.ScreenCamera;
+ plane.name = gameObject.name + "_guiPlane";
+ plane.transform.parent = cam.transform;
+
+ // Orient Plane to Camera
+ resetPlaneTransform();
+ plane.transform.position = new Vector3(0,0,(activeScreen.ScreenCamera.nearClipPlane));
+ plane.transform.LookAt(cam.transform);
+
+ // set Materials
+ plane.GUIMaterial = activeScreen.GUIMaterial;
+ plane.UV = Uv;
+ plane.VirtualRegionOnScreen = RealRegionOnScreen;
+
+
+
+ }
+
+ private void CreateGUIPlane(){
+ GameObject go = ResourceManager.CreateInstance("guiPlane");
+ if(go == null){
+ Debug.LogError("No GameObject found for Plane on Object "+ this.gameObject.name + "! Stop!");
+ return;
+ }
+
+ plane = go.GetComponent();
+ if(plane == null){
+ Debug.LogError("No GUIPlane found on Object "+ this.gameObject.name + "! Stop!");
+ return;
+ }
+
+
+ }
+
+ public virtual bool checkMouseOverElement(){
+ return CameraScreen.cursorInside(RealRegionOnScreen);
+ }
+
+
+
+ public virtual void resetElement(){
+ if(plane != null)
+ plane.UV = Uv;
+
+ }
+
+ private void resetPlaneTransform(){
+ plane.transform.rotation = Quaternion.identity;
+ plane.transform.localRotation = Quaternion.identity;
+ plane.transform.position = Vector3.zero;
+ plane.transform.localScale = Vector3.one;
+ }
+
+
+}
diff --git a/Assets/Scripts/GUILib/EventArgs/MouseEventArgs.cs b/Assets/Scripts/GUILib/EventArgs/MouseEventArgs.cs
new file mode 100755
index 0000000..8088427
--- /dev/null
+++ b/Assets/Scripts/GUILib/EventArgs/MouseEventArgs.cs
@@ -0,0 +1,27 @@
+using UnityEngine;
+using System.Collections;
+using System;
+
+public class MouseEventArgs : EventArgs {// where T : MonoBehaviour{
+
+ public int ButtonId{get;set;}
+ public float MoveDistance{get{
+ return MoveDirection.magnitude;
+ }
+ }
+ public Vector2 MoveDirection{get;set;}
+ public Vector2 MousPosition{get;set;}
+
+ public MouseEventArgs(int buttonId) {
+ MousPosition = new Vector2(0,0);
+ MoveDirection = new Vector2(0,0);
+ this.ButtonId = buttonId;
+
+ }
+
+ public MouseEventArgs(Vector2 direction) {
+ MoveDirection = direction;
+ ButtonId = -1;
+ }
+
+}
diff --git a/Assets/Scripts/GUILib/Samples/SampleUIController.cs b/Assets/Scripts/GUILib/Samples/SampleUIController.cs
new file mode 100755
index 0000000..df8235b
--- /dev/null
+++ b/Assets/Scripts/GUILib/Samples/SampleUIController.cs
@@ -0,0 +1,64 @@
+using System;
+using UnityEngine;
+
+
+
+public sealed class SampleUIController : Controller
+{
+ private Func function;
+ private TimeSpan elapsedTime = TimeSpan.Zero;
+
+ public SampleUIController()
+ : this((x) => x) { }
+
+ public SampleUIController(Func function) {
+ this.function = function;
+ }
+
+ public TimeSpan Duration {
+ get;
+ set;
+ }
+
+ public Vector2 StartPosition {
+ get;
+ set;
+ }
+
+ public Vector2 TargetPosition {
+ get;
+ set;
+ }
+
+ protected override void UpdateOverride (MonoBehaviour entity)
+ {
+
+ /* UNTESTET
+ if (IsFinished || entity == null) {
+ return;
+ }
+
+ elapsedTime = elapsedTime.Add(TimeSpan.FromSeconds(Time.deltaTime));
+
+ if (elapsedTime >= Duration) {
+ elapsedTime = TimeSpan.Zero;
+ InvokeControllerFinished(entity);
+ return;
+ }
+
+ var relTime = (float)elapsedTime.TotalMilliseconds / (float)Duration.TotalMilliseconds;
+ if (relTime > 1.0f) {
+ relTime = 1.0f;
+ }
+ var relDistance = function(relTime);
+ // need more speed for we do operate on a larger scale than in game
+
+ var vec = (TargetPosition - StartPosition);
+
+ //HACK for mono bug, something with trampolines
+ var ui = (UIElementBehaviour) entity;
+ ui.Position = StartPosition + (vec * relDistance); */
+ }
+}
+
+
diff --git a/Assets/Scripts/GUILib/Samples/TestAllInteractionsBehaviour.cs b/Assets/Scripts/GUILib/Samples/TestAllInteractionsBehaviour.cs
new file mode 100755
index 0000000..39d43d8
--- /dev/null
+++ b/Assets/Scripts/GUILib/Samples/TestAllInteractionsBehaviour.cs
@@ -0,0 +1,30 @@
+using UnityEngine;
+using System.Collections;
+
+public class TestAllInteractionsBehaviour : InteractionBehaviour {
+
+ public override void Click(MouseEventArgs mouse){
+ Debug.Log("Click Element: " + gameObject.name);
+ }
+
+ public override void Hover(MouseEventArgs mouse){
+ Debug.Log("Hover Element: " + gameObject.name);
+ }
+
+ public override void Down(MouseEventArgs mouse){
+ Debug.Log("Mouse Down on Element: " + gameObject.name);
+ }
+
+ public override void Up(MouseEventArgs mouse){
+ Debug.Log("Mouse Up Element: " + gameObject.name);
+ }
+
+ public override void Move(MouseEventArgs mouse){
+ Debug.Log("Mouse Move Element: " + gameObject.name + "\n" +
+ "Moved Distance " + mouse.MoveDistance);
+ }
+
+ public override void Swipe(MouseEventArgs mouse){
+ Debug.Log("Swipe Element: " + gameObject.name);
+ }
+}
diff --git a/Assets/Scripts/GUILib/Samples/TestMoveWithMouse.cs b/Assets/Scripts/GUILib/Samples/TestMoveWithMouse.cs
new file mode 100755
index 0000000..d9862d4
--- /dev/null
+++ b/Assets/Scripts/GUILib/Samples/TestMoveWithMouse.cs
@@ -0,0 +1,28 @@
+using UnityEngine;
+using System.Collections;
+
+public class TestMoveWithMouse : InteractionBehaviour {
+
+ private bool down = false;
+
+ /**
+ * BTW: This class is super cool for position Elements with Drag Drop on Screen in DebugModus :)
+ * */
+ public override void Down(MouseEventArgs mouse){
+ down = true;
+ }
+
+ public override void Up(MouseEventArgs mouse){
+ down = false;
+ }
+
+ public override void Move(MouseEventArgs mouse){
+ if(down){
+ Panel ui = gameObject.GetComponent();
+ Vector2 newPosition = new Vector2(ui.VirtualRegionOnScreen.x, ui.VirtualRegionOnScreen.y);
+ newPosition += mouse.MoveDirection;
+ Rect newRegion = new Rect(newPosition.x, newPosition.y, ui.VirtualRegionOnScreen.width, ui.VirtualRegionOnScreen.height);
+ ui.VirtualRegionOnScreen = newRegion;
+ }
+ }
+}
diff --git a/Assets/Scripts/GUILib/Samples/TestUIControllerBehaviour.cs b/Assets/Scripts/GUILib/Samples/TestUIControllerBehaviour.cs
new file mode 100755
index 0000000..062cdcf
--- /dev/null
+++ b/Assets/Scripts/GUILib/Samples/TestUIControllerBehaviour.cs
@@ -0,0 +1,16 @@
+using UnityEngine;
+using System.Collections;
+
+public class TestUIControllerBehaviour : InteractionBehaviour {
+
+ private SampleUIController controller;
+ protected override void AwakeOverride(){
+ base.AwakeOverride();
+ controller = new SampleUIController();
+
+ }
+
+ public override void Click(MouseEventArgs mouse){
+ //controller.Trigger = true;
+ }
+}
diff --git a/Assets/Scripts/GUILib/Wrapper/InputEvents.cs b/Assets/Scripts/GUILib/Wrapper/InputEvents.cs
new file mode 100755
index 0000000..4256e28
--- /dev/null
+++ b/Assets/Scripts/GUILib/Wrapper/InputEvents.cs
@@ -0,0 +1,127 @@
+using UnityEngine;
+using System.Collections;
+using System;
+
+public class InputEvents : MonoBehaviour{
+
+
+ public float ClickTimeInSeconds = 0.1f;
+
+ public static InputEvents Instance;
+
+ public event EventHandler ClickEvent;
+ public event EventHandler DownEvent;
+ public event EventHandler UpEvent;
+ public event EventHandler MoveEvent;
+
+ private Timer clickTimer;
+ private bool clickStarted = false;
+
+ private Vector2 mousePosition;
+
+ void Awake(){
+ Instance = this;
+ clickTimer = new Timer();
+ mousePosition = new Vector2(0,0);
+ clickTimer.TimerFinished += OnClickTimerFinished;
+ }
+
+ void Update(){
+ checkMove();
+#if UNITY_IPHONE || UNITY_ANDROID
+ checkTouches();
+#endif
+#if UNITY_STANDALONE_OSX || UNITY_STANDALONE_WIN || UNITY_WEBPLAYER
+ checkClick();
+#endif
+
+
+ }
+
+ private void checkMove(){
+ Vector2 oldMouse = mousePosition;
+ mousePosition = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
+ Vector2 direction = new Vector2(mousePosition.x - oldMouse.x, oldMouse.y - mousePosition.y);
+ if(direction.magnitude != 0)
+ InvokeMoveEvent(direction);
+
+ }
+ private void checkClick(){
+ if(Input.touches.Length > 0)
+ return;
+ if(Input.GetMouseButtonDown(0)){
+ clickStart(0);
+ } else if(Input.GetMouseButtonUp(0)){
+ clickEnd(0);
+ }
+ }
+
+ private void checkTouches(){
+ Touch[] touches = Input.touches;
+ if(touches.Length > 0 ){
+ foreach(Touch touch in touches){
+ if(touch.phase == TouchPhase.Began){
+ clickStart(touch.fingerId);
+ } else if(touch.phase == TouchPhase.Ended){
+ clickEnd(touch.fingerId);
+ }
+ }
+ }
+ }
+
+ private void clickStart(int buttonId){
+ InvokeDownEvent(buttonId);
+ clickTimer.StartTimer(ClickTimeInSeconds);
+ clickStarted = true;
+ }
+
+ private void clickEnd(int buttonId){
+ InvokeUpEvent(buttonId);
+ if(clickStarted){
+ InvokeClickEvent(buttonId);
+ clickStarted = false;
+ }
+ }
+
+
+ private void OnClickTimerFinished(object sender, EventArgs e){
+ clickStarted = false;
+ }
+
+ private void InvokeClickEvent(int buttonId){
+ var handler = ClickEvent;
+ if (handler == null) {
+ return;
+ }
+ var e = new MouseEventArgs(buttonId);
+ handler(this, e);
+ }
+
+ private void InvokeUpEvent(int buttonId){
+ var handler = UpEvent;
+ if (handler == null) {
+ return;
+ }
+ var e = new MouseEventArgs(buttonId);
+ handler(this, e);
+ }
+
+ private void InvokeDownEvent(int buttonId){
+ var handler = DownEvent;
+ if (handler == null) {
+ return;
+ }
+ var e = new MouseEventArgs(buttonId);
+ handler(this, e);
+ }
+
+ private void InvokeMoveEvent(Vector2 direction){
+ var handler = MoveEvent;
+ if (handler == null){
+ return;
+ }
+ var e = new MouseEventArgs(direction);
+ handler(this, e);
+ }
+
+}
diff --git a/Assets/Scripts/General/ControlManager.cs b/Assets/Scripts/General/ControlManager.cs
new file mode 100755
index 0000000..465b9df
--- /dev/null
+++ b/Assets/Scripts/General/ControlManager.cs
@@ -0,0 +1,74 @@
+using System;
+using System.Collections.Generic;
+using UnityEngine;
+
+public sealed class ControlManager where T : MonoBehaviour
+{
+ private readonly List keysToBeRemoved;
+ private readonly Dictionary> controllers;
+ private readonly Dictionary> queuedControllers;
+
+ public ControlManager() {
+ queuedControllers = new Dictionary>();
+ controllers = new Dictionary>();
+ keysToBeRemoved = new List();
+ }
+
+ public void ClearControllers() {
+ controllers.Clear();
+ }
+
+ public void Reset()
+ {
+ controllers.Clear();
+ keysToBeRemoved.Clear();
+ queuedControllers.Clear();
+ }
+
+ public void QueueController(string name, Controller controller) {
+ if (queuedControllers.ContainsKey(name)) {
+ queuedControllers.Remove(name);
+ }
+ queuedControllers.Add(name, controller);
+ }
+
+ private void AddController(string name, Controller controller) {
+ if (controllers.ContainsKey(name)) {
+ var message = string.Format("must remove controller with name {0}, before attaching a second with the same name.",name);
+ throw new ApplicationException(message);
+ }
+
+ controller.ControllerFinished += (sender, e) => keysToBeRemoved.Add(name);
+ controllers.Add(name, controller);
+ }
+
+ public void DequeueController(string name) {
+ keysToBeRemoved.Add(name);
+ }
+
+ public bool IsControllerAttached(string name) {
+ return controllers.ContainsKey(name);
+ }
+
+ public void Update(T entity) {
+ foreach (var c in this.Controllers) {
+ c.Update(entity);
+ }
+
+ foreach (var oc in keysToBeRemoved) {
+ controllers.Remove(oc);
+ }
+ keysToBeRemoved.Clear();
+
+ foreach (var qc in queuedControllers) {
+ this.AddController(qc.Key, qc.Value);
+ }
+ queuedControllers.Clear();
+ }
+
+ public IEnumerable> Controllers {
+ get { return controllers.Values; }
+ }
+}
+
+
diff --git a/Assets/Scripts/General/Controller.cs b/Assets/Scripts/General/Controller.cs
new file mode 100755
index 0000000..3a1c3ae
--- /dev/null
+++ b/Assets/Scripts/General/Controller.cs
@@ -0,0 +1,55 @@
+using System;
+using UnityEngine;
+
+public abstract class Controller where T : MonoBehaviour
+{
+ protected Controller () {
+ // imediately active
+ Trigger = () => true;
+ }
+
+ public Func Trigger {
+ get;
+ set;
+ }
+
+ public bool IsTriggered {
+ get;
+ private set;
+ }
+
+ public bool IsFinished {
+ get;
+ private set;
+ }
+
+ public virtual void Update(T entity)
+ {
+ if (Trigger == null) {
+ return;
+ }
+
+ if (IsTriggered) {
+ UpdateOverride(entity);
+ return;
+ }
+
+ IsTriggered = Trigger();
+ }
+
+ protected abstract void UpdateOverride(T entity);
+
+ public event EventHandler> ControllerFinished;
+ protected void InvokeControllerFinished (T entity) {
+ var handler = ControllerFinished;
+ if (handler == null) {
+ return;
+ }
+
+ var e = new BehaviourEventArgs (entity);
+ ControllerFinished (this, e);
+ IsFinished = true;
+ }
+}
+
+
diff --git a/Assets/Scripts/General/Samples/BehaviourEventArgs.cs b/Assets/Scripts/General/Samples/BehaviourEventArgs.cs
new file mode 100755
index 0000000..298b0e3
--- /dev/null
+++ b/Assets/Scripts/General/Samples/BehaviourEventArgs.cs
@@ -0,0 +1,16 @@
+using System;
+using UnityEngine;
+
+public class BehaviourEventArgs : EventArgs where T : MonoBehaviour
+{
+ public BehaviourEventArgs(T behaviour) {
+ Behaviour = behaviour;
+ }
+
+ public T Behaviour {
+ get;
+ private set;
+ }
+}
+
+
diff --git a/Assets/Scripts/General/Samples/SampleMovementController.cs b/Assets/Scripts/General/Samples/SampleMovementController.cs
new file mode 100755
index 0000000..9e983b7
--- /dev/null
+++ b/Assets/Scripts/General/Samples/SampleMovementController.cs
@@ -0,0 +1,50 @@
+using System;
+using UnityEngine;
+
+
+/* UNTESTET
+public class SampleMovmentController : EntityController
+{
+ private readonly Vector3 targetPosition;
+ private bool lookAt;
+
+ public LinearMovementController(Vector3 targetPosition)
+ : this(targetPosition, true) { }
+
+ public LinearMovementController(Vector3 targetPosition, bool lookAt) {
+ this.lookAt = lookAt;
+ this.targetPosition = targetPosition;
+ }
+
+ protected override void UpdateOverride (EntityBehaviour entity)
+ {
+ if (IsFinished || entity == null) {
+ return;
+ }
+
+ var isCloseEnough = entity.transform.position.IsCloseEnoughTo(targetPosition);
+ if (isCloseEnough) {
+ return;
+ }
+
+ // v = s / t
+ // s = v * t
+ var currentPosition = entity.transform.position;
+
+ var direction = targetPosition - currentPosition;
+
+ var normalizedDirection = direction;
+ normalizedDirection.Normalize();
+
+ var offset = entity.Speed * Time.deltaTime;
+ var movementVector = normalizedDirection * offset;
+
+ entity.transform.position = entity.transform.position + movementVector;
+ if (lookAt) {
+ entity.gameObject.transform.LookAt(entity.transform.position + normalizedDirection);
+ }
+ }
+}
+*/
+
+
diff --git a/Assets/Scripts/General/TimeBehaviour.cs b/Assets/Scripts/General/TimeBehaviour.cs
new file mode 100644
index 0000000..872695a
--- /dev/null
+++ b/Assets/Scripts/General/TimeBehaviour.cs
@@ -0,0 +1,32 @@
+using UnityEngine;
+using System.Collections;
+using System.Collections.Generic;
+public class TimeBehaviour : MonoBehaviour {
+
+ public static TimeBehaviour Instance{get;private set;}
+
+ void Awake(){
+ Instance = this;
+ timerList = new List();
+ }
+ private List timerList;
+
+ // Use this for initialization
+ void Start () {
+
+ }
+
+ // Update is called once per frame
+ void Update () {
+ foreach(Timer t in timerList)
+ t.Update();
+ }
+
+ public void AddTimer(Timer timer){
+ timerList.Add(timer);
+ }
+
+ public void RemoveTimer(Timer timer){
+ timerList.Remove(timer);
+ }
+}
diff --git a/Assets/Scripts/General/Timer.cs b/Assets/Scripts/General/Timer.cs
new file mode 100755
index 0000000..4a340c8
--- /dev/null
+++ b/Assets/Scripts/General/Timer.cs
@@ -0,0 +1,61 @@
+using UnityEngine;
+using System.Collections;
+using System;
+
+public class Timer {
+
+ private float currentTime = 0;
+ private float maxTime;
+ private bool run = false;
+
+ public event EventHandler TimerFinished;
+
+ public Timer(){
+ init();
+ }
+
+ public Timer(float timeInSeconds){
+ init();
+ maxTime = timeInSeconds;
+ }
+
+ ~Timer(){
+ TimeBehaviour.Instance.RemoveTimer(this);
+ }
+
+ // Update is called once per frame
+ public void Update () {
+ if(run){
+ currentTime += Time.deltaTime;
+ if(currentTime >= maxTime){
+ InvokeTimerFinished();
+ StopTimer();
+ }
+ }
+
+
+ }
+
+ public void StartTimer(float timeInSeconds){
+ StopTimer();
+ maxTime = timeInSeconds;
+ run = true;
+ }
+
+ public void StopTimer(){
+ currentTime = 0;
+ run = false;
+ }
+
+ private void init(){
+ TimeBehaviour.Instance.AddTimer(this);
+ }
+
+ private void InvokeTimerFinished(){
+ var handler = TimerFinished;
+ if (handler == null) {
+ return;
+ }
+ handler(this, null);
+ }
+}
diff --git a/Assets/Scripts/LocalStorage.cs b/Assets/Scripts/LocalStorage.cs
new file mode 100644
index 0000000..5af2195
--- /dev/null
+++ b/Assets/Scripts/LocalStorage.cs
@@ -0,0 +1,64 @@
+using UnityEngine;
+using System.Collections;
+using System.Text;
+using System.IO;
+using System;
+
+public class LocalStorage {
+ public const int BUF_SIZE = 64;
+ private static UTF8Encoding enc = new UTF8Encoding();
+ /*
+ * Writes (and creates if necessary) a file in local storage
+ * and fills it with the content of a byte array.
+ */
+ public static void WriteBinaryFile(string name, byte[] data) {
+ var w = new BinaryWriter(File.Open(getLocalStoragePath()+"/"+name, FileMode.Create));
+ w.Write(data);
+ w.Close();
+ }
+
+ /*
+ * Reads a whole file from local storage into an byte array.
+ *
+ * The file name is appended to the local storage path and opened
+ * read-only.
+ * The file is read in BUF_SIZE chunks (64 bytes by default).
+ */
+ public static byte[] ReadBinaryFile(string name) {
+ var r = new BinaryReader(File.Open(getLocalStoragePath()+"/"+name, FileMode.Open));
+ byte[] result = new byte[0];
+ byte[] buf = new byte[BUF_SIZE];
+ int read, count = 0;;
+ do {
+ //read = r.Read(buf, count*BUF_SIZE, BUF_SIZE);
+ read = r.Read(buf, 0, BUF_SIZE);
+ byte[] new_result = new byte[count*BUF_SIZE + read];
+ Array.Copy(result, 0, new_result, 0, count*BUF_SIZE);
+ Array.Copy(buf, 0, new_result, count*BUF_SIZE, read);
+ result = new_result;
+ count++;
+ } while (read == BUF_SIZE);
+ r.Close();
+ return result;
+ }
+
+ /*
+ * Reads a whole UTF8 formatted file from local storage into a string.
+ */
+ public static string ReadUTF8File(string name) {
+ var data = ReadBinaryFile(name);
+ return enc.GetString(data);
+ }
+
+ /**
+ * Writes (and creates if necessary) an UTF8 formatted file in local
+ * storage and fills it with the content of the string.
+ */
+ public static void WriteUTF8File(string name, string data) {
+ WriteBinaryFile(name, enc.GetBytes(data));
+ }
+
+ private static string getLocalStoragePath() {
+ return Application.persistentDataPath;
+ }
+}
diff --git a/Assets/Scripts/ResourceManager/ResourceLoadingBehaviour.cs b/Assets/Scripts/ResourceManager/ResourceLoadingBehaviour.cs
new file mode 100755
index 0000000..36fd00a
--- /dev/null
+++ b/Assets/Scripts/ResourceManager/ResourceLoadingBehaviour.cs
@@ -0,0 +1,52 @@
+using System;
+using System.Collections.Generic;
+using UnityEngine;
+
+
+
+
+public class ResourceLoadingBehaviour : MonoBehaviour
+{
+ public string ResourcesPath;
+ public bool LoadAllResourcesInPath;
+ public string[] ResourceNames;
+
+ private List loadedResources;
+
+ protected ResourceLoadingBehaviour() {
+ }
+
+ private void Awake() {
+ if(ResourcesPath != "")
+ ResourcesPath += "/";
+ OnResourcesLoading(EventArgs.Empty);
+ LoadResources();
+ OnResourcesLoaded(EventArgs.Empty);
+ }
+
+ protected virtual void OnResourcesLoading(EventArgs e) { }
+ protected virtual void OnResourcesLoaded(EventArgs e) { }
+
+ protected virtual void LoadResources(){
+ if(LoadAllResourcesInPath){
+ loadedResources = ResourceManager.LoadAllResources(ResourcesPath);
+
+ } else{
+ foreach(string resource in ResourceNames){
+ ResourceManager.LoadResource(ResourcesPath + resource);
+ }
+ }
+ }
+
+ protected virtual void UnloadResources(){
+ if(LoadAllResourcesInPath){
+ ResourceManager.LoadAllResources(ResourcesPath);
+ } else{
+ foreach(string resource in loadedResources){
+ ResourceManager.UnloadResource(ResourcesPath + resource);
+ }
+ }
+ }
+}
+
+
diff --git a/Assets/Scripts/ResourceManager/ResourceManager.cs b/Assets/Scripts/ResourceManager/ResourceManager.cs
new file mode 100755
index 0000000..72793f2
--- /dev/null
+++ b/Assets/Scripts/ResourceManager/ResourceManager.cs
@@ -0,0 +1,68 @@
+using System;
+using System.Collections.Generic;
+using UnityEngine;
+
+public static class ResourceManager
+{
+ private static readonly Dictionary _resources;
+
+ static ResourceManager() {
+ _resources = new Dictionary();
+ }
+
+ public static bool IsResourceLoaded(string key)
+ {
+ return _resources.ContainsKey(key);
+ }
+
+ public static bool UnloadResource(string key) {
+ if (_resources.ContainsKey(key)) {
+ _resources.Remove(key);
+ return true;
+ }
+ return false;
+ }
+
+ public static List LoadAllResources(string path){
+ UnityEngine.Object[] objects = Resources.LoadAll(path);
+ List loadedResources = new List();
+ foreach(UnityEngine.Object obj in objects){
+ string resourcePath = path + "/" + obj.name;
+ _resources.Add(resourcePath, obj);
+ loadedResources.Add(obj.name);
+ }
+ return loadedResources;
+ }
+
+ public static void LoadResource(string key)
+ {
+ if (IsResourceLoaded(key)) {
+ var message = string.Format("Resource {0} already loaded, skipping.", key);
+ Debug.Log(message);
+ return;
+ }
+ var r = UnityEngine.Resources.Load(key);
+ if (r == null) {
+ Debug.Log("resouce not found" + key + " while loading");
+ }
+ _resources.Add(key, r);
+ }
+
+ public static T GetResource(string key) where T : UnityEngine.Object
+ {
+ if (!IsResourceLoaded(key)) {
+ Debug.LogWarning(key + "not found");
+ }
+ return (T) _resources[key];
+ }
+
+ public static T CreateInstance(string key) where T : UnityEngine.Object {
+ if (!IsResourceLoaded(key)) {
+ Debug.LogWarning(key + "not found");
+ }
+ var res = _resources[key];
+ return (T) GameObject.Instantiate(res, Vector3.zero, Quaternion.identity);
+ }
+}
+
+
diff --git a/Library/AssetImportState b/Library/AssetImportState
old mode 100644
new mode 100755
index da864f6..f82f7e9
--- a/Library/AssetImportState
+++ b/Library/AssetImportState
@@ -1 +1 @@
-9;0
\ No newline at end of file
+2;0
\ No newline at end of file
diff --git a/Library/EditorUserBuildSettings.asset b/Library/EditorUserBuildSettings.asset
old mode 100644
new mode 100755
index 7aa5a3b..be2286f
Binary files a/Library/EditorUserBuildSettings.asset and b/Library/EditorUserBuildSettings.asset differ
diff --git a/Library/InspectorExpandedItems.asset b/Library/InspectorExpandedItems.asset
old mode 100644
new mode 100755
index 2c4f9d6..d0724bc
Binary files a/Library/InspectorExpandedItems.asset and b/Library/InspectorExpandedItems.asset differ
diff --git a/Library/ScriptMapper b/Library/ScriptMapper
old mode 100644
new mode 100755
index 68ea87f..ac88732
Binary files a/Library/ScriptMapper and b/Library/ScriptMapper differ
diff --git a/Library/expandedItems b/Library/expandedItems
old mode 100644
new mode 100755
index cefc0cc..b0383c5
Binary files a/Library/expandedItems and b/Library/expandedItems differ
diff --git a/Library/guidmapper b/Library/guidmapper
old mode 100644
new mode 100755
index 4d03f65..622bdf5
Binary files a/Library/guidmapper and b/Library/guidmapper differ
diff --git a/Library/metadata/00/00000000000000001000000000000000 b/Library/metadata/00/00000000000000001000000000000000
old mode 100644
new mode 100755
index 4578bb9..9aceffb
Binary files a/Library/metadata/00/00000000000000001000000000000000 and b/Library/metadata/00/00000000000000001000000000000000 differ
diff --git a/Library/metadata/00/00000000000000002000000000000000 b/Library/metadata/00/00000000000000002000000000000000
old mode 100644
new mode 100755
index 5ffe1a3..f3124d6
Binary files a/Library/metadata/00/00000000000000002000000000000000 and b/Library/metadata/00/00000000000000002000000000000000 differ
diff --git a/Library/metadata/00/00000000000000003000000000000000 b/Library/metadata/00/00000000000000003000000000000000
old mode 100644
new mode 100755
index 7287559..5449343
Binary files a/Library/metadata/00/00000000000000003000000000000000 and b/Library/metadata/00/00000000000000003000000000000000 differ
diff --git a/Library/metadata/00/00000000000000004000000000000000 b/Library/metadata/00/00000000000000004000000000000000
old mode 100644
new mode 100755
index 0abb17c..df637e5
Binary files a/Library/metadata/00/00000000000000004000000000000000 and b/Library/metadata/00/00000000000000004000000000000000 differ
diff --git a/Library/metadata/00/00000000000000005000000000000000 b/Library/metadata/00/00000000000000005000000000000000
old mode 100644
new mode 100755
index 9cb95ea..de2aec3
Binary files a/Library/metadata/00/00000000000000005000000000000000 and b/Library/metadata/00/00000000000000005000000000000000 differ
diff --git a/Library/metadata/00/00000000000000006000000000000000 b/Library/metadata/00/00000000000000006000000000000000
old mode 100644
new mode 100755
index ae80af4..57ce12d
Binary files a/Library/metadata/00/00000000000000006000000000000000 and b/Library/metadata/00/00000000000000006000000000000000 differ
diff --git a/Library/metadata/00/00000000000000007000000000000000 b/Library/metadata/00/00000000000000007000000000000000
old mode 100644
new mode 100755
index 3d30c8d..6d0d93b
Binary files a/Library/metadata/00/00000000000000007000000000000000 and b/Library/metadata/00/00000000000000007000000000000000 differ
diff --git a/Library/metadata/00/00000000000000008000000000000000 b/Library/metadata/00/00000000000000008000000000000000
old mode 100644
new mode 100755
index 0e7041c..c46e1a9
Binary files a/Library/metadata/00/00000000000000008000000000000000 and b/Library/metadata/00/00000000000000008000000000000000 differ
diff --git a/Library/metadata/00/00000000000000009000000000000000 b/Library/metadata/00/00000000000000009000000000000000
old mode 100644
new mode 100755
index 07e9dd8..e949a60
Binary files a/Library/metadata/00/00000000000000009000000000000000 and b/Library/metadata/00/00000000000000009000000000000000 differ
diff --git a/Library/metadata/00/0000000000000000a000000000000000 b/Library/metadata/00/0000000000000000a000000000000000
old mode 100644
new mode 100755
index 1f805df..e43e4dc
Binary files a/Library/metadata/00/0000000000000000a000000000000000 and b/Library/metadata/00/0000000000000000a000000000000000 differ
diff --git a/Library/metadata/00/0000000000000000b000000000000000 b/Library/metadata/00/0000000000000000b000000000000000
old mode 100644
new mode 100755
index d902849..7e5771a
Binary files a/Library/metadata/00/0000000000000000b000000000000000 and b/Library/metadata/00/0000000000000000b000000000000000 differ
diff --git a/Library/metadata/00/0000000000000000c000000000000000 b/Library/metadata/00/0000000000000000c000000000000000
old mode 100644
new mode 100755
index c1570ab..e5f477f
Binary files a/Library/metadata/00/0000000000000000c000000000000000 and b/Library/metadata/00/0000000000000000c000000000000000 differ
diff --git a/Library/metadata/00/00380c23ce9724d5b81f088c57abf158 b/Library/metadata/00/00380c23ce9724d5b81f088c57abf158
deleted file mode 100644
index 0702ef4..0000000
Binary files a/Library/metadata/00/00380c23ce9724d5b81f088c57abf158 and /dev/null differ
diff --git a/Library/metadata/00/004968d19d6a04e7a96b2ccd6482ac89 b/Library/metadata/00/004968d19d6a04e7a96b2ccd6482ac89
deleted file mode 100644
index 5fb5628..0000000
Binary files a/Library/metadata/00/004968d19d6a04e7a96b2ccd6482ac89 and /dev/null differ
diff --git a/Library/metadata/01/01f8d90061cc0cb4c8119480cea409a3 b/Library/metadata/01/01f8d90061cc0cb4c8119480cea409a3
new file mode 100755
index 0000000..49d3365
Binary files /dev/null and b/Library/metadata/01/01f8d90061cc0cb4c8119480cea409a3 differ
diff --git a/Library/metadata/03/038cfba9c59da46bc87e6b685ed7d705 b/Library/metadata/03/038cfba9c59da46bc87e6b685ed7d705
deleted file mode 100644
index d00511d..0000000
Binary files a/Library/metadata/03/038cfba9c59da46bc87e6b685ed7d705 and /dev/null differ
diff --git a/Library/metadata/06/06092839f9a404844b55a963be16cbf9 b/Library/metadata/06/06092839f9a404844b55a963be16cbf9
deleted file mode 100644
index 6d5d01a..0000000
Binary files a/Library/metadata/06/06092839f9a404844b55a963be16cbf9 and /dev/null differ
diff --git a/Library/metadata/07/07229dbbde2824e078596bea1a9f4814 b/Library/metadata/07/07229dbbde2824e078596bea1a9f4814
deleted file mode 100644
index 2aabd29..0000000
Binary files a/Library/metadata/07/07229dbbde2824e078596bea1a9f4814 and /dev/null differ
diff --git a/Library/metadata/07/072743a6dcf09194a863f717feb4a170 b/Library/metadata/07/072743a6dcf09194a863f717feb4a170
new file mode 100755
index 0000000..84e309f
Binary files /dev/null and b/Library/metadata/07/072743a6dcf09194a863f717feb4a170 differ
diff --git a/Library/metadata/61/61f074b0d27a64a5fb3772e35ffce168 b/Library/metadata/08/08ec628b35cc8654bb7775ad8ee76c95
old mode 100644
new mode 100755
similarity index 92%
rename from Library/metadata/61/61f074b0d27a64a5fb3772e35ffce168
rename to Library/metadata/08/08ec628b35cc8654bb7775ad8ee76c95
index 13409d9..81de99e
Binary files a/Library/metadata/61/61f074b0d27a64a5fb3772e35ffce168 and b/Library/metadata/08/08ec628b35cc8654bb7775ad8ee76c95 differ
diff --git a/Library/metadata/09/0928248368edf41b7a927ab1e67a0318 b/Library/metadata/09/0928248368edf41b7a927ab1e67a0318
old mode 100644
new mode 100755
index 90ea4d4..f06294a
Binary files a/Library/metadata/09/0928248368edf41b7a927ab1e67a0318 and b/Library/metadata/09/0928248368edf41b7a927ab1e67a0318 differ
diff --git a/Library/metadata/09/0973d9a626de05c49b2558b4ef652fdd b/Library/metadata/09/0973d9a626de05c49b2558b4ef652fdd
new file mode 100755
index 0000000..64cf54e
Binary files /dev/null and b/Library/metadata/09/0973d9a626de05c49b2558b4ef652fdd differ
diff --git a/Library/metadata/0b/0b06ed4fef7fb4e8fae61d235fe083ae b/Library/metadata/0b/0b06ed4fef7fb4e8fae61d235fe083ae
old mode 100644
new mode 100755
index 8322503..2019b56
Binary files a/Library/metadata/0b/0b06ed4fef7fb4e8fae61d235fe083ae and b/Library/metadata/0b/0b06ed4fef7fb4e8fae61d235fe083ae differ
diff --git a/Library/metadata/27/27c1d7eafdf834aa0a091d965a690d5e b/Library/metadata/0e/0e04a5ee27d473a44a5be6c0dcc35d52
old mode 100644
new mode 100755
similarity index 73%
rename from Library/metadata/27/27c1d7eafdf834aa0a091d965a690d5e
rename to Library/metadata/0e/0e04a5ee27d473a44a5be6c0dcc35d52
index e536a6f..a2b1462
Binary files a/Library/metadata/27/27c1d7eafdf834aa0a091d965a690d5e and b/Library/metadata/0e/0e04a5ee27d473a44a5be6c0dcc35d52 differ
diff --git a/Library/metadata/0e/0e6e31470781d4237a0967451f9e41b3 b/Library/metadata/0e/0e6e31470781d4237a0967451f9e41b3
deleted file mode 100644
index a2bae54..0000000
Binary files a/Library/metadata/0e/0e6e31470781d4237a0967451f9e41b3 and /dev/null differ
diff --git a/Library/metadata/0f/0f2a8182e519446db98d70ab9b586301 b/Library/metadata/0f/0f2a8182e519446db98d70ab9b586301
deleted file mode 100644
index 87feea8..0000000
Binary files a/Library/metadata/0f/0f2a8182e519446db98d70ab9b586301 and /dev/null differ
diff --git a/Library/metadata/14/143e54aacaa81461ba11f913732c6560 b/Library/metadata/14/143e54aacaa81461ba11f913732c6560
old mode 100644
new mode 100755
index caffe33..35e8b9b
Binary files a/Library/metadata/14/143e54aacaa81461ba11f913732c6560 and b/Library/metadata/14/143e54aacaa81461ba11f913732c6560 differ
diff --git a/Library/metadata/77/77c84b68fbcc641fda2decb833bd536a b/Library/metadata/15/15a7a61093058f74a8ce86f7c5e2126e
old mode 100644
new mode 100755
similarity index 92%
rename from Library/metadata/77/77c84b68fbcc641fda2decb833bd536a
rename to Library/metadata/15/15a7a61093058f74a8ce86f7c5e2126e
index ad356cd..6a8b03e
Binary files a/Library/metadata/77/77c84b68fbcc641fda2decb833bd536a and b/Library/metadata/15/15a7a61093058f74a8ce86f7c5e2126e differ
diff --git a/Library/metadata/05/05e997c68ee1b442fbcbe517f5ddca4e b/Library/metadata/17/170ac057f62b20940917040494dba9f5
old mode 100644
new mode 100755
similarity index 90%
rename from Library/metadata/05/05e997c68ee1b442fbcbe517f5ddca4e
rename to Library/metadata/17/170ac057f62b20940917040494dba9f5
index 71ab7b0..5fe9d6b
Binary files a/Library/metadata/05/05e997c68ee1b442fbcbe517f5ddca4e and b/Library/metadata/17/170ac057f62b20940917040494dba9f5 differ
diff --git a/Library/metadata/1a/1ad905f2a5ec64cc08328503d4b9ce31 b/Library/metadata/1a/1ad905f2a5ec64cc08328503d4b9ce31
deleted file mode 100644
index 071d038..0000000
Binary files a/Library/metadata/1a/1ad905f2a5ec64cc08328503d4b9ce31 and /dev/null differ
diff --git a/Library/metadata/1a/1adc1dfcbc4c7c940b6bebbd4f512cbf b/Library/metadata/1a/1adc1dfcbc4c7c940b6bebbd4f512cbf
new file mode 100755
index 0000000..603dd1f
Binary files /dev/null and b/Library/metadata/1a/1adc1dfcbc4c7c940b6bebbd4f512cbf differ
diff --git a/Library/metadata/1b/1b98ddffeeef24646a74f3909628ac84 b/Library/metadata/1b/1b98ddffeeef24646a74f3909628ac84
deleted file mode 100644
index 0589fbf..0000000
Binary files a/Library/metadata/1b/1b98ddffeeef24646a74f3909628ac84 and /dev/null differ
diff --git a/Library/metadata/1e/1e1b105f528c44f918ed78e28599f0dd b/Library/metadata/1e/1e1b105f528c44f918ed78e28599f0dd
deleted file mode 100644
index da7f461..0000000
Binary files a/Library/metadata/1e/1e1b105f528c44f918ed78e28599f0dd and /dev/null differ
diff --git a/Library/metadata/1e/1e7dd399379d19742acce63a95829823 b/Library/metadata/1e/1e7dd399379d19742acce63a95829823
new file mode 100755
index 0000000..30e7822
Binary files /dev/null and b/Library/metadata/1e/1e7dd399379d19742acce63a95829823 differ
diff --git a/Library/metadata/1e/1eff91b022f824b94bfa5f65d896751e b/Library/metadata/1e/1eff91b022f824b94bfa5f65d896751e
old mode 100644
new mode 100755
index 7ed8137..34b7ddf
Binary files a/Library/metadata/1e/1eff91b022f824b94bfa5f65d896751e and b/Library/metadata/1e/1eff91b022f824b94bfa5f65d896751e differ
diff --git a/Library/metadata/20/205316bdefae37d4d94f8cb63ab7c10d b/Library/metadata/20/205316bdefae37d4d94f8cb63ab7c10d
new file mode 100755
index 0000000..7f85ffb
Binary files /dev/null and b/Library/metadata/20/205316bdefae37d4d94f8cb63ab7c10d differ
diff --git a/Library/metadata/fc/fc444dca9fdaa48aca6833d6c4756860 b/Library/metadata/20/2060c4ba03eff4abea5ff3fb3ca15d86
old mode 100644
new mode 100755
similarity index 90%
rename from Library/metadata/fc/fc444dca9fdaa48aca6833d6c4756860
rename to Library/metadata/20/2060c4ba03eff4abea5ff3fb3ca15d86
index 46620c0..8627a01
Binary files a/Library/metadata/fc/fc444dca9fdaa48aca6833d6c4756860 and b/Library/metadata/20/2060c4ba03eff4abea5ff3fb3ca15d86 differ
diff --git a/Library/metadata/23/23dfc8f8268c842daae95cad7c119af1 b/Library/metadata/23/23dfc8f8268c842daae95cad7c119af1
deleted file mode 100644
index 77a57e2..0000000
Binary files a/Library/metadata/23/23dfc8f8268c842daae95cad7c119af1 and /dev/null differ
diff --git a/Library/metadata/24/244165b10e4714bd59799b225c463ee0 b/Library/metadata/24/244165b10e4714bd59799b225c463ee0
old mode 100644
new mode 100755
index e19ffb5..f3928dc
Binary files a/Library/metadata/24/244165b10e4714bd59799b225c463ee0 and b/Library/metadata/24/244165b10e4714bd59799b225c463ee0 differ
diff --git a/Library/metadata/25/25f18b5c49448435c963c8cb2a97ce23 b/Library/metadata/25/25f18b5c49448435c963c8cb2a97ce23
deleted file mode 100644
index 59cc234..0000000
Binary files a/Library/metadata/25/25f18b5c49448435c963c8cb2a97ce23 and /dev/null differ
diff --git a/Library/metadata/26/2639b407c70904ec3bc10cf8f0da2e1b b/Library/metadata/26/2639b407c70904ec3bc10cf8f0da2e1b
deleted file mode 100644
index ccffc99..0000000
Binary files a/Library/metadata/26/2639b407c70904ec3bc10cf8f0da2e1b and /dev/null differ
diff --git a/Library/metadata/26/267803676899749e98212c8f0891f1fc b/Library/metadata/26/267803676899749e98212c8f0891f1fc
deleted file mode 100644
index 50d6094..0000000
Binary files a/Library/metadata/26/267803676899749e98212c8f0891f1fc and /dev/null differ
diff --git a/Library/metadata/27/273ec8e5bc0934bc4b851a7264b59f10 b/Library/metadata/27/273ec8e5bc0934bc4b851a7264b59f10
deleted file mode 100644
index 8773d61..0000000
Binary files a/Library/metadata/27/273ec8e5bc0934bc4b851a7264b59f10 and /dev/null differ
diff --git a/Library/metadata/27/278ea125c61b243e68dd49285d212abb b/Library/metadata/27/278ea125c61b243e68dd49285d212abb
new file mode 100755
index 0000000..6d02fd0
Binary files /dev/null and b/Library/metadata/27/278ea125c61b243e68dd49285d212abb differ
diff --git a/Library/metadata/2a/2aa094b88d12f474885baf9b3feb944e b/Library/metadata/2a/2aa094b88d12f474885baf9b3feb944e
new file mode 100755
index 0000000..826f683
Binary files /dev/null and b/Library/metadata/2a/2aa094b88d12f474885baf9b3feb944e differ
diff --git a/Library/metadata/2b/2b50fecc0f21d4cc68d0bb15cdb5e1cf b/Library/metadata/2b/2b50fecc0f21d4cc68d0bb15cdb5e1cf
deleted file mode 100644
index c9816fc..0000000
Binary files a/Library/metadata/2b/2b50fecc0f21d4cc68d0bb15cdb5e1cf and /dev/null differ
diff --git a/Library/metadata/2d/2d48cc4defa2de043ac611fa40fd7348 b/Library/metadata/2d/2d48cc4defa2de043ac611fa40fd7348
new file mode 100755
index 0000000..cacbcb8
Binary files /dev/null and b/Library/metadata/2d/2d48cc4defa2de043ac611fa40fd7348 differ
diff --git a/Library/metadata/2d/2dcbd541882c57e4da492b676d905291 b/Library/metadata/2d/2dcbd541882c57e4da492b676d905291
new file mode 100755
index 0000000..e8844a0
Binary files /dev/null and b/Library/metadata/2d/2dcbd541882c57e4da492b676d905291 differ
diff --git a/Library/metadata/2e/2e652a87a367543408dd32396f18cb55 b/Library/metadata/2e/2e652a87a367543408dd32396f18cb55
deleted file mode 100644
index 984bc78..0000000
Binary files a/Library/metadata/2e/2e652a87a367543408dd32396f18cb55 and /dev/null differ
diff --git a/Library/metadata/2f/2f2831bb0e5e88f4ba4fe81cec864cf3 b/Library/metadata/2f/2f2831bb0e5e88f4ba4fe81cec864cf3
new file mode 100755
index 0000000..edd66f0
Binary files /dev/null and b/Library/metadata/2f/2f2831bb0e5e88f4ba4fe81cec864cf3 differ
diff --git a/Library/metadata/30/30f11e24dfdd44034bcb143f910f3b13 b/Library/metadata/30/30f11e24dfdd44034bcb143f910f3b13
new file mode 100755
index 0000000..9e5515e
Binary files /dev/null and b/Library/metadata/30/30f11e24dfdd44034bcb143f910f3b13 differ
diff --git a/Library/metadata/33/330ad3f4aab3848fbbbd5b25ff4757b5 b/Library/metadata/33/330ad3f4aab3848fbbbd5b25ff4757b5
new file mode 100755
index 0000000..404c1f9
Binary files /dev/null and b/Library/metadata/33/330ad3f4aab3848fbbbd5b25ff4757b5 differ
diff --git a/Library/metadata/33/33d440f38293046479a35a51cda1e43c b/Library/metadata/33/33d440f38293046479a35a51cda1e43c
deleted file mode 100644
index 10f12ce..0000000
Binary files a/Library/metadata/33/33d440f38293046479a35a51cda1e43c and /dev/null differ
diff --git a/Library/metadata/33/33dfdafdbdb25c4448128c2bc42ff52e b/Library/metadata/33/33dfdafdbdb25c4448128c2bc42ff52e
new file mode 100755
index 0000000..8224375
Binary files /dev/null and b/Library/metadata/33/33dfdafdbdb25c4448128c2bc42ff52e differ
diff --git a/Library/metadata/39/39a0546ffb29041438b5adf6f16404db b/Library/metadata/39/39a0546ffb29041438b5adf6f16404db
new file mode 100755
index 0000000..cd4e056
Binary files /dev/null and b/Library/metadata/39/39a0546ffb29041438b5adf6f16404db differ
diff --git a/Library/metadata/3a/3a88f2585016e41389afef114c1be68a b/Library/metadata/3a/3a88f2585016e41389afef114c1be68a
deleted file mode 100644
index fa15ecf..0000000
Binary files a/Library/metadata/3a/3a88f2585016e41389afef114c1be68a and /dev/null differ
diff --git a/Library/metadata/3a/3ac399cfe326c433c912f73dcdb44cf3 b/Library/metadata/3a/3ac399cfe326c433c912f73dcdb44cf3
deleted file mode 100644
index fcb1e8c..0000000
Binary files a/Library/metadata/3a/3ac399cfe326c433c912f73dcdb44cf3 and /dev/null differ
diff --git a/Library/metadata/3d/3da843199a05c4095a806da7c7fde0e5 b/Library/metadata/3d/3da843199a05c4095a806da7c7fde0e5
new file mode 100755
index 0000000..c3f4d9d
Binary files /dev/null and b/Library/metadata/3d/3da843199a05c4095a806da7c7fde0e5 differ
diff --git a/Library/metadata/3e/3e15b6075e12148fab4027421076e4bb b/Library/metadata/3e/3e15b6075e12148fab4027421076e4bb
deleted file mode 100644
index b43aa13..0000000
Binary files a/Library/metadata/3e/3e15b6075e12148fab4027421076e4bb and /dev/null differ
diff --git a/Library/metadata/3e/3e22178dc50df4588bc8b8aa0b5252d4 b/Library/metadata/3e/3e22178dc50df4588bc8b8aa0b5252d4
deleted file mode 100644
index ba1bdcd..0000000
Binary files a/Library/metadata/3e/3e22178dc50df4588bc8b8aa0b5252d4 and /dev/null differ
diff --git a/Library/metadata/3f/3f0f55609bd6e48a6bc3e8f8ea24c764 b/Library/metadata/3f/3f0f55609bd6e48a6bc3e8f8ea24c764
deleted file mode 100644
index 73ebea6..0000000
Binary files a/Library/metadata/3f/3f0f55609bd6e48a6bc3e8f8ea24c764 and /dev/null differ
diff --git a/Library/metadata/3f/3fd49f2a4c1ff438bb173943a98cc99f b/Library/metadata/3f/3fd49f2a4c1ff438bb173943a98cc99f
deleted file mode 100644
index 28b477f..0000000
Binary files a/Library/metadata/3f/3fd49f2a4c1ff438bb173943a98cc99f and /dev/null differ
diff --git a/Library/metadata/43/436c1d70df085465faf4e7e4ed0a925c b/Library/metadata/43/436c1d70df085465faf4e7e4ed0a925c
deleted file mode 100644
index 3998fe1..0000000
Binary files a/Library/metadata/43/436c1d70df085465faf4e7e4ed0a925c and /dev/null differ
diff --git a/Library/metadata/4a/4a0d55b0221d64471b35de6379486731 b/Library/metadata/4a/4a0d55b0221d64471b35de6379486731
deleted file mode 100644
index 284da15..0000000
Binary files a/Library/metadata/4a/4a0d55b0221d64471b35de6379486731 and /dev/null differ
diff --git a/Library/metadata/4a/4a4eaf027a250894c963ba732ebb5c76 b/Library/metadata/4a/4a4eaf027a250894c963ba732ebb5c76
new file mode 100755
index 0000000..8737004
Binary files /dev/null and b/Library/metadata/4a/4a4eaf027a250894c963ba732ebb5c76 differ
diff --git a/Library/metadata/4a/4a769a7bf9f9b4b6a9bfbbad31068abd b/Library/metadata/4a/4a769a7bf9f9b4b6a9bfbbad31068abd
old mode 100644
new mode 100755
index 9d27fd2..41cc4d2
Binary files a/Library/metadata/4a/4a769a7bf9f9b4b6a9bfbbad31068abd and b/Library/metadata/4a/4a769a7bf9f9b4b6a9bfbbad31068abd differ
diff --git a/Library/metadata/ad/ad912fe4e14d84b3ca5101c27aeae9dd b/Library/metadata/4a/4af8db51e37df754c8e14e05debf5c0b
old mode 100644
new mode 100755
similarity index 92%
rename from Library/metadata/ad/ad912fe4e14d84b3ca5101c27aeae9dd
rename to Library/metadata/4a/4af8db51e37df754c8e14e05debf5c0b
index 2696948..2b1d4df
Binary files a/Library/metadata/ad/ad912fe4e14d84b3ca5101c27aeae9dd and b/Library/metadata/4a/4af8db51e37df754c8e14e05debf5c0b differ
diff --git a/Library/metadata/ff/ff35ba79710654a35b0adcf1987a33cd b/Library/metadata/4e/4e43d838b13ecd9409eac085fb06328b
old mode 100644
new mode 100755
similarity index 79%
rename from Library/metadata/ff/ff35ba79710654a35b0adcf1987a33cd
rename to Library/metadata/4e/4e43d838b13ecd9409eac085fb06328b
index 643f5dc..c69290a
Binary files a/Library/metadata/ff/ff35ba79710654a35b0adcf1987a33cd and b/Library/metadata/4e/4e43d838b13ecd9409eac085fb06328b differ
diff --git a/Library/metadata/51/51d9db15a2c954e48967afe7a6ae5ed5 b/Library/metadata/51/51d9db15a2c954e48967afe7a6ae5ed5
deleted file mode 100644
index 2081a0b..0000000
Binary files a/Library/metadata/51/51d9db15a2c954e48967afe7a6ae5ed5 and /dev/null differ
diff --git a/Library/metadata/51/51df1c05c47a141fb94decc21d0e31c5 b/Library/metadata/51/51df1c05c47a141fb94decc21d0e31c5
deleted file mode 100644
index 766047b..0000000
Binary files a/Library/metadata/51/51df1c05c47a141fb94decc21d0e31c5 and /dev/null differ
diff --git a/Library/metadata/51/51f0c7922eb069d4f86eaed17bc2de40 b/Library/metadata/51/51f0c7922eb069d4f86eaed17bc2de40
new file mode 100755
index 0000000..8c1eb28
Binary files /dev/null and b/Library/metadata/51/51f0c7922eb069d4f86eaed17bc2de40 differ
diff --git a/Library/metadata/53/53960201df4e049bfab69b5f7799de8a b/Library/metadata/53/53960201df4e049bfab69b5f7799de8a
deleted file mode 100644
index 814fc4e..0000000
Binary files a/Library/metadata/53/53960201df4e049bfab69b5f7799de8a and /dev/null differ
diff --git a/Library/metadata/31/31baf0855512a41809273dfe69affc33 b/Library/metadata/56/56ba6c0d13455d84b8ddbfadb1000bb9
old mode 100644
new mode 100755
similarity index 92%
rename from Library/metadata/31/31baf0855512a41809273dfe69affc33
rename to Library/metadata/56/56ba6c0d13455d84b8ddbfadb1000bb9
index 926a998..e3b018b
Binary files a/Library/metadata/31/31baf0855512a41809273dfe69affc33 and b/Library/metadata/56/56ba6c0d13455d84b8ddbfadb1000bb9 differ
diff --git a/Library/metadata/58/582d9a226a7164309b3160653e2e9f9f b/Library/metadata/58/582d9a226a7164309b3160653e2e9f9f
deleted file mode 100644
index 6b52faf..0000000
Binary files a/Library/metadata/58/582d9a226a7164309b3160653e2e9f9f and /dev/null differ
diff --git a/Library/metadata/29/29a967ff08d72402b9acfb9181a4436d b/Library/metadata/58/58919298e211bde43be9308f06f60196
old mode 100644
new mode 100755
similarity index 90%
rename from Library/metadata/29/29a967ff08d72402b9acfb9181a4436d
rename to Library/metadata/58/58919298e211bde43be9308f06f60196
index 3daed6a..a01a353
Binary files a/Library/metadata/29/29a967ff08d72402b9acfb9181a4436d and b/Library/metadata/58/58919298e211bde43be9308f06f60196 differ
diff --git a/Library/metadata/e5/e58930b7b9c074ee6ac47fddc2c7f610 b/Library/metadata/58/58c413e0e77b4499f873bab19a7bd951
old mode 100644
new mode 100755
similarity index 92%
rename from Library/metadata/e5/e58930b7b9c074ee6ac47fddc2c7f610
rename to Library/metadata/58/58c413e0e77b4499f873bab19a7bd951
index a9cb06b..eed2932
Binary files a/Library/metadata/e5/e58930b7b9c074ee6ac47fddc2c7f610 and b/Library/metadata/58/58c413e0e77b4499f873bab19a7bd951 differ
diff --git a/Library/metadata/59/593990c77ca6b4730ba1caa7e2d5bbe2 b/Library/metadata/59/593990c77ca6b4730ba1caa7e2d5bbe2
new file mode 100755
index 0000000..7ec133d
Binary files /dev/null and b/Library/metadata/59/593990c77ca6b4730ba1caa7e2d5bbe2 differ
diff --git a/Library/metadata/59/593ca2652bfa575498faaad5707882fc b/Library/metadata/59/593ca2652bfa575498faaad5707882fc
new file mode 100755
index 0000000..752a167
Binary files /dev/null and b/Library/metadata/59/593ca2652bfa575498faaad5707882fc differ
diff --git a/Library/metadata/5a/5a283dd8c33fe41058335d8e3ea09357 b/Library/metadata/5a/5a283dd8c33fe41058335d8e3ea09357
deleted file mode 100644
index 579e617..0000000
Binary files a/Library/metadata/5a/5a283dd8c33fe41058335d8e3ea09357 and /dev/null differ
diff --git a/Library/metadata/5a/5aad366564455cb4896a574bccdd84d4 b/Library/metadata/5a/5aad366564455cb4896a574bccdd84d4
new file mode 100755
index 0000000..b670a42
Binary files /dev/null and b/Library/metadata/5a/5aad366564455cb4896a574bccdd84d4 differ
diff --git a/Library/metadata/5b/5bfb1c8b5d1204808a275db12f0bdef6 b/Library/metadata/5b/5bfb1c8b5d1204808a275db12f0bdef6
new file mode 100755
index 0000000..d80c0a7
Binary files /dev/null and b/Library/metadata/5b/5bfb1c8b5d1204808a275db12f0bdef6 differ
diff --git a/Library/metadata/5c/5c609cfc726d0194da253d2f237a860a b/Library/metadata/5c/5c609cfc726d0194da253d2f237a860a
new file mode 100755
index 0000000..5685c97
Binary files /dev/null and b/Library/metadata/5c/5c609cfc726d0194da253d2f237a860a differ
diff --git a/Library/metadata/5d/5d5e7add77a5ffe46b6ef7218506a14d b/Library/metadata/5d/5d5e7add77a5ffe46b6ef7218506a14d
new file mode 100755
index 0000000..855a36a
Binary files /dev/null and b/Library/metadata/5d/5d5e7add77a5ffe46b6ef7218506a14d differ
diff --git a/Library/metadata/99/99b3bcafe32a7421d90ca4d0f3acc5c4 b/Library/metadata/5e/5eb4433691e8b4ee3b180158fa5d9acc
old mode 100644
new mode 100755
similarity index 92%
rename from Library/metadata/99/99b3bcafe32a7421d90ca4d0f3acc5c4
rename to Library/metadata/5e/5eb4433691e8b4ee3b180158fa5d9acc
index 1ba6e96..637e183
Binary files a/Library/metadata/99/99b3bcafe32a7421d90ca4d0f3acc5c4 and b/Library/metadata/5e/5eb4433691e8b4ee3b180158fa5d9acc differ
diff --git a/Library/metadata/5f/5f048db4008f79a4a83f269ad0e10839 b/Library/metadata/5f/5f048db4008f79a4a83f269ad0e10839
new file mode 100755
index 0000000..410c16e
Binary files /dev/null and b/Library/metadata/5f/5f048db4008f79a4a83f269ad0e10839 differ
diff --git a/Library/metadata/5f/5f966e7a1adfc1e499324c1302afcd2c b/Library/metadata/5f/5f966e7a1adfc1e499324c1302afcd2c
new file mode 100755
index 0000000..01d86ba
Binary files /dev/null and b/Library/metadata/5f/5f966e7a1adfc1e499324c1302afcd2c differ
diff --git a/Library/metadata/5f/5fba5901d3b7f4f679ec3c20048e5a88 b/Library/metadata/5f/5fba5901d3b7f4f679ec3c20048e5a88
deleted file mode 100644
index 8af8191..0000000
Binary files a/Library/metadata/5f/5fba5901d3b7f4f679ec3c20048e5a88 and /dev/null differ
diff --git a/Library/metadata/60/6019750cb794e5949b41ce7216947111 b/Library/metadata/60/6019750cb794e5949b41ce7216947111
new file mode 100755
index 0000000..a031b7a
Binary files /dev/null and b/Library/metadata/60/6019750cb794e5949b41ce7216947111 differ
diff --git a/Library/metadata/60/607fb7f9c74964a3ab8904d891fe53c9 b/Library/metadata/60/607fb7f9c74964a3ab8904d891fe53c9
deleted file mode 100644
index a3d30f9..0000000
Binary files a/Library/metadata/60/607fb7f9c74964a3ab8904d891fe53c9 and /dev/null differ
diff --git a/Library/metadata/67/671eaefe85e5f96478fd4177385d8e7c b/Library/metadata/67/671eaefe85e5f96478fd4177385d8e7c
new file mode 100755
index 0000000..f7f9fb1
Binary files /dev/null and b/Library/metadata/67/671eaefe85e5f96478fd4177385d8e7c differ
diff --git a/Library/metadata/68/680882589f53e46efb4fb586603788d1 b/Library/metadata/68/680882589f53e46efb4fb586603788d1
deleted file mode 100644
index 402c0fc..0000000
Binary files a/Library/metadata/68/680882589f53e46efb4fb586603788d1 and /dev/null differ
diff --git a/Library/metadata/68/68b83c2b8dbb36e4d85fcc1fc42521a7 b/Library/metadata/68/68b83c2b8dbb36e4d85fcc1fc42521a7
new file mode 100755
index 0000000..7d5bfd3
Binary files /dev/null and b/Library/metadata/68/68b83c2b8dbb36e4d85fcc1fc42521a7 differ
diff --git a/Library/metadata/69/6952622deb25dda49a7aff25053ee778 b/Library/metadata/69/6952622deb25dda49a7aff25053ee778
new file mode 100755
index 0000000..339a5a1
Binary files /dev/null and b/Library/metadata/69/6952622deb25dda49a7aff25053ee778 differ
diff --git a/Library/metadata/6d/6d9ef9ad6b6a7401b84db50f3af59275 b/Library/metadata/6d/6d9ef9ad6b6a7401b84db50f3af59275
deleted file mode 100644
index 2264485..0000000
Binary files a/Library/metadata/6d/6d9ef9ad6b6a7401b84db50f3af59275 and /dev/null differ
diff --git a/Library/metadata/6f/6fbecec5670d04cefaa95aed8779a4b0 b/Library/metadata/6f/6fbecec5670d04cefaa95aed8779a4b0
deleted file mode 100644
index f9b1a4d..0000000
Binary files a/Library/metadata/6f/6fbecec5670d04cefaa95aed8779a4b0 and /dev/null differ
diff --git a/Library/metadata/6f/6fe3b7f8365b64700b68a6ef6ed39be1 b/Library/metadata/6f/6fe3b7f8365b64700b68a6ef6ed39be1
deleted file mode 100644
index 1fbb715..0000000
Binary files a/Library/metadata/6f/6fe3b7f8365b64700b68a6ef6ed39be1 and /dev/null differ
diff --git a/Library/metadata/70/700062c6709a74133bdae3fd761f7d7a b/Library/metadata/70/700062c6709a74133bdae3fd761f7d7a
old mode 100644
new mode 100755
index c910152..e87d665
Binary files a/Library/metadata/70/700062c6709a74133bdae3fd761f7d7a and b/Library/metadata/70/700062c6709a74133bdae3fd761f7d7a differ
diff --git a/Library/metadata/74/74b0bc2143cb741388121e9b2b6c01c4 b/Library/metadata/74/74b0bc2143cb741388121e9b2b6c01c4
deleted file mode 100644
index 6c610a8..0000000
Binary files a/Library/metadata/74/74b0bc2143cb741388121e9b2b6c01c4 and /dev/null differ
diff --git a/Library/metadata/75/75f2a4d11fa14457e8cfa19f3b743869 b/Library/metadata/75/75f2a4d11fa14457e8cfa19f3b743869
deleted file mode 100644
index 4c2a532..0000000
Binary files a/Library/metadata/75/75f2a4d11fa14457e8cfa19f3b743869 and /dev/null differ
diff --git a/Library/metadata/7a/7a1695f8a6e704f758fe94dcc954f21d b/Library/metadata/7a/7a1695f8a6e704f758fe94dcc954f21d
deleted file mode 100644
index 8ffa403..0000000
Binary files a/Library/metadata/7a/7a1695f8a6e704f758fe94dcc954f21d and /dev/null differ
diff --git a/Library/metadata/7b/7baa2a0515a41d842975a24e9480af07 b/Library/metadata/7b/7baa2a0515a41d842975a24e9480af07
new file mode 100755
index 0000000..3854c72
Binary files /dev/null and b/Library/metadata/7b/7baa2a0515a41d842975a24e9480af07 differ
diff --git a/Library/metadata/7c/7c3931af00b17984a9bc75a687693cde b/Library/metadata/7c/7c3931af00b17984a9bc75a687693cde
new file mode 100755
index 0000000..17864d5
Binary files /dev/null and b/Library/metadata/7c/7c3931af00b17984a9bc75a687693cde differ
diff --git a/Library/metadata/7c/7cf57b25be3737940876717c7803924f b/Library/metadata/7c/7cf57b25be3737940876717c7803924f
new file mode 100755
index 0000000..dfe62cc
Binary files /dev/null and b/Library/metadata/7c/7cf57b25be3737940876717c7803924f differ
diff --git a/Library/metadata/83/8346ebd8c4006c345b4c96ac01e67eea b/Library/metadata/83/8346ebd8c4006c345b4c96ac01e67eea
new file mode 100755
index 0000000..c7a1c49
Binary files /dev/null and b/Library/metadata/83/8346ebd8c4006c345b4c96ac01e67eea differ
diff --git a/Library/metadata/84/84340e2a8774a4769b1a6d43d15d5b44 b/Library/metadata/84/84340e2a8774a4769b1a6d43d15d5b44
old mode 100644
new mode 100755
index 190a50d..e5292a4
Binary files a/Library/metadata/84/84340e2a8774a4769b1a6d43d15d5b44 and b/Library/metadata/84/84340e2a8774a4769b1a6d43d15d5b44 differ
diff --git a/Library/metadata/86/86432d023f32990439c986815f0f4ec2 b/Library/metadata/86/86432d023f32990439c986815f0f4ec2
new file mode 100755
index 0000000..d34e053
Binary files /dev/null and b/Library/metadata/86/86432d023f32990439c986815f0f4ec2 differ
diff --git a/Library/metadata/86/86fecd51486934fbdb4a2c56d4a207d3 b/Library/metadata/86/86fecd51486934fbdb4a2c56d4a207d3
new file mode 100755
index 0000000..33facc6
Binary files /dev/null and b/Library/metadata/86/86fecd51486934fbdb4a2c56d4a207d3 differ
diff --git a/Library/metadata/88/88e993441211447c9baae22c8fe2b65b b/Library/metadata/88/88e993441211447c9baae22c8fe2b65b
new file mode 100755
index 0000000..d6bd107
Binary files /dev/null and b/Library/metadata/88/88e993441211447c9baae22c8fe2b65b differ
diff --git a/Library/metadata/8c/8c8cb9e0375274333b08dd3d6f47a7d5 b/Library/metadata/8c/8c8cb9e0375274333b08dd3d6f47a7d5
deleted file mode 100644
index 7e970d4..0000000
Binary files a/Library/metadata/8c/8c8cb9e0375274333b08dd3d6f47a7d5 and /dev/null differ
diff --git a/Library/metadata/8f/8f7e6720575394345833da0b523c734a b/Library/metadata/8f/8f7e6720575394345833da0b523c734a
deleted file mode 100644
index a288f2a..0000000
Binary files a/Library/metadata/8f/8f7e6720575394345833da0b523c734a and /dev/null differ
diff --git a/Library/metadata/8f/8fa68ef9423814b1b9177a14296bc80e b/Library/metadata/8f/8fa68ef9423814b1b9177a14296bc80e
deleted file mode 100644
index a17651a..0000000
Binary files a/Library/metadata/8f/8fa68ef9423814b1b9177a14296bc80e and /dev/null differ
diff --git a/Library/metadata/8f/8fc2d88dd361849808ad4e863b432f00 b/Library/metadata/8f/8fc2d88dd361849808ad4e863b432f00
new file mode 100755
index 0000000..358438c
Binary files /dev/null and b/Library/metadata/8f/8fc2d88dd361849808ad4e863b432f00 differ
diff --git a/Library/metadata/90/90afbf8e22a8d4ef6a18744668e27229 b/Library/metadata/90/90afbf8e22a8d4ef6a18744668e27229
deleted file mode 100644
index 2e9161e..0000000
Binary files a/Library/metadata/90/90afbf8e22a8d4ef6a18744668e27229 and /dev/null differ
diff --git a/Library/metadata/94/9460ba8289aa84a229935b27e6204cf7 b/Library/metadata/94/9460ba8289aa84a229935b27e6204cf7
old mode 100644
new mode 100755
index 021c85d..5adce9b
Binary files a/Library/metadata/94/9460ba8289aa84a229935b27e6204cf7 and b/Library/metadata/94/9460ba8289aa84a229935b27e6204cf7 differ
diff --git a/Library/metadata/95/9518aa805d16c2e4e9516535b0d9a80c b/Library/metadata/95/9518aa805d16c2e4e9516535b0d9a80c
new file mode 100755
index 0000000..a54f393
Binary files /dev/null and b/Library/metadata/95/9518aa805d16c2e4e9516535b0d9a80c differ
diff --git a/Library/metadata/95/95d9f8c9a655b41f7b4b5d3690292474 b/Library/metadata/95/95d9f8c9a655b41f7b4b5d3690292474
deleted file mode 100644
index d90b043..0000000
Binary files a/Library/metadata/95/95d9f8c9a655b41f7b4b5d3690292474 and /dev/null differ
diff --git a/Library/metadata/97/9794c3843cfd59b4881e40f2874e3b87 b/Library/metadata/97/9794c3843cfd59b4881e40f2874e3b87
new file mode 100755
index 0000000..41c04a6
Binary files /dev/null and b/Library/metadata/97/9794c3843cfd59b4881e40f2874e3b87 differ
diff --git a/Library/metadata/97/97a66d91a1f7640cfaea072300ed131d b/Library/metadata/97/97a66d91a1f7640cfaea072300ed131d
new file mode 100755
index 0000000..204f749
Binary files /dev/null and b/Library/metadata/97/97a66d91a1f7640cfaea072300ed131d differ
diff --git a/Library/metadata/97/97b9e3c0e05974e1f8eaa8eeaece2709 b/Library/metadata/97/97b9e3c0e05974e1f8eaa8eeaece2709
deleted file mode 100644
index c31c148..0000000
Binary files a/Library/metadata/97/97b9e3c0e05974e1f8eaa8eeaece2709 and /dev/null differ
diff --git a/Library/metadata/97/97d88029d6d0d43838b634067bb859d7 b/Library/metadata/97/97d88029d6d0d43838b634067bb859d7
new file mode 100755
index 0000000..1a7eeaa
Binary files /dev/null and b/Library/metadata/97/97d88029d6d0d43838b634067bb859d7 differ
diff --git a/Library/metadata/9b/9b1aee559b4bb4ff896578bbbfa124fb b/Library/metadata/9b/9b1aee559b4bb4ff896578bbbfa124fb
old mode 100644
new mode 100755
index e9e9a0e..e4bb3cb
Binary files a/Library/metadata/9b/9b1aee559b4bb4ff896578bbbfa124fb and b/Library/metadata/9b/9b1aee559b4bb4ff896578bbbfa124fb differ
diff --git a/Library/metadata/9b/9b55d0189be014897911c0a7a79a5bfa b/Library/metadata/9b/9b55d0189be014897911c0a7a79a5bfa
new file mode 100755
index 0000000..9c6b93e
Binary files /dev/null and b/Library/metadata/9b/9b55d0189be014897911c0a7a79a5bfa differ
diff --git a/Library/metadata/9b/9bba5664c262e4002b05ce43d8bad51f b/Library/metadata/9b/9bba5664c262e4002b05ce43d8bad51f
deleted file mode 100644
index f330c66..0000000
Binary files a/Library/metadata/9b/9bba5664c262e4002b05ce43d8bad51f and /dev/null differ
diff --git a/Library/metadata/9c/9c6c2d128da234a3486f678e3dba3984 b/Library/metadata/9c/9c6c2d128da234a3486f678e3dba3984
deleted file mode 100644
index 8c25aa1..0000000
Binary files a/Library/metadata/9c/9c6c2d128da234a3486f678e3dba3984 and /dev/null differ
diff --git a/Library/metadata/a0/a0ac922d1f5ad4251b4144961c0a74be b/Library/metadata/a0/a0ac922d1f5ad4251b4144961c0a74be
deleted file mode 100644
index 17baa5d..0000000
Binary files a/Library/metadata/a0/a0ac922d1f5ad4251b4144961c0a74be and /dev/null differ
diff --git a/Library/metadata/a1/a11b4b833661e4633910d50aadff4f59 b/Library/metadata/a1/a11b4b833661e4633910d50aadff4f59
deleted file mode 100644
index 61fc722..0000000
Binary files a/Library/metadata/a1/a11b4b833661e4633910d50aadff4f59 and /dev/null differ
diff --git a/Library/metadata/a2/a2203e0ecb3b84cb78a6a95c116d382b b/Library/metadata/a2/a2203e0ecb3b84cb78a6a95c116d382b
deleted file mode 100644
index 3fc3418..0000000
Binary files a/Library/metadata/a2/a2203e0ecb3b84cb78a6a95c116d382b and /dev/null differ
diff --git a/Library/metadata/3f/3f1ad09548c42497c9b44b4a7045c85a b/Library/metadata/a2/a2736dbb41b319841b8aa0cd52dd3fcf
old mode 100644
new mode 100755
similarity index 90%
rename from Library/metadata/3f/3f1ad09548c42497c9b44b4a7045c85a
rename to Library/metadata/a2/a2736dbb41b319841b8aa0cd52dd3fcf
index 334081c..bfc6251
Binary files a/Library/metadata/3f/3f1ad09548c42497c9b44b4a7045c85a and b/Library/metadata/a2/a2736dbb41b319841b8aa0cd52dd3fcf differ
diff --git a/Library/metadata/a5/a52dde642917d47e6babfe06f8ed3cbc b/Library/metadata/a5/a52dde642917d47e6babfe06f8ed3cbc
deleted file mode 100644
index 1a2cb2b..0000000
Binary files a/Library/metadata/a5/a52dde642917d47e6babfe06f8ed3cbc and /dev/null differ
diff --git a/Library/metadata/a5/a5eb1114a50234f18a90dec93c7003a2 b/Library/metadata/a5/a5eb1114a50234f18a90dec93c7003a2
new file mode 100755
index 0000000..745b74f
Binary files /dev/null and b/Library/metadata/a5/a5eb1114a50234f18a90dec93c7003a2 differ
diff --git a/Library/metadata/a6/a6b1dc035a2f04b8d9ee80035d56c336 b/Library/metadata/a6/a6b1dc035a2f04b8d9ee80035d56c336
new file mode 100755
index 0000000..01fcd01
Binary files /dev/null and b/Library/metadata/a6/a6b1dc035a2f04b8d9ee80035d56c336 differ
diff --git a/Library/metadata/a7/a71a9ddb9458b460a8870a13d3d2f7e8 b/Library/metadata/a7/a71a9ddb9458b460a8870a13d3d2f7e8
deleted file mode 100644
index c7dbee8..0000000
Binary files a/Library/metadata/a7/a71a9ddb9458b460a8870a13d3d2f7e8 and /dev/null differ
diff --git a/Library/metadata/aa/aa8a3f98de5fb4832a039836c585bd8d b/Library/metadata/aa/aa8a3f98de5fb4832a039836c585bd8d
deleted file mode 100644
index 841643f..0000000
Binary files a/Library/metadata/aa/aa8a3f98de5fb4832a039836c585bd8d and /dev/null differ
diff --git a/Library/metadata/aa/aac78bc7c7f854e88b7734c48ec813d8 b/Library/metadata/aa/aac78bc7c7f854e88b7734c48ec813d8
deleted file mode 100644
index 1b250f7..0000000
Binary files a/Library/metadata/aa/aac78bc7c7f854e88b7734c48ec813d8 and /dev/null differ
diff --git a/Library/metadata/ac/ac5de5d9de9dc4729ac18e7b1e118698 b/Library/metadata/ac/ac5de5d9de9dc4729ac18e7b1e118698
deleted file mode 100644
index 73bd61b..0000000
Binary files a/Library/metadata/ac/ac5de5d9de9dc4729ac18e7b1e118698 and /dev/null differ
diff --git a/Library/metadata/ad/adedc909ed8024046aa30861bcacc707 b/Library/metadata/ad/adedc909ed8024046aa30861bcacc707
new file mode 100755
index 0000000..ace51c2
Binary files /dev/null and b/Library/metadata/ad/adedc909ed8024046aa30861bcacc707 differ
diff --git a/Library/metadata/ae/ae398ba2ee807481889d11fecf3794e8 b/Library/metadata/ae/ae398ba2ee807481889d11fecf3794e8
deleted file mode 100644
index 8175ffe..0000000
Binary files a/Library/metadata/ae/ae398ba2ee807481889d11fecf3794e8 and /dev/null differ
diff --git a/Library/metadata/b0/b030ce10081c046a7a42021798143fa1 b/Library/metadata/b0/b030ce10081c046a7a42021798143fa1
old mode 100644
new mode 100755
index f575cbc..8cfa42d
Binary files a/Library/metadata/b0/b030ce10081c046a7a42021798143fa1 and b/Library/metadata/b0/b030ce10081c046a7a42021798143fa1 differ
diff --git a/Library/metadata/0c/0c616a2f50269499f82111fb2f759877 b/Library/metadata/b5/b5be6d4fce1034c67b46be1268463c4c
old mode 100644
new mode 100755
similarity index 92%
rename from Library/metadata/0c/0c616a2f50269499f82111fb2f759877
rename to Library/metadata/b5/b5be6d4fce1034c67b46be1268463c4c
index 1ced55f..7e3d0cf
Binary files a/Library/metadata/0c/0c616a2f50269499f82111fb2f759877 and b/Library/metadata/b5/b5be6d4fce1034c67b46be1268463c4c differ
diff --git a/Library/metadata/b5/b5f5dae3775e74b83baaff346f7182ec b/Library/metadata/b5/b5f5dae3775e74b83baaff346f7182ec
new file mode 100755
index 0000000..aa1f10e
Binary files /dev/null and b/Library/metadata/b5/b5f5dae3775e74b83baaff346f7182ec differ
diff --git a/Library/metadata/6e/6e4bf482f0a8849eaa949604e61b8a57 b/Library/metadata/b6/b63da4875ba544f6087d5945e655afb6
old mode 100644
new mode 100755
similarity index 90%
rename from Library/metadata/6e/6e4bf482f0a8849eaa949604e61b8a57
rename to Library/metadata/b6/b63da4875ba544f6087d5945e655afb6
index 32ab926..e2d51bf
Binary files a/Library/metadata/6e/6e4bf482f0a8849eaa949604e61b8a57 and b/Library/metadata/b6/b63da4875ba544f6087d5945e655afb6 differ
diff --git a/Library/metadata/b9/b984e63f390b542748c315c7f4983e8a b/Library/metadata/b9/b984e63f390b542748c315c7f4983e8a
deleted file mode 100644
index d244732..0000000
Binary files a/Library/metadata/b9/b984e63f390b542748c315c7f4983e8a and /dev/null differ
diff --git a/Library/metadata/bc/bcda2447fcd2a48a5ba618fe6f1d8813 b/Library/metadata/bc/bcda2447fcd2a48a5ba618fe6f1d8813
deleted file mode 100644
index 303c2d1..0000000
Binary files a/Library/metadata/bc/bcda2447fcd2a48a5ba618fe6f1d8813 and /dev/null differ
diff --git a/Library/metadata/14/1495cd51ffb1e4442b02cf739d4afac7 b/Library/metadata/bf/bf2d8fdea5ce70e45b0dbe369c1d78c9
old mode 100644
new mode 100755
similarity index 90%
rename from Library/metadata/14/1495cd51ffb1e4442b02cf739d4afac7
rename to Library/metadata/bf/bf2d8fdea5ce70e45b0dbe369c1d78c9
index f5882b0..af89ed0
Binary files a/Library/metadata/14/1495cd51ffb1e4442b02cf739d4afac7 and b/Library/metadata/bf/bf2d8fdea5ce70e45b0dbe369c1d78c9 differ
diff --git a/Library/metadata/2b/2b17f70b30de84b329371846b52f34a5 b/Library/metadata/bf/bf6ca501d82f04537be03c6de3c96fd9
old mode 100644
new mode 100755
similarity index 90%
rename from Library/metadata/2b/2b17f70b30de84b329371846b52f34a5
rename to Library/metadata/bf/bf6ca501d82f04537be03c6de3c96fd9
index 4995d2a..4dbc11d
Binary files a/Library/metadata/2b/2b17f70b30de84b329371846b52f34a5 and b/Library/metadata/bf/bf6ca501d82f04537be03c6de3c96fd9 differ
diff --git a/Library/metadata/c3/c3b26cea83b04474ca149ef7fb3e1796 b/Library/metadata/c3/c3b26cea83b04474ca149ef7fb3e1796
deleted file mode 100644
index eea00be..0000000
Binary files a/Library/metadata/c3/c3b26cea83b04474ca149ef7fb3e1796 and /dev/null differ
diff --git a/Library/metadata/c4/c40401222a55c4583a4a59203f9b069b b/Library/metadata/c4/c40401222a55c4583a4a59203f9b069b
old mode 100644
new mode 100755
index 18e525a..0fe79ba
Binary files a/Library/metadata/c4/c40401222a55c4583a4a59203f9b069b and b/Library/metadata/c4/c40401222a55c4583a4a59203f9b069b differ
diff --git a/Library/metadata/c4/c4a515c7fba34404b952ce4d933ee452 b/Library/metadata/c4/c4a515c7fba34404b952ce4d933ee452
deleted file mode 100644
index 7f98144..0000000
Binary files a/Library/metadata/c4/c4a515c7fba34404b952ce4d933ee452 and /dev/null differ
diff --git a/Library/metadata/c6/c66ee8f97287944a585a4ed1fe935861 b/Library/metadata/c6/c66ee8f97287944a585a4ed1fe935861
deleted file mode 100644
index c1d4fa7..0000000
Binary files a/Library/metadata/c6/c66ee8f97287944a585a4ed1fe935861 and /dev/null differ
diff --git a/Library/metadata/58/58b36c88a32fe4b33b89bda5c406a07d b/Library/metadata/c8/c8e7b2659fc8bdb499ad7091382fa0c1
old mode 100644
new mode 100755
similarity index 54%
rename from Library/metadata/58/58b36c88a32fe4b33b89bda5c406a07d
rename to Library/metadata/c8/c8e7b2659fc8bdb499ad7091382fa0c1
index 4dd1c4f..99df180
Binary files a/Library/metadata/58/58b36c88a32fe4b33b89bda5c406a07d and b/Library/metadata/c8/c8e7b2659fc8bdb499ad7091382fa0c1 differ
diff --git a/Library/metadata/21/2156c35573eb547239846e8e9fc59078 b/Library/metadata/c9/c918b0ecc46d32d429dfb5d8949dc79a
old mode 100644
new mode 100755
similarity index 92%
rename from Library/metadata/21/2156c35573eb547239846e8e9fc59078
rename to Library/metadata/c9/c918b0ecc46d32d429dfb5d8949dc79a
index 4b74ff1..bff06bb
Binary files a/Library/metadata/21/2156c35573eb547239846e8e9fc59078 and b/Library/metadata/c9/c918b0ecc46d32d429dfb5d8949dc79a differ
diff --git a/Library/metadata/ca/ca19e471dfcd34b14ad784b4e3c69eb8 b/Library/metadata/ca/ca19e471dfcd34b14ad784b4e3c69eb8
new file mode 100755
index 0000000..3502a36
Binary files /dev/null and b/Library/metadata/ca/ca19e471dfcd34b14ad784b4e3c69eb8 differ
diff --git a/Library/metadata/2e/2e767587b5e324af2bdee4bb47860003 b/Library/metadata/cb/cb0c1cf87f5e82742b5d84686266204c
old mode 100644
new mode 100755
similarity index 73%
rename from Library/metadata/2e/2e767587b5e324af2bdee4bb47860003
rename to Library/metadata/cb/cb0c1cf87f5e82742b5d84686266204c
index 872cf8f..0ecd680
Binary files a/Library/metadata/2e/2e767587b5e324af2bdee4bb47860003 and b/Library/metadata/cb/cb0c1cf87f5e82742b5d84686266204c differ
diff --git a/Library/metadata/cc/cceccea37dd154468b99895747d21ebc b/Library/metadata/cc/cceccea37dd154468b99895747d21ebc
deleted file mode 100644
index 585e3cd..0000000
Binary files a/Library/metadata/cc/cceccea37dd154468b99895747d21ebc and /dev/null differ
diff --git a/Library/metadata/cf/cf149af4e109f45bf88f5f3e9f183595 b/Library/metadata/cf/cf149af4e109f45bf88f5f3e9f183595
deleted file mode 100644
index 7b4f7c5..0000000
Binary files a/Library/metadata/cf/cf149af4e109f45bf88f5f3e9f183595 and /dev/null differ
diff --git a/Library/metadata/cf/cfdb6c224faec405abc1088c128a2f57 b/Library/metadata/cf/cfdb6c224faec405abc1088c128a2f57
deleted file mode 100644
index 46d1bfc..0000000
Binary files a/Library/metadata/cf/cfdb6c224faec405abc1088c128a2f57 and /dev/null differ
diff --git a/Library/metadata/d2/d232836a66f0d4c4a97d712d7d9d5254 b/Library/metadata/d2/d232836a66f0d4c4a97d712d7d9d5254
new file mode 100755
index 0000000..b5e373e
Binary files /dev/null and b/Library/metadata/d2/d232836a66f0d4c4a97d712d7d9d5254 differ
diff --git a/Library/metadata/d7/d7b812b1d3dd947429dc9bb752bd9da7 b/Library/metadata/d2/d29cb40d1320b4707abb86cdcec2341a
old mode 100644
new mode 100755
similarity index 90%
rename from Library/metadata/d7/d7b812b1d3dd947429dc9bb752bd9da7
rename to Library/metadata/d2/d29cb40d1320b4707abb86cdcec2341a
index 939e139..2b1498d
Binary files a/Library/metadata/d7/d7b812b1d3dd947429dc9bb752bd9da7 and b/Library/metadata/d2/d29cb40d1320b4707abb86cdcec2341a differ
diff --git a/Library/metadata/d3/d38ae76658d0a4aa2a4e0543ee56f039 b/Library/metadata/d3/d38ae76658d0a4aa2a4e0543ee56f039
new file mode 100755
index 0000000..b8a0db0
Binary files /dev/null and b/Library/metadata/d3/d38ae76658d0a4aa2a4e0543ee56f039 differ
diff --git a/Library/metadata/d4/d42674809112441d5b13f68e0b904218 b/Library/metadata/d4/d42674809112441d5b13f68e0b904218
deleted file mode 100644
index b01fd50..0000000
Binary files a/Library/metadata/d4/d42674809112441d5b13f68e0b904218 and /dev/null differ
diff --git a/Library/metadata/d4/d43c75e315c8a409d9b91217d20c0b2c b/Library/metadata/d4/d43c75e315c8a409d9b91217d20c0b2c
deleted file mode 100644
index 1b564e8..0000000
Binary files a/Library/metadata/d4/d43c75e315c8a409d9b91217d20c0b2c and /dev/null differ
diff --git a/Library/metadata/d4/d46f2504f952742d09acdcd4c7fa10f3 b/Library/metadata/d4/d46f2504f952742d09acdcd4c7fa10f3
new file mode 100755
index 0000000..9236202
Binary files /dev/null and b/Library/metadata/d4/d46f2504f952742d09acdcd4c7fa10f3 differ
diff --git a/Library/metadata/d5/d517f84849f4f294692ca57d4095291e b/Library/metadata/d5/d517f84849f4f294692ca57d4095291e
new file mode 100755
index 0000000..b4d9bf1
Binary files /dev/null and b/Library/metadata/d5/d517f84849f4f294692ca57d4095291e differ
diff --git a/Library/metadata/d5/d5f2e7b12b0384383979441d108ba6ed b/Library/metadata/d5/d5f2e7b12b0384383979441d108ba6ed
deleted file mode 100644
index 8ee4c8c..0000000
Binary files a/Library/metadata/d5/d5f2e7b12b0384383979441d108ba6ed and /dev/null differ
diff --git a/Library/metadata/21/218c7b9c8aeed41cca0d621632047733 b/Library/metadata/d6/d672b18291b48254cbf5ec8e8c947162
old mode 100644
new mode 100755
similarity index 92%
rename from Library/metadata/21/218c7b9c8aeed41cca0d621632047733
rename to Library/metadata/d6/d672b18291b48254cbf5ec8e8c947162
index f3c9869..ca82e2b
Binary files a/Library/metadata/21/218c7b9c8aeed41cca0d621632047733 and b/Library/metadata/d6/d672b18291b48254cbf5ec8e8c947162 differ
diff --git a/Library/metadata/d7/d72eaaef50fae4d4a83d85fa7d1a8506 b/Library/metadata/d7/d72eaaef50fae4d4a83d85fa7d1a8506
deleted file mode 100644
index fcbf5ac..0000000
Binary files a/Library/metadata/d7/d72eaaef50fae4d4a83d85fa7d1a8506 and /dev/null differ
diff --git a/Library/metadata/d9/d9955c8dad41c7847b65c09896d6b439 b/Library/metadata/d9/d9955c8dad41c7847b65c09896d6b439
new file mode 100755
index 0000000..9b8aba2
Binary files /dev/null and b/Library/metadata/d9/d9955c8dad41c7847b65c09896d6b439 differ
diff --git a/Library/metadata/da/da2c2c6fd16a64f27a3760f86e10dfbf b/Library/metadata/da/da2c2c6fd16a64f27a3760f86e10dfbf
deleted file mode 100644
index 8094da1..0000000
Binary files a/Library/metadata/da/da2c2c6fd16a64f27a3760f86e10dfbf and /dev/null differ
diff --git a/Library/metadata/da/da3ebb466df2e437bacf353c98b4586e b/Library/metadata/da/da3ebb466df2e437bacf353c98b4586e
deleted file mode 100644
index e9b6c65..0000000
Binary files a/Library/metadata/da/da3ebb466df2e437bacf353c98b4586e and /dev/null differ
diff --git a/Library/metadata/dc/dc94e71c4b77b400db332cccc0ec15fe b/Library/metadata/dc/dc94e71c4b77b400db332cccc0ec15fe
old mode 100644
new mode 100755
index 9e7a659..4a45ae6
Binary files a/Library/metadata/dc/dc94e71c4b77b400db332cccc0ec15fe and b/Library/metadata/dc/dc94e71c4b77b400db332cccc0ec15fe differ
diff --git a/Library/metadata/dc/dcc1182e3418240ccb3d5eed517a926c b/Library/metadata/dc/dcc1182e3418240ccb3d5eed517a926c
deleted file mode 100644
index 1ff6c7d..0000000
Binary files a/Library/metadata/dc/dcc1182e3418240ccb3d5eed517a926c and /dev/null differ
diff --git a/Library/metadata/dd/ddf84b9d1ebe44b468e0d6aa7385a919 b/Library/metadata/dd/ddf84b9d1ebe44b468e0d6aa7385a919
new file mode 100755
index 0000000..37148da
Binary files /dev/null and b/Library/metadata/dd/ddf84b9d1ebe44b468e0d6aa7385a919 differ
diff --git a/Library/metadata/e1/e15a9898b0c214ac881bfd2a99743307 b/Library/metadata/e1/e15a9898b0c214ac881bfd2a99743307
deleted file mode 100644
index ef338ff..0000000
Binary files a/Library/metadata/e1/e15a9898b0c214ac881bfd2a99743307 and /dev/null differ
diff --git a/Library/metadata/e2/e2c23e89b550145458af9da22872a3c6 b/Library/metadata/e2/e2c23e89b550145458af9da22872a3c6
old mode 100644
new mode 100755
index 5cd2a3f..b18434a
Binary files a/Library/metadata/e2/e2c23e89b550145458af9da22872a3c6 and b/Library/metadata/e2/e2c23e89b550145458af9da22872a3c6 differ
diff --git a/Library/metadata/cf/cf4852dcb194c4ebf8099c7360d9a4cc b/Library/metadata/e2/e2e45d52faf8c40968b924675e64cb52
old mode 100644
new mode 100755
similarity index 92%
rename from Library/metadata/cf/cf4852dcb194c4ebf8099c7360d9a4cc
rename to Library/metadata/e2/e2e45d52faf8c40968b924675e64cb52
index e9b8fda..892824b
Binary files a/Library/metadata/cf/cf4852dcb194c4ebf8099c7360d9a4cc and b/Library/metadata/e2/e2e45d52faf8c40968b924675e64cb52 differ
diff --git a/Library/metadata/e3/e31d439bbbae6438883072271019a5de b/Library/metadata/e3/e31d439bbbae6438883072271019a5de
deleted file mode 100644
index 3929cf5..0000000
Binary files a/Library/metadata/e3/e31d439bbbae6438883072271019a5de and /dev/null differ
diff --git a/Library/metadata/e3/e3307bd9fe38b48b4b17c603c2007c01 b/Library/metadata/e3/e3307bd9fe38b48b4b17c603c2007c01
old mode 100644
new mode 100755
index 2c55ab3..aa19154
Binary files a/Library/metadata/e3/e3307bd9fe38b48b4b17c603c2007c01 and b/Library/metadata/e3/e3307bd9fe38b48b4b17c603c2007c01 differ
diff --git a/Library/metadata/e3/e3c5f11bd240542539336e80102423a4 b/Library/metadata/e3/e3c5f11bd240542539336e80102423a4
deleted file mode 100644
index f41b56a..0000000
Binary files a/Library/metadata/e3/e3c5f11bd240542539336e80102423a4 and /dev/null differ
diff --git a/Library/metadata/e6/e6bd994d89ff84d938706a3e7fd2ffb1 b/Library/metadata/e6/e6bd994d89ff84d938706a3e7fd2ffb1
deleted file mode 100644
index 0f13ea8..0000000
Binary files a/Library/metadata/e6/e6bd994d89ff84d938706a3e7fd2ffb1 and /dev/null differ
diff --git a/Library/metadata/e6/e6d290dd39f074bf89784d6e84742551 b/Library/metadata/e6/e6d290dd39f074bf89784d6e84742551
new file mode 100755
index 0000000..2d10aae
Binary files /dev/null and b/Library/metadata/e6/e6d290dd39f074bf89784d6e84742551 differ
diff --git a/Library/metadata/e9/e9fd37756f86a4d06af2c5974cdcd874 b/Library/metadata/e9/e9fd37756f86a4d06af2c5974cdcd874
deleted file mode 100644
index 4f6c0ea..0000000
Binary files a/Library/metadata/e9/e9fd37756f86a4d06af2c5974cdcd874 and /dev/null differ
diff --git a/Library/metadata/ea/eafcf3691eb0cf243a1e8aac775fdc40 b/Library/metadata/ea/eafcf3691eb0cf243a1e8aac775fdc40
new file mode 100755
index 0000000..da2c80d
Binary files /dev/null and b/Library/metadata/ea/eafcf3691eb0cf243a1e8aac775fdc40 differ
diff --git a/Library/metadata/ec/ec029f67244dc4771b3bc614dacb4904 b/Library/metadata/ec/ec029f67244dc4771b3bc614dacb4904
deleted file mode 100644
index 99ff68c..0000000
Binary files a/Library/metadata/ec/ec029f67244dc4771b3bc614dacb4904 and /dev/null differ
diff --git a/Library/metadata/ec/ecd44c4fcf95965449c02a0b49a3ece7 b/Library/metadata/ec/ecd44c4fcf95965449c02a0b49a3ece7
new file mode 100755
index 0000000..6a8bb18
Binary files /dev/null and b/Library/metadata/ec/ecd44c4fcf95965449c02a0b49a3ece7 differ
diff --git a/Library/metadata/ed/ed2938783ba5d4a3e9d7b2d07aa3ac82 b/Library/metadata/ed/ed2938783ba5d4a3e9d7b2d07aa3ac82
deleted file mode 100644
index 10f9d81..0000000
Binary files a/Library/metadata/ed/ed2938783ba5d4a3e9d7b2d07aa3ac82 and /dev/null differ
diff --git a/Library/metadata/ed/ed3c32e5075df41aa9d08ce717bb8cd4 b/Library/metadata/ed/ed3c32e5075df41aa9d08ce717bb8cd4
deleted file mode 100644
index a832029..0000000
Binary files a/Library/metadata/ed/ed3c32e5075df41aa9d08ce717bb8cd4 and /dev/null differ
diff --git a/Library/metadata/ed/ed6aec70c77a3427790eb080ce5b9aa8 b/Library/metadata/ed/ed6aec70c77a3427790eb080ce5b9aa8
deleted file mode 100644
index 4baac3c..0000000
Binary files a/Library/metadata/ed/ed6aec70c77a3427790eb080ce5b9aa8 and /dev/null differ
diff --git a/Library/metadata/ee/ee1c868297d1fe343b666abfb1e39932 b/Library/metadata/ee/ee1c868297d1fe343b666abfb1e39932
new file mode 100755
index 0000000..828dd19
Binary files /dev/null and b/Library/metadata/ee/ee1c868297d1fe343b666abfb1e39932 differ
diff --git a/Library/metadata/2a/2afb06c492be84baaa96f0a307cffcd9 b/Library/metadata/f2/f22e5540d398545569ac36a5c05076c8
old mode 100644
new mode 100755
similarity index 90%
rename from Library/metadata/2a/2afb06c492be84baaa96f0a307cffcd9
rename to Library/metadata/f2/f22e5540d398545569ac36a5c05076c8
index 505d312..5fec298
Binary files a/Library/metadata/2a/2afb06c492be84baaa96f0a307cffcd9 and b/Library/metadata/f2/f22e5540d398545569ac36a5c05076c8 differ
diff --git a/Library/metadata/f2/f2cb0ec34ade247a4b6e423dc409a0b3 b/Library/metadata/f2/f2cb0ec34ade247a4b6e423dc409a0b3
deleted file mode 100644
index ad85f90..0000000
Binary files a/Library/metadata/f2/f2cb0ec34ade247a4b6e423dc409a0b3 and /dev/null differ
diff --git a/Library/metadata/36/365da4d24b1ff4d0fae604dd40917765 b/Library/metadata/f5/f5896a71fb8776f49ab50dad53db3833
old mode 100644
new mode 100755
similarity index 73%
rename from Library/metadata/36/365da4d24b1ff4d0fae604dd40917765
rename to Library/metadata/f5/f5896a71fb8776f49ab50dad53db3833
index 993e665..2c09a09
Binary files a/Library/metadata/36/365da4d24b1ff4d0fae604dd40917765 and b/Library/metadata/f5/f5896a71fb8776f49ab50dad53db3833 differ
diff --git a/Library/metadata/f6/f6636e020748a4b10afcf984474ddb02 b/Library/metadata/f6/f6636e020748a4b10afcf984474ddb02
deleted file mode 100644
index a6d0665..0000000
Binary files a/Library/metadata/f6/f6636e020748a4b10afcf984474ddb02 and /dev/null differ
diff --git a/Library/metadata/f9/f94e218413cfe421698a047c08f2ac08 b/Library/metadata/f9/f94e218413cfe421698a047c08f2ac08
old mode 100644
new mode 100755
index 9ade805..3a3cdc9
Binary files a/Library/metadata/f9/f94e218413cfe421698a047c08f2ac08 and b/Library/metadata/f9/f94e218413cfe421698a047c08f2ac08 differ
diff --git a/Library/metadata/fb/fba68aaf8959a6141b41478ce2df3d1a b/Library/metadata/fb/fba68aaf8959a6141b41478ce2df3d1a
new file mode 100755
index 0000000..6b523c5
Binary files /dev/null and b/Library/metadata/fb/fba68aaf8959a6141b41478ce2df3d1a differ
diff --git a/Library/metadata/fc/fc07c7179143d36469d2d3af4a1db866 b/Library/metadata/fc/fc07c7179143d36469d2d3af4a1db866
new file mode 100755
index 0000000..b0e05a4
Binary files /dev/null and b/Library/metadata/fc/fc07c7179143d36469d2d3af4a1db866 differ
diff --git a/asdfunity-csharp.sln b/asdfunity-csharp.sln
new file mode 100644
index 0000000..a307782
--- /dev/null
+++ b/asdfunity-csharp.sln
@@ -0,0 +1,21 @@
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+
+Project("{C350BA15-F10C-D3B7-65B1-F21EABB8A77D}") = "asdfunity", "Assembly-CSharp-vs.csproj", "{80CE8C27-FECA-E020-5EC6-DCB3914EBC42}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {80CE8C27-FECA-E020-5EC6-DCB3914EBC42}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {80CE8C27-FECA-E020-5EC6-DCB3914EBC42}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {80CE8C27-FECA-E020-5EC6-DCB3914EBC42}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {80CE8C27-FECA-E020-5EC6-DCB3914EBC42}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+
+EndGlobal
diff --git a/asdfunity.sln b/asdfunity.sln
new file mode 100644
index 0000000..e8d128d
--- /dev/null
+++ b/asdfunity.sln
@@ -0,0 +1,21 @@
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+
+Project("{C350BA15-F10C-D3B7-65B1-F21EABB8A77D}") = "asdfunity", "Assembly-CSharp.csproj", "{80CE8C27-FECA-E020-5EC6-DCB3914EBC42}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {80CE8C27-FECA-E020-5EC6-DCB3914EBC42}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {80CE8C27-FECA-E020-5EC6-DCB3914EBC42}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {80CE8C27-FECA-E020-5EC6-DCB3914EBC42}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {80CE8C27-FECA-E020-5EC6-DCB3914EBC42}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+
+EndGlobal
diff --git a/asdfunity.userprefs b/asdfunity.userprefs
new file mode 100644
index 0000000..4dfa10c
--- /dev/null
+++ b/asdfunity.userprefs
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file