public class Character : FFMonoBehaviour

{

    private static Character instance;


    public static Character Instance

    {

        get

        {

            return instance;

        }

    }


    public override void Awake()

    {

        base.Awake();


        m_stateMachineManager = new CharacterStateMachineManager();

        m_stateMachineManager.Init(this);

        m_myTransform = transform;


        m_animation = GetComponent<Animation>();


        SetState(UnitStateIndex.Idle);

    }

~중략~

    public float attackSpeed

    {

        get { return m_attackSpeed; }

        set { m_attackSpeed = value; }

    }

    public int attack

    {

        get { return m_attack; }

        set { m_attack = value;}

    }


    float m_attackSpeed = 1;

    int m_attack = 15;

    


    Transform m_myTransform;

    CharacterStateMachineManager m_stateMachineManager;

    Animation m_animation;

}


이렇게 캐릭터 클래스에서 attack을 선언 햇는데.



bool MakeOneMoveDownIndex(Tile[] LineOfTiles)

    {

        for (int i = 0; i < LineOfTiles.Length - 1; i++)

        {

            //MOVE BLOCK 

            if (LineOfTiles[i].Number == 0 && LineOfTiles[i + 1].Number != 0)

            {

                LineOfTiles[i].Number = LineOfTiles[i + 1].Number;

                LineOfTiles[i + 1].Number = 0;

                return true;

            }

            // MERGE BLOCK

            if (LineOfTiles[i].Number != 0 && LineOfTiles[i].Number == LineOfTiles[i + 1].Number &&

                LineOfTiles[i].mergedThisTurn == false && LineOfTiles[i + 1].mergedThisTurn == false)

            {

                LineOfTiles[i].Number *= 2;

                LineOfTiles[i + 1].Number = 0;

                LineOfTiles[i].mergedThisTurn = true;

                LineOfTiles[i].PlayMergeAnimation();

               Character.Instance.attack = (int) LineOfTiles[i].Number; //이부분 에서 null reference에러남

                Debug.Log(LineOfTiles[i].Number);

                if (LineOfTiles[i].Number == 2048)

                    YouWon();

                return true;

            }

        }

        return false;



참고로 tile클래스안에는

  public int Number

    {

        get{ return number;}

        set { number = value;

            if (number == 0)

                SetEmpty();

            else

            { ApplyStyle(number);

              SetVisible();}

        }

    }


    private int number;


이렇게 선언 되어져 있음.




넘버 값을 어택으로 보내고 싶은데. 도와줘요.