NullReferenceException: Object reference not set to an instance of an object
PlayerController.Update () (at Assets/Scripts/PlayerController.cs:23)
I got stuck while trying to follow this tutorial Mobile Swipe Detection [Tutorial][C#] - Unity 3d - YouTube
here is code:
using UnityEngine;
using System.Collections;
public enum SwipeDirection
{
None = 0,
Left = 1,
Right = 2,
Up = 4,
Down = 8,
}
public class SwipeManager : MonoBehaviour {
private static SwipeManager instance;
public static SwipeManager Instance{get {return instance;}}
public SwipeDirection Direction{set; get;}
private Vector3 touchPosition;
private float swipeResistanceX = 50.0f;
private float swipeResistanceY = 100.0f;
private void start(){
instance = this;
}
private void Update()
{
Direction = SwipeDirection.None;
if (Input.GetMouseButtonDown (0)) {
touchPosition = Input.mousePosition;
}
if (Input.GetMouseButtonUp (0)) {
Vector2 deltaSwipe = touchPosition - Input.mousePosition;
if (Mathf.Abs (deltaSwipe.x) > swipeResistanceX) {
Direction |= (deltaSwipe.x < 0) ? SwipeDirection.Right : SwipeDirection.Left;
}
if (Mathf.Abs (deltaSwipe.y) > swipeResistanceY) {
Direction |= (deltaSwipe.y < 0) ? SwipeDirection.Up : SwipeDirection.Down;
}
}
}
public bool IsSwiping(SwipeDirection dir)
{
return (Direction & dir) == dir;
}
}
using UnityEngine;
using System.Collections;
public class PlayerController : MonoBehaviour {
public float minSwipeDistY;
public float minSwipeDistX;
private Vector2 startPos;
Animator animator;
// Use this for initialization
void Start () {
animator = GetComponent<Animator> ();
}
// Update is called once per frame
void Update () {
if (animator.GetInteger ("Action") != 0){
animator.SetInteger ("Action", 0);
}
if (SwipeManager.Instance.IsSwiping(SwipeDirection.Down)){
animator.SetInteger ("Action", -1);
}
}
}
Both scripts are applied to my player object if that helps