Esempio n. 1
0
    private void Spawn(KritterData kritter)
    {
        Kritter newKritter = Instantiate(_kritterPrefab, GameManager.Current.KorralCollider.transform);

        newKritter.name = kritter.name;
        newKritter.Data = kritter;
        newKritter.transform.position = GameManager.Current.GetLegalKritterPosition();

        _kritters.Add(newKritter);
    }
Esempio n. 2
0
        public static void AssertKritterKillsPlayerRight()
        {
            /*TEST 2:  Player vs Kritter Right*/
            Player player = new Player();

            player.Body.BottomCenter = new Vector2(300, 300);
            IGameObject testObj = new Kritter();

            testObj.Body.BottomCenter = new Vector2(290, 300);

            Assert.IsTrue(player.State is DKDeadState);
        }
Esempio n. 3
0
        public static void AssertPlayerKillsKritter()
        {
            /*TEST 2:  Player vs Kritter*/
            Player player = new Player();

            player.Body.BottomCenter = new Vector2(300, 300);
            IGameObject testObj = new Kritter();

            testObj.Body.BottomCenter = new Vector2(300, 310);

            Kritter testConcrete = (Kritter)testObj;

            Assert.AreNotEqual(testConcrete.Body.Velocity.Y, 0);
        }
Esempio n. 4
0
    void Update()
    {
        if (!GameOver)
        {
#if UNITY_EDITOR
            if (Input.GetKeyDown(KeyCode.Space))
            {
                AddFailure();
            }
#endif
            if (Input.GetMouseButtonDown(1))
            {
                SetNeedMode(KritterNeeds.None);
            }
            if (!EventSystem.current.IsPointerOverGameObject() && Input.GetMouseButtonDown(0))
            {
                var hits = Physics2D.RaycastAll(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);

                foreach (var hit in hits)
                {
                    if (hit.transform.CompareTag("Kritter"))
                    {
                        _kritter = hit.transform.GetComponent <Kritter>();
                        if (_currentNeedMode == KritterNeeds.None)
                        {
                            _kritter.StartDrag();
                            break;
                        }
                        else
                        {
                            if (_kritter.FillNeed(_currentNeedMode))
                            {
                                SetNeedMode(KritterNeeds.None);
                                break;
                            }
                        }
                    }
                }
            }
            if (Input.GetMouseButtonUp(0))
            {
                if (_kritter != null)
                {
                    _kritter.EndDrag();
                    _kritter = null;
                }
            }
        }
    }
Esempio n. 5
0
    public Kritter GetNearestKritterToFight(Kritter instigator)
    {
        float   shortestDistance = float.MaxValue;
        Kritter nearest          = null;

        foreach (Kritter k in _kritters)
        {
            if ((instigator.IsStarving || instigator.Type != k.Type) && instigator != k)
            {
                float dist = Vector3.Distance(instigator.transform.position, k.transform.position);

                if (dist < shortestDistance)
                {
                    shortestDistance = dist;
                    nearest          = k;
                }
            }
        }

        return(nearest);
    }
Esempio n. 6
0
 public Kritter GetNearestKritterToFight(Kritter instigator)
 {
     return(KritterManager.GetNearestKritterToFight(instigator));
 }