public CoinDrop(CoinPickup coin, int poissonValue, float esperance) { this.coin = coin; this.poissonValue = poissonValue; this.esperance = esperance; coinValue = coin.pointToAdd; }
void GenerateCoins(int numberOfTiles) { int numberOfGroups = Random.Range(0, 4); if (numberOfGroups == 0) { return; } var spacing = numberOfTiles / numberOfGroups; var xPosition = generatorManager.LastBlockX + 1; while (numberOfGroups-- > 0) { int coins = Random.Range(1, Mathf.Max(numberOfTiles / 6, (int)(gameManager.Difficulty * 2))); float level = currentLevel + Random.Range(2, 4); for (int i = 0; i < coins; i++) { var xPos = xPosition + Random.Range(spacing * numberOfGroups, spacing * numberOfGroups + spacing); CoinPickup nextBlock = CoinPickup.GetObject(coin); nextBlock.transform.position = new Vector3(xPos, level, 0); nextBlock.gameObject.SetActive(true); } } }
// Use this for initialization void Start() { dartKey = KeyBindScript.keybindControl.GetKeys()["ShootDart"].ToString(); rockKey = KeyBindScript.keybindControl.GetKeys()["ThrowRock"].ToString(); hideKey = KeyBindScript.keybindControl.GetKeys()["InteractButton"].ToString(); jumpKey = KeyBindScript.keybindControl.GetKeys()["JumpButton"].ToString(); coinPickup = GameObject.FindGameObjectWithTag("CoinCollect").GetComponent <CoinPickup>(); }
/// <summary> /// Checks if the trigger being entered is a coin and collects it if so. /// </summary> /// <param name="collider2d"></param> private void CollectCoins(Collider2D collider2d) { // The collider will be nested under the parent CoinPickup coinScript = collider2d.GetComponentInParent <CoinPickup>(); if (coinScript) { coinScript.ClaimCoinValue(); } }
public static CoinPickup GetObject(CoinPickup source) { CoinPickup result = null; if (!Pool.TryGet(ref result)) { result = Instantiate(source); } return(result); }
//Checking for collision with walls or bullets private void OnTriggerEnter(Collider other) { //Check if we have collided with a obstacle and damage //the player DestructableWall destructableWall = other.GetComponent <DestructableWall>(); if (destructableWall) { //Damage the player DamagePlayer(playerCollisionDamage); //Destroy the wall destructableWall.ExplodeWall(); return; } //Check if the player has collided with a pickup CoinPickup pickup = other.GetComponent <CoinPickup>(); if (pickup) { PickupCoin(pickup); } }
/// <summary> /// Register a coin /// </summary> /// <param name="coin">Coin picked up</param> private void PickupCoin(CoinPickup coin) { //Add to score and destroy coin ScoreKeeper.CurrentScore += coin.Value; coin.RegisterPickup(); }
private void Start(){ coinPickup = GetComponentInParent<CoinPickup>(); }
public void Load() { //https://www.sitepoint.com/saving-and-loading-player-game-data-in-unity/ if (Directory.Exists("Saves") == false || File.Exists("Saves/save.binary") == false) { return; } BinaryFormatter formatter = new BinaryFormatter(); FileStream saveFile = File.Open("Saves/save.binary", FileMode.Open); localSaveModel = (SaveModel)formatter.Deserialize(saveFile); saveFile.Close(); GameManager.instance.player.transform.position = localSaveModel.Player.Position.GetVector(); GameManager.instance.player.transform.eulerAngles = localSaveModel.Player.Rotation.GetVector(); GameManager.instance.player.playerValues.health = localSaveModel.Player.Health; GameManager.instance.player.playerValues.maxHealth = localSaveModel.Player.MaxHealth; GameManager.instance.coinCount = localSaveModel.Player.Coins; LevelManager.instance.hasGateKey = localSaveModel.HasKey; if (LevelManager.instance.hasGateKey) { UIManager.instance.ShowKeyImage(); } else { UIManager.instance.HideKeyImage(); } foreach (ObjectModel model in localSaveModel.MovableObjects) { if (MovableObjects.ContainsKey(model.Id)) { GameObject go = MovableObjects[model.Id]; go.transform.position = model.Position.GetVector(); go.transform.eulerAngles = model.Rotation.GetVector(); go.SetActive(model.IsActive); } } foreach (ObjectModel model in localSaveModel.Haybales) { if (MovableObjects.ContainsKey(model.Id)) { GameObject go = Haybales[model.Id]; go.transform.position = model.Position.GetVector(); go.transform.eulerAngles = model.Rotation.GetVector(); go.SetActive(model.IsActive); } } foreach (ObjectModel model in localSaveModel.Checkpoints) { if (Checkpoints.ContainsKey(model.Id)) { GameObject go = Checkpoints[model.Id]; go.transform.position = model.Position.GetVector(); go.transform.eulerAngles = model.Rotation.GetVector(); go.SetActive(model.IsActive); } } foreach (FallingObjectModel model in localSaveModel.FallingObjects) { if (FallingObjects.ContainsKey(model.Id)) { FallingObject obj = FallingObjects[model.Id]; obj.transform.position = model.Position.GetVector(); obj.transform.eulerAngles = model.Rotation.GetVector(); obj.HasFallen = model.HasFallen; obj.gameObject.SetActive(model.IsActive); } } foreach (FallingObjectModel model in localSaveModel.TrapObjects) { if (TrapObjects.ContainsKey(model.Id)) { Breakable obj = TrapObjects[model.Id]; obj.transform.position = model.Position.GetVector(); obj.transform.eulerAngles = model.Rotation.GetVector(); obj.Broke = model.HasFallen; obj.gameObject.SetActive(model.IsActive); } } foreach (EnemyModel model in localSaveModel.Enemies) { if (Enemies.ContainsKey(model.Id)) { Peasant obj = Enemies[model.Id]; obj.transform.position = model.Position.GetVector(); obj.transform.eulerAngles = model.Rotation.GetVector(); if (model.IsStunned) { // obj.PlayerDash(Vector3.zero); obj.isDying = true; } else { obj.ShouldGoAlive = true; } obj.gameObject.SetActive(model.IsActive); } } foreach (GateModel model in localSaveModel.Gates) { if (Gates.ContainsKey(model.Id)) { GateScript obj = Gates[model.Id]; obj.transform.position = model.Position.GetVector(); obj.transform.eulerAngles = model.Rotation.GetVector(); if (model.IsOpen) { obj.Open(); UIManager.instance.HideKeyImage(); } obj.gameObject.SetActive(model.IsActive); } } foreach (ObjectModel model in localSaveModel.Dashables) { if (Dashables.ContainsKey(model.Id)) { Dashable obj = Dashables[model.Id]; obj.transform.position = model.Position.GetVector(); obj.transform.eulerAngles = model.Rotation.GetVector(); obj.gameObject.SetActive(model.IsActive); } } foreach (ObjectModel model in localSaveModel.Coins) { if (Coins.ContainsKey(model.Id)) { CoinPickup obj = Coins[model.Id]; obj.transform.position = model.Position.GetVector(); obj.transform.eulerAngles = model.Rotation.GetVector(); obj.gameObject.SetActive(model.IsActive); } } }
private void Start() { ScorePickUp = GetComponent <ScorePickUp>(); CoinPickup = GetComponent <CoinPickup>(); }