- Home /
Cant move character to waypoint on dice roll
This is my first question ever as im new to unity. All my scripts are C#. Im currently making a 3d board game with player movement like Mario party where you roll the dice and player 1 moves. I have way point script set up called Pathfollower which is assigned to my main character. The way point works automatically when game runs, the player will move to 12 points I have currently created in world space
So I made a dice script to grab a random.range(1,13) on mousedown (I wanted on mobile touchdown but don't know how to do that). What im trying to achieve currently is if a number between 1-12 is rolled then play my waypoint function. my DiceObject prefab is instantiated.
Then what I want is when the number rolled reaches zero. stop character on way point. but I havnt scripted this far because I cant even move my player. Please help.
This is the Dice script
using UnityEngine; using System.Collections;
public class Dice : MonoBehaviour {
public int NumberOfMoves;
public bool PlayerRolled = false;
public void Update()
{
if (Input.GetMouseButtonDown(0) &&PlayerRolled == false)
{
NumberOfMoves = Random.Range(1, 13);
print(NumberOfMoves);
PlayerRolled = true;
}
}
}
This is my pathfollower script
using UnityEngine; using System.Collections;
public class PathFollower : MonoBehaviour {
public Transform[] path;
public float speed = 3.0f;
public float reachDistance = 1.0f;
public int currentPoint = 0;
public GameObject diceObjectPrefab;
void Update () {
Dice dicescript = diceObjectPrefab.GetComponent<Dice>();
if (dicescript.NumberOfMoves >= 1)
{
MovePlayer();
}
}
void MovePlayer () {
Vector3 dir = path[currentPoint].position - transform.position;
transform.position += dir * Time.deltaTime * speed;
if (dir.magnitude <= reachDistance)
{
currentPoint++;
}
if (currentPoint >= path.Length)
{
currentPoint = 0;
}
}
void OnDrawGizmos() {
if(path.Length >0)
for (int i = 0; i<path.Length; i++)
{
if (path[i] != null)
{
Gizmos.DrawWireSphere(path[i].position, reachDistance);
}
}
}
}
Can anybody answer this? or point me in the right direction?
Your answer
Follow this Question
Related Questions
Null Reference 2 Answers
Character Axes Rotation Problem 3 Answers
Character controller movement 1 Answer
Rigidbody2D character movement problem 0 Answers