コード例 #1
0
    void OnTriggerEnter2D(Collider2D collider)
    {
        Sprinkle sprinkle = collider.gameObject.GetComponent <Sprinkle>();

        if (sprinkle != null && hungryCooldown > 0)
        {
            Debug.Log("hit spinkl as ant");
            //AudioSource noise = GetComponents<AudioSource>()[0];
            //noise.Play();

            showSpeedupWarn();

            Destroy(sprinkle.gameObject);
        }

        Sugarpile sugarpile = collider.gameObject.GetComponent <Sugarpile>();

        if (sugarpile != null)
        {
            //AudioSource noise = GetComponents<AudioSource>()[0];
            //noise.Play();

            //kill itself
            Destroy(gameObject);
        }
    }
コード例 #2
0
 public void Run()
 {
     Icecream iceCream = new Chocolate();
     iceCream = new Fudge(iceCream);
     iceCream = new Sprinkle(iceCream);
     Console.WriteLine("Cost of Icecream: " + iceCream.Cost().ToString());
     Console.ReadKey();
 }
コード例 #3
0
        public void Run()
        {
            Icecream iceCream = new Chocolate();

            iceCream = new Fudge(iceCream);
            iceCream = new Sprinkle(iceCream);
            Console.WriteLine("Cost of Icecream: " + iceCream.Cost().ToString());
            Console.ReadKey();
        }
コード例 #4
0
        static void Main(string[] args)
        {
            IceCream iceCream = new Chocolate();

            iceCream = new Sprinkle(iceCream);
            iceCream = new Frudge(iceCream);

            Console.WriteLine(iceCream.Cost());

            Console.ReadLine();
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: AdrianNg/DesignPatterns
        static void Main(string[] args)
        {
            IceCream iceCream = new Vanilla();

            iceCream = new Sprinkle(iceCream);

            iceCream = new Fudge(iceCream);

            Console.WriteLine(iceCream.Cost());

            Console.ReadKey();
        }
コード例 #6
0
ファイル: Program.cs プロジェクト: vrkala/DesignPatterns
        static void Main(string[] args)
        {
            IceCream iceCream = new Vanilla();


            iceCream = new Sprinkle(iceCream);

            iceCream = new Fudge(iceCream);


            Console.WriteLine(iceCream.Cost());

            Console.ReadKey();
        }
コード例 #7
0
        static void Main(string[] args)
        {
            // Que problema ele resolve?
            // Anexar responsabilidades adicionais a um objeto dinamicamente.
            // Decoradores fornecem uma alternativa flexível para subclasse para ampliar a
            // funcionalidade.

            //Fontes:
            // https://sourcemaking.com/design_patterns/decorator
            // https://www.youtube.com/watch?v=nk9Z1vwO3RI


            IceCream iceCream = new Chocolate();

            iceCream = new Sprinkle(iceCream);
            iceCream = new Fudge(iceCream);

            Console.WriteLine(iceCream.Cost());
            Console.ReadKey();
        }
コード例 #8
0
        public static void CallDecoratorPattern()
        {
            IceCream iceCreamChocolate = new Chocolate();

            iceCreamChocolate = new Sprinkle(iceCreamChocolate);
            iceCreamChocolate = new Fudge(iceCreamChocolate);

            Console.WriteLine("Chocolate Ice Cream with Sprinkles, Fudge = " + iceCreamChocolate.Cost().ToString("C"));

            IceCream iceCreamVanilla = new Vanilla();

            iceCreamVanilla = new Sprinkle(iceCreamVanilla);
            iceCreamVanilla = new Fudge(iceCreamVanilla);
            iceCreamVanilla = new Caramel(iceCreamVanilla);
            iceCreamVanilla = new WhipCream(iceCreamVanilla);
            iceCreamVanilla = new WaffleCone(iceCreamVanilla);

            Console.WriteLine("Vanilla Ice Cream with Sprinkles, Fudge, Caramel, WhipCream, WaffleCone = " + iceCreamVanilla.Cost().ToString("C"));

            Console.ReadKey();
        }
コード例 #9
0
    void OnTriggerEnter2D(Collider2D collider)
    {
        Sprinkle sprinkle = collider.gameObject.GetComponent <Sprinkle>();

        if (sprinkle != null)
        {
            GameObject.Find("GUI").BroadcastMessage("addScore", sprinkle.getPointWorth());
            AudioSource noise = GetComponents <AudioSource>()[0];
            noise.Play();

            var sprinkleSprite = sprinkle.gameObject.GetComponent <SpriteRenderer>().sprite;
            gameObject.BroadcastMessage("addSprinklesToDonut", sprinkleSprite);

            Destroy(sprinkle.gameObject);
        }

/*
 *              Sugarpile sugarpile = collider.gameObject.GetComponent<Sugarpile>();
 *              if (sugarpile != null) {
 *                      //AudioSource noise = GetComponents<AudioSource>()[0];
 *                      //noise.Play();
 *
 *                      //var sugarpileSprite = sugarpile.gameObject.GetComponent<SpriteRenderer>().sprite;
 *                      //gameObject.BroadcastMessage("addSugarPileToDonut", sugarpileSprite);
 *
 *                      Debug.Log("Hit sugarpile");
 *                      slowedDownAmount = slowedDownAmountTotal = sugarpile.getSlowDownModifier();
 *                      slowedDownCooldown = slowedDownTimeTotal = sugarpile.getSlowDownTimeLength();
 *                      Destroy(sugarpile.gameObject);
 *              }
 */
        Nut nut = collider.gameObject.GetComponent <Nut> ();

        if (nut != null)
        {
            pickupNut(nut);
        }

        CreamFilling creamFilling = collider.gameObject.GetComponent <CreamFilling>();

        if (creamFilling)
        {
            pickupCreamFilling(creamFilling);
        }

        DonutEnemy de = collider.gameObject.GetComponent <DonutEnemy>();

        if (de != null)
        {
            getHitByDonutEnemy(de);
            //if (de.getSize() > transform.localScale.x) { // its bigger, player loses
            //GameObject.Find("GUI").GetComponentInChildren<InGameStates>().loseGame();
            //GetComponent<Controls>().setGameOver();

            /*} else { // its smaller, player gets bigger
             *      float newSize = transform.localScale.x + sizePerEat;
             *      transform.localScale = new Vector3(newSize, newSize, 1.0f);
             *      GameObject.Find("GUI").BroadcastMessage("addScore", 10);
             *      Destroy(de.gameObject);
             * }*/
        }
    }