/// <summary> /// Create a ballSplat object at given position /// </summary> /// <param name="pos"></param> public void CreateBallSplat(Vector3 pos, Color playerColor, Transform parent) { BallSplatController ballSplatControl = GetBallSplatControl(); ballSplatControl.transform.position = pos; ballSplatControl.transform.eulerAngles = new Vector3(90, Random.Range(0f, 360f), 0); ballSplatControl.gameObject.SetActive(true); ballSplatControl.FadeOut(playerColor, GPC.ballSplatFadingTime); ballSplatControl.transform.SetParent(parent); }
//Get an inactive ballSplatControl private BallSplatController GetBallSplatControl() { //Find on the list foreach (BallSplatController o in listBallSplatControl) { if (!o.gameObject.activeInHierarchy) { return(o); } } //Didn't find one -> create new one BallSplatController ballSplatControl = Instantiate(ballSplatPrefab, Vector3.zero, Quaternion.identity).GetComponent <BallSplatController>(); listBallSplatControl.Add(ballSplatControl); ballSplatControl.gameObject.SetActive(false); return(ballSplatControl); }