Inheritance: MonoBehaviour
Exemple #1
0
 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);
            }
        }
    }
Exemple #3
0
 // 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();
        }
    }
Exemple #5
0
    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();
 }
Exemple #8
0
 private void Start(){
     coinPickup = GetComponentInParent<CoinPickup>();
 }
Exemple #9
0
    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);
            }
        }
    }
Exemple #10
0
 private void Start()
 {
     ScorePickUp = GetComponent <ScorePickUp>();
     CoinPickup  = GetComponent <CoinPickup>();
 }