Exemplo n.º 1
0
    /// <summary>
    /// Count the fruits on the current playground.
    /// </summary>
    private void CountFruits()
    {
        // TODO: importend Number
        specificFruitCount = new int[Enum.GetNames(typeof(FruitColor)).Length - 1];
        fruitCount         = 0;

        GameObject[]    _fruits         = GameObject.FindGameObjectsWithTag("Fruit");
        FruitController fruitController = null;

        if (_fruits != null && _fruits.Length > 0)
        {
            // -- Set the total count --
            fruitCount = _fruits.Length;

            // -- Read the count specific --
            for (int i = 0; i < _fruits.Length; i++)
            {
                fruitController = _fruits[i].GetComponent <FruitController>();

                if (fruitController == null)
                {
                    Debug.Log(_fruits[i].name);
                }

                if (GetSpecificFruitIndex(fruitController.iD) > -1)
                {
                    specificFruitCount[GetSpecificFruitIndex(fruitController.iD)]++;
                }
            }
        }

        fruitController = null;
        _fruits         = null;
    }
Exemplo n.º 2
0
    /// <summary>
    /// Remove the fuit.
    /// </summary>
    public void RemoveFuit(FruitController controller)
    {
        controller.transform.parent              = controller.treeParent;
        controller.transform.localRotation       = Quaternion.identity;
        controller.transform.localScale          = controller.originalLocalScale;
        controller.spriteRender.sortingLayerName = controller.oldSortingLayer;

        Collider2D col2D = controller.GetComponent <Collider2D>();

        if (col2D != null)
        {
            col2D.enabled = true;
        }

        controller.inTheBasket = false;

        iTween.MoveTo(controller.gameObject, iTween.Hash(
                          "x", controller.originalPosition.x,
                          "y", controller.originalPosition.y,
                          "z", controller.originalPosition.z,
                          "time", 0.7f,
                          "easetype", "easeOutQuad",
                          "onComplete", "FruitIsComplete",
                          "onCompleteTarget", gameObject
                          ));

        RemoveFuit();
    }
Exemplo n.º 3
0
        public void Index_ReturnsIndexViewModelInViewResult()
        {
            var           controller = new FruitController();
            IActionResult result     = controller.View(2);

            Assert.IsType <OkObjectResult>(result);
        }
Exemplo n.º 4
0
    public FruitController GetRandomFruit()
    {
        FruitController fruitController = null;

        GameObject[] fruitsShuffles = Shuffle <GameObject>(fruits.ToArray());

        for (int i = 0; i < fruitsShuffles.Length; i++)
        {
            fruitController = fruitsShuffles[i].GetComponent <FruitController>();

            if (fruitController.inTheBasket)
            {
                fruitController = null;
            }
            else
            {
                break;
            }
        }

        if (fruitController != null)
        {
            Animator treeTopAnimator = TreeTop.GetComponent <Animator>();

            if (treeTopAnimator != null)
            {
                //Debug.Log("AFGJ");
                //treeTopAnimator.SetTrigger("Shake");
            }
        }

        return(fruitController);
    }
Exemplo n.º 5
0
        public async Task GetFruitById_ReturnsCorrectFruit_WhenFruitIsFound()
        {
            int fruitId = 1;

            var fruit = new Fruit
            {
                FruitId = fruitId,
                Name    = "Apple"
            };

            var mockRepo = new Mock <IFruitService>();

            mockRepo
            .Setup(t => t.GetFruitAsync(fruitId))
            .Returns(Task.FromResult(fruit));

            var controller = new FruitController(mockRepo.Object);

            // Act
            var result = await controller.GetAsync(fruitId : fruitId);

            // Assert
            var resultFruit = (result as OkObjectResult).Value as FruitViewModel;

            Assert.NotNull(resultFruit);

            Assert.Equal(resultFruit.Name, fruit.Name);
            Assert.Equal(resultFruit.FruitId, fruit.FruitId);
        }
Exemplo n.º 6
0
        public void UnitTestFruitList()
        {
            using (var context = new GroceryCartContext(DbOptionsFactory.DbContextOptions))
            {
                // 1. Create instance of fake repo using IProductRepository interface.
                var mockFruitsRepo = new Mock <IFruitsRepository>();

                // 2. Set up return data for ProductList() method.
                mockFruitsRepo.Setup(mpr => mpr.FruitsList())
                .Returns(new List <Fruits> {
                    new Fruits(), new Fruits(), new Fruits()
                });

                // 3. Define controller instance with mock repository instance.
                var controller = new FruitController(context, mockFruitsRepo.Object);

                // 4. Make your test Assertions
                // Check if it returns a view
                var result = Assert.IsType <ViewResult>(controller.Index());

                // Check that the model returned to the view is 'List<Product>'.
                var model = Assert.IsType <List <Fruits> >(result.Model);

                // Ensure count of objects is 3.
                int expected = 3;
                int actual   = model.Count;
                Assert.Equal(expected, actual);
            }
        }
Exemplo n.º 7
0
 public void NotifyNewFruit(FruitController fruit)
 {
     m_FruitProximities.Add(new FruitProximity
     {
         m_Fruit        = fruit,
         m_CanCloseMiss = false
     });
 }
Exemplo n.º 8
0
    /// <summary>
    /// Add the fruit.
    /// </summary>
    public void AddFruit(FruitController fruitSprite)
    {
        if (iterator > fruitsAnchor.Length - 1)
        {
            return;
        }

        fruitsReference[iterator] = fruitSprite;
        iterator = iterator < fruitsAnchor.Length - 1 ? iterator + 1 : iterator;
    }
Exemplo n.º 9
0
 public void IndexViewHas5Fruits()
 {
     using (var context = new GroceryCartContext(DbOptionsFactory.DbContextOptions))
     {
         var fruitsRepository = new FruitsRepo(context);
         var controller       = new FruitController(context, fruitsRepository);
         int expected         = 5;
         var viewResult       = Assert.IsType <ViewResult>(controller.Index());
         var model            = Assert.IsType <List <Fruits> >(viewResult.Model);
         int actual           = model.Count;
         Assert.Equal(expected, actual);
     }
 }
Exemplo n.º 10
0
    // Use this for initialization
    void Start()
    {
        //延迟播放封面动画
        Invoke("DelayPlayStartPic", m_fDelayTime);
        //将水果放到屏幕外部
        //<获取水果>
        m_vFruit = GameObject.FindGameObjectWithTag("Fruit");
        FruitController fc = m_vFruit.GetComponent <FruitController>();
        float           x  = GlobalHelper.GetVisibleXPos(m_vFruit.transform.position.z, fc.MR.bounds.size.x > fc.MR.bounds.size.y ? fc.MR.bounds.size.x * 2 : fc.MR.bounds.size.y * 2);

        m_vOrigPos = m_vFruit.transform.position;
        m_vFruit.transform.position = new Vector3(x, m_vOrigPos.y, m_vOrigPos.z);
        //<获取水果>
    }
Exemplo n.º 11
0
    private void Awake()
    {
        //加载登录水果
        FruitController fc = FruitController.InstantiateMyFruit(
            Vector3.zero, //位置
            Vector3.zero, //旋转值
            eFruitState.FruitState_Login, eFruitType.Fruit_Melon, SliceEvent);

        //加载刀片
        KnifeController.InstantiateMyKnife(fc.transform.position.z);

        //设置背景图片
        GlobalHelper.SetBackImg("LoginBackImg2");
    }
Exemplo n.º 12
0
    void InstantiateFruites()
    {
        eFruitType etype = eFruitType.Fruit_None;
        int        n     = Random.Range(1, 101);

        FruitController.SliceDelgate delSlice = FruitSliceEvent;

        if (n < 30)
        {
            etype = eFruitType.Fruit_Melon;
        }
        else if (n >= 30 && n < 60)
        {
            etype = eFruitType.Fruit_Lemon;
        }
        else if (n >= 60 && n < 90)
        {
            etype = eFruitType.Fruit_Pear;
        }
        else
        {
            delSlice = MissleSliceEvent;
            etype    = eFruitType.Fruit_Missle;
        }

        FruitController fc = FruitController.InstantiateMyFruit(
            transform.position, Vector3.zero,
            eFruitState.FruitState_Game,
            etype, delSlice);

        //注册坠球事件
        m_uigame.RegisterDropBall(fc);

        fc.RB.AddForce(
            new Vector3(
                Random.Range(-300, 300),
                Random.Range(600, 700),
                0
                )
            );

        fc.RB.AddTorque(
            new Vector3(
                Random.Range(0, 360),
                Random.Range(0, 360),
                Random.Range(0, 360)
                )
            );
    }
Exemplo n.º 13
0
    private void DestoryAllInRadius(Collider2D[] hitColliders)
    {
        foreach (var hitCollider in hitColliders)
        {
            //Objects to destory on screen
            FruitController     cupcake   = hitCollider.GetComponent <FruitController>();
            ParachuteController parachute = hitCollider.GetComponent <ParachuteController>();
            Path path = hitCollider.GetComponent <Path>();

            if (cupcake != null || parachute != null || path != null)
            {
                Destroy(hitCollider.gameObject, destroyDelayTime);
            }
        }
    }
Exemplo n.º 14
0
    /// <summary>
    /// Fruits the is complete.
    /// </summary>
    private void FruitIsComplete()
    {
        if (resetFruit)
        {
            _curResetFruit.Leave();
        }

        _curResetFruit = null;
        resetFruit     = false;

        /*
         *      if(!gameController.GameIsFinished)
         *              gameController.DiceController.AllowToRoll(true);
         */
    }
Exemplo n.º 15
0
        public async Task GetFruitById_ReturnsNotFound_WhenFruitIsNotFound()
        {
            int fruitId = 1;

            var mockRepo = new Mock <IFruitService>();

            mockRepo
            .Setup(t => t.GetFruitAsync(fruitId))
            .Returns(Task.FromResult <Fruit>(null));

            var controller = new FruitController(mockRepo.Object);

            // Act
            var result = await controller.GetAsync(fruitId : fruitId);

            // Assert
            Assert.IsType <NotFoundResult>(result);
        }
Exemplo n.º 16
0
    void OnTriggerEnter(Collider other)
    {
        FruitController fruit = other.GetComponent <FruitController>();

        if (fruit)
        {
            for (int i = 0; i < m_FruitProximities.Count; ++i)
            {
                if (m_FruitProximities[i].m_Fruit == fruit)
                {
                    m_FruitProximities.RemoveAt(i);
                    break;
                }
            }

            m_ResourceManager.Consume(fruit);
        }
    }
Exemplo n.º 17
0
    public void HighlightFruits(bool status)
    {
        FruitController curFruit = null;

        for (int i = 0; i < fruits.Count; i++)
        {
            curFruit = fruits[i].GetComponent <FruitController>();

            if (status)
            {
                curFruit.HighlightFruit();
            }
            else
            {
                curFruit.UnHighlightFruit();
            }
        }
    }
Exemplo n.º 18
0
        public async Task DeleteFruitById_ReturnsOkResult_WhenFruitIsDeleted()
        {
            int fruitId = 1;

            var mockRepo = new Mock <IFruitService>();

            mockRepo
            .Setup(t => t.DeleteFruitAsync(fruitId))
            .Returns(Task.CompletedTask);

            var controller = new FruitController(mockRepo.Object);

            // Act
            var result = await controller.DeleteAsync(fruitId : fruitId);

            // Assert
            Assert.IsType <OkResult>(result);
        }
Exemplo n.º 19
0
    public void StartAppear(FruitController fruitController)
    {
        transform.position = fruitController.transform.position + offset;

        spriteRenderer.sortingLayerName = fruitController.spriteRender.sortingLayerName;
        spriteRenderer.sortingOrder     = fruitController.spriteRender.sortingOrder - 1;
        spriteRenderer.enabled          = true;

        /*
         * iTween.MoveTo(gameObject, iTween.Hash(
         *  "position", (transform.position + offset) + (Vector3.right * 0.2f * (Random.Range(0, 2) == 0 ? 1 : -1)),
         *  "time", time,
         *  "delay", 0.0f,
         *  "easetype", easeType,
         *  "onComplete", "AppearComplete",
         *  "onCompleteTarget", gameObject
         * ));
         */
    }
Exemplo n.º 20
0
    protected void GrapFruitFromBasket()
    {
        basketController.RealShake(Vector3.forward * 5, 0.5f);

        if (Time.time < nextTimeFruitDrop)
        {
            return;
        }

        FruitController lastFruit = basketController.GetLastFruit();

        if (lastFruit != null)
        {
            gameController.RemoveFruitFromTheBasket(lastFruit.iD);
            basketController.RemoveFuit(lastFruit);
        }

        nextTimeFruitDrop = Time.time + fruitDropDelayTime;
    }
Exemplo n.º 21
0
    private void OnTriggerStay2D(Collider2D collision)
    {
        isTriggerd = true;

        if (Input.GetMouseButtonDown(0))
        {
            Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);

            RaycastHit2D hit = Physics2D.Raycast(mousePos, Vector2.zero);

            if (hit.collider != null)
            {
                if (hit.collider.gameObject.name == gameObject.name)
                {
                    FruitController fruit = collision.gameObject.GetComponent <FruitController>();

                    if (fruit == null)
                    {
                        return;
                    }

                    fruit.Die();
                    AwardScore(fruit);

                    ISpecialPower special = collision.gameObject.GetComponent <ISpecialPower>();

                    if (special != null)
                    {
                        special.InvokeSpecialPower(gameObject.GetComponent <CatcherController>());
                    }
                    else
                    {
                        RightClick();
                    }
                    Destroy(collision.gameObject, dieDelayTime);
                }
            }
        }

        //isHandleFruit = false;
        isTriggerd = false;
    }
Exemplo n.º 22
0
    public void Consume(FruitController fruit)
    {
        int points = fruit.Points;

        Game.Instance.AddPoints(points);
        fruit.Explode();

        if (points > 0)
        {
            Game.Instance.AddCombo();
            GoodFruitSpawner.SpawnFruit();
            AudioManager.Instance.Play(AudioManager.AudioBankType.GoodFruit);
        }
        else
        {
            Game.Instance.ResetCombo();
            BadFruitSpawner.Consume();
            AudioManager.Instance.Play(AudioManager.AudioBankType.BadFruit);
        }
    }
Exemplo n.º 23
0
        public async Task CreateFruit_ReturnsBadRequest_WhenFruitIsNotCreated()
        {
            var mockRepo = new Mock <IFruitService>();

            mockRepo
            .Setup(t => t.AddFruitAsync(It.IsAny <Fruit>()))
            .Throws(new ArgumentException());

            var controller = new FruitController(mockRepo.Object);

            // Act
            var result = await controller.CreateAsync(
                new FruitViewModel()
            {
                FruitId = 1,
                Name    = "Apple"
            });

            // Assert
            Assert.IsType <BadRequestResult>(result);
        }
Exemplo n.º 24
0
        public async Task CreateFruit_ReturnsOkResult_WhenFruitIsCreated()
        {
            var mockRepo = new Mock <IFruitService>();

            mockRepo
            .Setup(t => t.AddFruitAsync(It.IsAny <Fruit>()))
            .Returns(Task.CompletedTask);

            var controller = new FruitController(mockRepo.Object);

            // Act
            var result = await controller.CreateAsync(
                new FruitViewModel()
            {
                FruitId = 1,
                Name    = "Apple"
            });

            // Assert
            Assert.IsType <OkResult>(result);
        }
    void OnTriggerEnter2D(Collider2D other)
    {
        if (other.gameObject.tag != Const.RELEASED_FRUIT_TAG)
        {
            Destroy(other.gameObject);
            return;
        }

        FruitController fc = other.gameObject.GetComponent <FruitController>();

        if (fc.getFruitName() == this.fruitName)
        {
            TextStreamer.Instance.WriteFile("BascketHitAreaController: SUCCESS, " + this.fruitName + "\n");
            this.bascketHitManager.GetFruit();
        }
        else
        {
            TextStreamer.Instance.WriteFile("BascketHitAreaController: FAILED, " + this.fruitName + "\n");
            this.bascketHitManager.GetIncorrectFruit();
        }

        Destroy(other.gameObject);
    }
Exemplo n.º 26
0
        public async Task GetFruitById_ReturnsOkResult_WhenFruitIsFound()
        {
            int fruitId = 1;

            var fruit = new Fruit
            {
                FruitId = fruitId,
                Name    = "Apple"
            };

            var mockRepo = new Mock <IFruitService>();

            mockRepo
            .Setup(t => t.GetFruitAsync(fruitId))
            .Returns(Task.FromResult(fruit));

            var controller = new FruitController(mockRepo.Object);

            // Act
            var result = await controller.GetAsync(fruitId : fruitId);

            // Assert
            Assert.IsType <OkObjectResult>(result);
        }
Exemplo n.º 27
0
 void Awake()
 {
     instance = this;
 }
Exemplo n.º 28
0
 private float GetFruitDistanceSq(FruitController fruit)
 {
     return((fruit.transform.position - transform.position).sqrMagnitude);
 }
Exemplo n.º 29
0
 void Awake()
 {
     current = this;
 }
Exemplo n.º 30
0
    private int CrashAdjacent(int x, int y, FruitController fruit)
    {
        int crashCount = 0;

        crashCount += CrashCheck(x + 1, y, fruit.color);
        crashCount += CrashCheck(x - 1, y, fruit.color);
        crashCount += CrashCheck(x, y + 1, fruit.color);
        crashCount += CrashCheck(x, y - 1, fruit.color);

        return crashCount;
    }
Exemplo n.º 31
0
 private void Start()
 {
     s_fruitController = this;
 }
Exemplo n.º 32
0
    private int CrashCheck(int x, int y, FruitController.FruitColor color)
    {
        int crashCount = 0;

        if (x >= 0 && y >= 0 && x < FieldCellWidth && y < FieldCellHeight && playfield[x, y] != null) {
            FruitController fruit = playfield[x, y];
            if (fruit.crashing) {
            }
            else if (fruit.color == color) {
                fruit.crashing = true;
                crashCount = 1 + CrashAdjacent(x, y, fruit);
            }
        }

        return crashCount;
    }