Merge Points collection system via a separate script
I am fairly new to Unity scripting and can just about piece together bit from tutorials. This is the situation.....
We have two game objects (cubes) that are acting as colliders (players hands) in order to catch and destroy spawning game objects (cubes and spheres / "Pick Ups") as they follow way point systems towards the main camera.
We have a script that comes from the Unity for beginners tutorials (roller ball - Player Controller script) that we place onto one of the players hand game objects in order to tally up a score for the number of "Pick Ups" that the player hand game object has collided with.
When placing the same script on the second hand game object this obviously just duplicates the scoring so each hand now has separate scores. Which is fine, except ....
we need to ADD these two scores into ONE single display on screen for the player to see. So there is a total number of points collected from each hand game object.
ALSO
A cube placed behind the static player is acting as a collider to catch any spawned game objects ("Pick Ups) that the player failed to catch.
We need every spawned game object that collides with the "failed to catch" cube behind the player to deduct from the players score.
big picture: - player controls 2 cubes with their hands via the XBOX KINETIC. - 4 spawning points throw objects at them which they have to catch. - each object colliding with the "player hand cube" adds 1 point to their score which is displayed on screen. - each object NOT colliding with the "player hand object" but passing them and colliding with the "failed to catch" wall/cube game object placed behind the main camera will deduct 1 point from their onscreen score.
Does this make sense to anyone? and can anyone please help
This is the script which is attached to the two HAND game objects:
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;
public class PlayerController : MonoBehaviour { public Text countText; private int count; public Text winText;
// Use this for initialization
void Start ()
{
count = 0;
SetCountText();
winText.text = "";
}
// Update is called once per frame
void Update ()
{
}
void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag ( "Pick Up"))
{
other.gameObject.SetActive(false);
count = count + 1;
SetCountText();
}
}
void SetCountText()
{
countText.text = "Count: " + count.ToString();
if (count >= 40)
{
winText.text = "You Win Bro";
}
}
}
This is the script attached to the "FAILED TO CATCH" game object behind the main camera:
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;
public class PlayerLoose : MonoBehaviour { public Text looseCount; private int count; public Text looseText;
// Use this for initialization
void Start()
{
count = 0;
SetCountText();
looseText.text = "";
}
// Update is called once per frame
void Update()
{
}
void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag("Pick Up"))
{
other.gameObject.SetActive(false);
count = count + 1;
SetCountText();
}
}
void SetCountText()
{
looseCount.text = "Count: " + count.ToString();
if (count >= 10)
{
looseText.text = "La-hoo-zah-herr";
}
}
}
Is there a way of : 1 - combining the PLAYER HAND CATCH scores into one score displayed? 2 - for every point added to the LOOSER script to be taken away from the PLAYER HAND CATCH score?
Any links to similar issues or any resources would be greatly appreciated.
This is what it look like so far:
Your answer
Follow this Question
Related Questions
Timer wont work 0 Answers
Getting weird error message!?!?!? 1 Answer
Make enemy patrol without Nav Points? 0 Answers
tagged objects problem 0 Answers
random spawn enemy problem 0 Answers