//Deprecated jobs system void Notes() { //Initialise PositionArrays and Pinned Status for calculation NativeArray <float3> PositionArray = new NativeArray <float3>(Points.Count, Allocator.TempJob); NativeArray <float3> PreviousPositionArray = new NativeArray <float3>(Points.Count, Allocator.TempJob); NativeArray <bool> PinnedArray = new NativeArray <bool>(Points.Count, Allocator.TempJob); for (int i = 0; i < Points.Count; i++) //Fill these arrays with information { PositionArray[i] = Points[i].transform.position; PreviousPositionArray[i] = Points[i].PreviousPosition; PinnedArray[i] = Points[i].Pinned; } //Create Job Handler UpdatePoints Job = new UpdatePoints { Position = PositionArray, PreviousPosition = PreviousPositionArray, Pinned = PinnedArray, gravity = Gravity, Friction = friction, timeStep = TimeStep }; //schedule Job JobHandle temp = Job.Schedule(PositionArray.Length, 800); //Start Job temp.Complete(); //Refill Points Array with new information for (int i = 0; i < Points.Count; i++) { Points[i].transform.position = PositionArray[i]; Points[i].PreviousPosition = PreviousPositionArray[i]; } PositionArray.Dispose(); PreviousPositionArray.Dispose(); PinnedArray.Dispose(); }
public override void Init() { tablo.ShowTablo(); _requiredStats = RoboFactory.Instance.CreateRequiredStats(); _characteristics.agility = 0; _characteristics.strength = 0; _characteristics.intelligence = 0; for (int i = 0; i < slots.Count; i++) { slots[i].Init(); RoboFactory.Instance.GetItemForSlot(slots[i]); } UpdatePoints?.Invoke(_characteristics, _requiredStats); changeBody.ChangeBodyToShadow(); }
// Grava a maior pontuação /*public int MaxScore(int recorded, int current) * { * // Receberá a nova pontuação maxima * int newRecord = 0; * * // Se a pontuação atual for maior que a pontuação armazenada... * if(current > recorded) * { * newRecord = current; * } * * return newRecord; * }*/ // Sensor da bola perdida public void OnTriggerEnter(Collider myCollider) { // Se o Collider possuir a tag "myBall"... if (myCollider.gameObject.CompareTag("myBall")) { Debug.Log("Perdeu uma bola"); // Decrementa a quantidade de bolas. GameController.myBalls--; CollisionAch.collision2Static = 0; CollisionAch.achCollision = false; CollisionInicio.collisionInicio = false; //DominoHandler.resetSingle = false; // Se a quantidade de bolas for menor ou igual a zero... if (GameController.myBalls <= 0) { Destroy(myCollider.gameObject); PanelGameOver.SetActive(true); UpdatePoints.SetStats(); GameController.FinalSound(); //Time.timeScale = 0; // Atualizar o registro de pontuação; //GamePersistence.SaveData( MaxScore(PlayerPrefs.GetInt("reg_score"), GameController.myPoints)); if (GameController.myPoints > PlayerPrefs.GetInt("reg_score")) { //Debug.Log("entrou..."); GamePersistence.SaveData(GameTest.myGameData.Score); GamePersistence.SaveData(GameController.myPoints); } else { //Debug.Log("Registro" + PlayerPrefs.GetInt("reg_score")); //Debug.Log("Score atual " + GameTest.myGameData.Score); } DominoController.goReset = true; //DominoHandler.ResetSingle(); } } }
protected virtual void OnUpdatePoints() { UpdatePoints?.Invoke(_characteristics, _requiredStats); }