private Vector3 GetBlockerScale(GameObject targetBlocker) { BlockerModel targetBlockerM = targetBlocker.GetComponent <BlockerModel>(); float currScale = targetBlocker.transform.localScale.x + 0.25f * targetBlockerM.blockerTier; return(new Vector3(currScale, currScale * 0.01f, currScale)); }
private void OnGreenMarker(BlockerModel blocker) { int scores = blocker.XpForDestroy; AddXPByDestroy(scores); _coreGameplayController.AddScores(scores); _uiController.SetXPLable(_level, _currentXP, _nextLevelXP); Destroy(blocker.gameObject); }
private void InitBlock() { Vector3 newBlockerPos = GetStartBlockPosition(); int newBlockerTier = GetRandomBlockerTier(); GameObject newBlocker = Instantiate(GetBlocker(newBlockerTier), newBlockerPos, prefabs.blockersGO.transform.rotation, prefabs.blockersGO.transform); BlockerModel newBlockerModel = newBlocker.GetComponent <BlockerModel>(); newBlockerModel.blockerTier = newBlockerTier; newBlockerModel.XpForDestroy = (int)newBlockerTier + 1; newBlocker.transform.SetParent(prefabs.blockersGO.transform); newBlocker.transform.localScale = GetBlockerScale(newBlocker); newBlocker.transform.localRotation = Quaternion.Euler(0F, UnityEngine.Random.Range(0, 360F), 0F); newBlocker.GetComponentInChildren <Rigidbody>().velocity += Vector3.back * config.boxMotionSpeed; }
private void OnTriggerEnter(Collider other) { BlockerModel blocker = other.gameObject.GetComponent <BlockerModel>(); if (blocker != null) { switch (other.tag) { //TODO: move from tag to enum in BlockerModel case "RedMarker": OnRedMarker(blocker); break; case "GreenMarker": OnGreenMarker(blocker); break; case "BlackMarker": OnBlackMarker(blocker); break; } } }
private void OnBlackMarker(BlockerModel blocker) { Destroy(blocker.gameObject); _coreGameplayController.CreateTornado(transform.position, transform.localScale); Destroy(gameObject); }
private void OnRedMarker(BlockerModel blocker) { Destroy(blocker.gameObject); _coreGameplayController.EndTheGame(); }