Inheritance: MonoBehaviour
Example #1
0
    /// <summary>
    /// Заполняем матрицу путей
    /// </summary>
    void BFS()
    {
        Stack <PointController> que = new Stack <PointController>();

        //Карта вершин
        bool[] map = new bool[countPoints];
        //Пишем , что пока мы не были не в одной вершине
        for (int i = 0; i < countPoints; i++)
        {
            map[i] = false;
        }

        que.Push(startPoint);
        while (que.Count > 0)
        {
            PointController top = que.Pop();
            //Если в этой вершине мы еще не были
            if (!map[top.num])
            {
                //Ставим что мы в ней были
                map[top.num]     = true;
                mapsObj[top.num] = top;
                //Заполняем всех  соседей и заполняем матрицу путей
                foreach (Points p in top.Neightboring)
                {
                    que.Push(p.point);
                    matrix[top.num, p.point.num] = p.dist;
                }
            }
        }
    }
Example #2
0
    private void OnInitPointController(PointController _controller)
    {
        string name = "";

        switch (_controller.type)
        {
        case EnumPointType.Player:
            return;

        case EnumPointType.Point:
            name = ConstantsPrefabName.RADAR_POINT;
            break;

        case EnumPointType.Enemy:
            name = ConstantsPrefabName.RADAR_SPACESHIP;
            break;
        }

        var markerObj = Instantiate(ResourcesManager.LoadPrefab(ConstantsResourcesPath.ELEMENTS_UI, name), markersParent);

        markers.Add(new RadarMarker()
        {
            marker = markerObj.transform, controller = _controller
        });
    }
Example #3
0
    private void OnInitPointController(PointController _controller)
    {
        var prefName = "";

        switch (_controller.type)
        {
        case EnumPointType.Player:
            prefName = ConstantsPrefabName.MARKER_PLAYER;
            break;

        case EnumPointType.Point:
            prefName = ConstantsPrefabName.MARKER_POINT;
            break;

        case EnumPointType.Enemy:
            prefName = ConstantsPrefabName.MARKER_ENEMY;
            break;
        }

        var markerObj = Instantiate(ResourcesManager.LoadPrefab(ConstantsResourcesPath.ELEMENTS_UI, prefName), markersPlace);
        var markerScr = markerObj.GetComponent <UIMarker>();

        markers.Add(markerScr);
        markerScr.Initialize(_controller, markersParent, screenCoef);
    }
Example #4
0
 private void HandleOnUpdateHitPoints(PointController _controller)
 {
     if (_controller == pointController)
     {
         UpdateShieldPoints();
     }
 }
        public async Task PostPoint_Should_ReturnOk()
        {
            // Arrange
            var adapterMock = new Mock <ITodoPointAdapter>();
            var loggerMock  = new Mock <ILogger <PointController> >();

            var testPoint = new TodoPointViewModel
            {
                PointId     = 3,
                TodoId      = 2,
                Description = "test point 3"
            };

            adapterMock.Setup(x => x.AddPoint(testPoint)).Returns(Task.FromResult(testPoint));
            var controller = new PointController(adapterMock.Object, loggerMock.Object);

            // Act
            var result = await controller.PostPoint(testPoint);

            // Assert
            var okResult    = Assert.IsAssignableFrom <OkObjectResult>(result);
            var returnValue = Assert.IsAssignableFrom <TodoPointViewModel>(okResult.Value);

            Assert.Equal(testPoint.Description, returnValue.Description);
        }
    void Start()
    {
        point = GetComponent <PointController>();

        RefreshVisual();
        //Highlight(Color.cyan);
    }
Example #7
0
 private void HandlerOnShowMarkerSubtems(PointController _controller)
 {
     if (_controller != pointController)
     {
         HideSubitemsAndDeselect();
     }
 }
        public async Task DeleteAllPoints_Should_ReturnOk()
        {
            // Arrange
            var adapterMock = new Mock <ITodoPointAdapter>();
            var loggerMock  = new Mock <ILogger <PointController> >();

            var todoIdForDeletePoints   = 1;
            var testPoints              = GetTestPoints();
            var testTodos               = GetTestTodos(testPoints);
            int countPointsBeforeDelete = testPoints.Count;

            adapterMock.Setup(x => x.DeletePointsByTodoId(todoIdForDeletePoints))
            .Callback(() => testPoints.Clear());

            var controller = new PointController(adapterMock.Object, loggerMock.Object);

            // Act
            var result = await controller.DeleteAllPoints(todoIdForDeletePoints);

            var todo = testTodos.Where(x => x.TodoId == todoIdForDeletePoints).FirstOrDefault();

            // Assert
            var actionResult = Assert.IsAssignableFrom <IActionResult>(result);

            Assert.IsAssignableFrom <OkResult>(actionResult);
            Assert.Equal(2, countPointsBeforeDelete);
            Assert.Empty(todo.Points);
        }
Example #9
0
 public PointControllerIT()
 {
     controller = new PointController();
     _tu        = new TestingUtils();
     _db        = _tu.CreateDataBaseContext();
     _ss        = new SessionService(_db);
 }
Example #10
0
        public static bool CheckHit(ItemData _weapon, PointController _target, float _distance)
        {
            bool result = false;

            //Подготовка к просчету
            var accuracy = _weapon.GetSelfParameter(EnumParameters.accuracy);

            var optimalSize = _weapon.GetSelfParameter(EnumParameters.optimalSizeType);
            var targetSize  = (int)_target.destructible.SizeType;

            var optimalDistance = _weapon.GetSelfParameter(EnumParameters.optimalDistance);
            var targetDistance  = _distance;

            var lerpManeuver = _target.destructible.GetLerpManeuver();

            //Вероятность попадания
            var typesizeMod = targetSize - optimalSize;
            var distanceMod = GetHitChanceModDistance(targetDistance, optimalDistance);
            var chance      = (accuracy + typesizeMod - lerpManeuver / 2.0f) * distanceMod * 10.0f;

            chance = Mathf.Clamp(chance, 1.0f, 100.0f);

            //Результат
            var random = Random.Range(0.0f, 100.0f);

            result = random <= chance;

            //Debug.Log(string.Format("{0} + {1} - {2}/2.0", accuracy, typesizeMod, lerpManeuver));
            Debug.Log(string.Format("[DamageUtility] Chance: {0} (distMod:{1})/ Result: {2}", chance, distanceMod, result));

            return(result);
        }
        public async Task DeletePoint_Should_ReturnOk()
        {
            // Arrange
            var adapterMock = new Mock <ITodoPointAdapter>();
            var loggerMock  = new Mock <ILogger <PointController> >();

            var testPoint = new TodoPointViewModel
            {
                PointId     = 2,
                TodoId      = 1,
                Description = "test point 2"
            };
            var testPoints = GetTestPoints();

            adapterMock.Setup(x => x.DeletePoint(It.IsAny <int>()))
            .Callback(() => testPoints.Remove(testPoints.Where(x => x.PointId == testPoint.PointId).FirstOrDefault()));

            var controller = new PointController(adapterMock.Object, loggerMock.Object);

            // Act
            var result = await controller.DeletePoint(testPoint.PointId, testPoint);

            // Assert
            var actionResult = Assert.IsAssignableFrom <ActionResult <TodoPointViewModel> >(result);
            var returnValue  = Assert.IsAssignableFrom <OkResult>(actionResult.Result);

            Assert.Single(testPoints);
        }
        public async Task PutPoint_Should_ReturnOk()
        {
            // Arrange
            var adapterMock = new Mock <ITodoPointAdapter>();
            var loggerMock  = new Mock <ILogger <PointController> >();

            var testPoint = new TodoPointViewModel
            {
                PointId     = 2,
                TodoId      = 1,
                Description = "Updated"
            };
            var testPoints = GetTestPoints();

            adapterMock.Setup(x => x.UpdatePoint(It.IsAny <TodoPointViewModel>()))
            .Callback(() =>
            {
                var point         = testPoints.Where(x => x.PointId == testPoint.PointId).FirstOrDefault();
                point.Description = testPoint.Description;
            });

            var controller = new PointController(adapterMock.Object, loggerMock.Object);

            // Act
            var result = await controller.PutPoint(testPoint.PointId, testPoint);

            var pointAfterUpdate = testPoints.Where(x => x.PointId == testPoint.PointId).FirstOrDefault();

            // Assert
            var okResult    = Assert.IsAssignableFrom <OkObjectResult>(result);
            var returnValue = Assert.IsAssignableFrom <TodoPointViewModel>(okResult.Value);

            Assert.Equal(testPoint.Description, pointAfterUpdate.Description);
            Assert.Equal(2, testPoints.Count);
        }
Example #13
0
    /// <summary>
    /// 绘制导线
    /// </summary>
    public void DrawLine()
    {
        Vector3 s      = m_line.StartLineLeap.Link != null ? m_line.StartLineLeap.Link.transform.position : m_line.StartLineLeap.transform.position;
        Vector3 e      = m_line.EndLineLeap.Link != null ? m_line.EndLineLeap.Link.transform.position : m_line.EndLineLeap.transform.position;
        bool    change = CheckCtrlChange(s, m_MidCtrl.transform.position, e);

        if (m_lpoint.Count > 0)
        {
            if (change == true)
            {
                Vector3[] resultList = PointController.PointList(pathList, pointnum);
                for (int i = 0; i < resultList.Length; i++)
                {
                    if (i == 0 && m_line.StartLineLeap.Link != null)
                    {
                        m_lpoint[0] = m_line.StartLineLeap.Link.transform.position;
                    }
                    else if (i == 0 && m_line.StartLineLeap.Link == null)
                    {
                        m_lpoint[0] = m_line.StartLineLeap.transform.position;
                    }
                    else
                    {
                        m_lpoint[i] = resultList[i];
                    }
                }
                if (m_line.EndLineLeap.Link != null)
                {
                    m_lpoint[resultList.Length - 1] = m_line.EndLineLeap.Link.transform.position;
                }
                else
                {
                    m_lpoint[resultList.Length - 1] = m_line.EndLineLeap.transform.position;
                }
                SetColloderPosition();
            }
        }
        else
        {
            Vector3[] resultList = PointController.PointList(pathList, pointnum);
            for (int i = 0; i < resultList.Length; i++)
            {
                m_lpoint.Add(resultList[i]);
            }
            InitCollider();
            m_fLineMiniDistance = U3DUtil.GetVectorListDistance(m_lpoint);
        }
        //if (CheckMiniDistance())
        //{
        //    return;
        //}
        //循环100遍来绘制贝塞尔曲线每个线段
        for (int i = 0; i < m_lpoint.Count; i++)
        {
            Vector3 vec = m_lpoint[i];
            //把每条线段绘制出来 完成白塞尔曲线的绘制
            Line.SetPosition(i, vec);
            Line.SetWidth(fwidth, fwidth);
        }
    }
Example #14
0
    private void HandlerOnSetActiveTarget(PointController _controller, bool _selected)
    {
        if (_controller == pointController)
        {
            var player = PlayerController.Instance.player;

            //Проверка на нахождение в списке активных целей Игрока
            if (pointController.type == EnumPointType.Enemy)
            {
                //Запрет снятия выделения, если в активных целях (н-р, если цель была точкой маршрута)
                if (!_selected)
                {
                    if (!player.targets.Contains(pointController) && player.point != pointController.transform)
                    {
                        IsActive = _selected;
                    }
                }
                else
                {
                    IsActive = _selected;
                }
            }
            else
            {
                IsActive = _selected;
            }

            isCurrentTarget = player.targets.Contains(pointController);
            isCurrentPoint  = player.point == pointController.transform;
        }
    }
Example #15
0
 void Start()
 {
     failed = false;
     canvas = GameObject.Find(CANVAS);
     ifYouAreDrunkDontSingPanel = canvas.FindObject(DSP);
     ifYouAreDrunkDontSingPanel.SetActive(false);
     pointController = FindObjectOfType<PointController>();
 }
Example #16
0
 public void ExpandMushroom(PointController clickedTile)
 {
     selectedTile.NormalVoisin();
     selectedTile.Deselect();
     clickedTile.NormalVoisin();
     clickedTile.Deselect();
     clickedTile.gameObject.GetComponent <TileBehaviour>().Colonise(selectedTile.gameObject.GetComponent <TileBehaviour>());
 }
Example #17
0
 void Awake()
 {
     pointLabel   = GameObject.Find("PointLabel");
     combo        = 0;
     lastUpdate   = -2;
     currentPoint = 0;
     pool         = ObjectPool.Instance;
     instance     = this;
 }
Example #18
0
    void Die()
    {
        CancelInvoke();
        animator.SetTrigger("shouldDie");
        var point = 35;

        PointController.GetInstance().ShowPoint(point);
        Destroy(gameObject, 2.0f);
    }
Example #19
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.GetComponent <Collider>().CompareTag("cube"))
     {
         ChangeLight();
         Destroy(other.gameObject);
         PointController.AddPoint();
     }
 }
Example #20
0
    public virtual void DisableWeapon()
    {
        target = null;
        StopAllCoroutines();
        isActive           = false;
        isShootPreparation = false;

        effects.HideVFX();
    }
 public void OnCollisionEnter2D(Collision2D other)
 {
     if (other.gameObject.tag == requiredTag)
     {
         Destroy(other.gameObject);
         PointController.AddPoint(2);
         TextField.text = PointController.Score.ToString();
     }
 }
Example #22
0
#pragma warning restore 0649

    // Start is called before the first frame update
    private void Awake()
    {
        if (Instance == null)
        {
            Instance = this;
        }
        else
        {
            Destroy(gameObject);
        }
    }
Example #23
0
 public void RegisterPoint(PointController point, bool important)
 {
     if (!allPoints.Contains(point))
     {
         allPoints.Add(point);
         if (important)
         {
             allImportantPoints.Add(point);
         }
     }
 }
Example #24
0
    // Use this for initialization
    void Start()
    {
        if (instance == null)
        {
            instance = this;
        }
        currentTrail.name = "NewTrail";

        Debug.Log("Awake Point Controller");
        fCP.gameObject.SetActive(false);
    }
Example #25
0
 public bool IsCorrectPoint(PointController point)
 {
     if (point.GetNumber().Equals(pointsInRound[0].GetNumber()))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
        public void IndexActionMethod_ReturnsAViewResult()
        {
            // arrange
            var rep        = new Mock <IRepository <Point> >();
            var controller = new PointController(rep.Object);

            // act
            var result = controller.Index();

            // assert
            Assert.IsType <ViewResult>(result);
        }
Example #27
0
    public void MovePlayer(PointController newPos)
    {
        if (currentPlayerMoved)
        {
            return;
        }

        playersPositions[currentPlayer] = newPos;
        currentPlayer.GetGameObject().transform.position = newPos.gameObject.transform.position;

        currentPlayerMoved = true;
    }
Example #28
0
 protected virtual void GetTarget()
 {
     if (spaceship.targets.Count < 1)
     {
         DisableWeapon();
     }
     else
     {
         //TODO
         target = spaceship.targets[0];
     }
 }
Example #29
0
 static public int constructor(IntPtr l)
 {
     try {
         PointController o;
         o = new PointController();
         pushValue(l, true);
         pushValue(l, o);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
Example #30
0
    // Returns a list of disconnected tiles from the source given a cut
    // uses the list of mushrooms above as a way to know what is now no longer connected to the source
    public static List <GameObject> Disconnect()
    {
        if (listMushrooms.Count == 0)
        {
            throw new System.Exception("Empty mushroom list");
        }

        Debug.Log("Disconnect begin");
        // get all nodes assuming they are not visited

        // DFS on all the nodes
        Stack <GameObject> stack = new Stack <GameObject>();

        stack.Push(listMushrooms[0]); // source

        while (stack.Count != 0)
        {
            Debug.Log("Looping in Disconnect");
            GameObject      element = stack.Pop();
            PointController pc      = element.GetComponent <PointController>();
            pc.visited = true;

            foreach (GameObject neighbor in pc.ListeVoisin)
            {
                // push only if it is a mushroom tile
                TileBehaviour tb = neighbor.GetComponent <TileBehaviour>();
                if (tb.type == TileBehaviour.Type.MUSHROOM)
                {
                    stack.Push(neighbor);
                }
            }
        }

        // gather all unvisited nodes and set all nodes back to unvisited
        List <GameObject> disconnected = new List <GameObject>();

        //foreach (GameObject node in listMushrooms)
        //{
        //    PointController pc = node.GetComponent<PointController>();
        //    if (pc.visited == false)
        //    {
        //        disconnected.Add(node);
        //    }
        //    else
        //        pc.visited = false;
        //}


        Debug.Log("Disconnect end");
        return(disconnected);
    }
    private void OnTriggerEnter(Collider other)
    {
        //zmiana koloru swiatla
        if (other.gameObject.layer == collectiblesLayer)
        {
            ChangeLight(other);
        }

        //usuniecie doknietego obiektu
        Destroy(other.gameObject);

        //dodanie punktu
        PointController.AddPoint();
    }
Example #32
0
    void Start()
    {
        canvas = GameObject.Find("Canvas");
        pointController = FindObjectOfType<PointController>();

        int choosenCharacterIdx = SaveLoad.data.actualWeapon.id;
        string prefabNameToSearch = "Bottle" + choosenCharacterIdx;

        foreach (GameObject obj in bottlePrefabs)
        {
            if (obj.name == prefabNameToSearch)
            {
                objectToSpawn = obj;
                break;
            }
        }
    }