Search Unity

Object reference not to set an instance of an object

Discussion in 'Getting Started' started by subitdhakal1234, Jun 4, 2020.

  1. subitdhakal1234

    subitdhakal1234

    Joined:
    Nov 25, 2019
    Posts:
    15
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;

    public class TrophySpawner : MonoBehaviour
    {
    Player player;

    float x1 = 0.012f;
    float y1 = 0.1f;
    float x2 =0.4f;
    float y2 = 0.0000001f;

    public void Update()
    {
    // generateRandomNumber(min, max);
    enabled = true;
    if (enabled == true)
    {
    TryToPlacePlayerAt(GetTrophyClicked());
    enabled = false;
    }
    }





    private Vector2 GetTrophyClicked()
    {
    Vector3 WorldTop = Camera.main.ViewportToWorldPoint(new Vector3(x1, y1, 0));
    Vector3 WorldBase = Camera.main.ViewportToWorldPoint(new Vector3(x2, y2, 0));
    Vector2 worldPos = new Vector2(Random.Range(WorldBase.x, WorldTop.x), Random.Range(WorldTop.y, WorldBase.y));
    Vector2 gridPos = SnapToGrid(worldPos);
    return gridPos;
    }

    private void TryToPlacePlayerAt(Vector2 gridPos)
    {

    var moneyCost = FindObjectOfType<MoneyDisplay>();
    int playerCost = player.GetMoneyCost();
    if (moneyCost.HaveEnoughMoney(playerCost))
    {
    SpawnTrophy(gridPos);
    moneyCost.SpendingMoney(playerCost);
    }
    }

    public void PlayerSelected(Player selectedPlayer)
    {
    player = selectedPlayer;
    }

    private Vector2 SnapToGrid(Vector2 rawWorldPos)
    {
    float newX = Mathf.Max(rawWorldPos.x);
    float newY = Mathf.Min(rawWorldPos.y);

    return new Vector2(newX, newY);
    }

    public void SpawnTrophy(Vector2 roundedPos)
    {

    Player newPlayer = Instantiate(player, roundedPos, Quaternion.identity) as Player;
    }
    }


    Please Help me out
     
  2. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    1. Paste code using the "Code" button in the toolbar, so all the formatting is not lost.
    2. The error message from Unity includes the line number. Please include that in your post (and maybe study that line yourself and see if the answer becomes clear).
     
    Joe-Censored likes this.