Exemplo n.º 1
0
        public static void RenderDebugCross(Size cameraSize)
        {
            var a              = cameraSize.Width / 2;
            var b              = cameraSize.Height / 2;
            var verticalEdge   = new Edge(a, 0, a, cameraSize.Height);
            var horizontalEdge = new Edge(0, b, cameraSize.Width, b);

            EdgeRenderer.Draw(verticalEdge, ShapePen, gfxCamera);
            EdgeRenderer.Draw(horizontalEdge, ShapePen, gfxCamera);
        }
Exemplo n.º 2
0
        public KinectCanvas(KinectSensor kinectSensor, Size displaySize)
        {
            this.kinectSensor = kinectSensor;
            this.mapper       = new KinectMapper(kinectSensor);
            this.displaySize  = displaySize;

            this.drawingGroup       = new DrawingGroup();
            this.backgroundRenderer = new BackgroundRenderer(displaySize);
            this.skeletonRenderer   = new SkeletonRenderer(displaySize);
            this.jointsRenderer     = new JointsRenderer(displaySize);
            this.handsRenderer      = new HandsRenderer(displaySize);
            this.edgeRenderer       = new EdgeRenderer(displaySize);
        }
Exemplo n.º 3
0
 public static void RenderEdgeOnTiles(Edge edge)
 {
     EdgeRenderer.Draw(edge, RaytracingEdgePen, gfxLevelMap);
 }
Exemplo n.º 4
0
 public static void RenderEdgeOnCamera(Edge edge, Vector cameraPosition)
 {
     EdgeRenderer.Draw(edge, cameraPosition, RaytracingEdgePen, gfxCamera);
 }
Exemplo n.º 5
0
 public static void RenderEdgeOnCamera(Edge edge)
 {
     EdgeRenderer.Draw(edge, RaytracingEdgePen, gfxCamera);
 }
Exemplo n.º 6
0
    // Update is called once per frame
    void Update()
    {
        if (isLocalPlayer && player != null && (player.state == PlayerState.BUILDING || player.state == PlayerState.SETUP))
        {
            Ray        ray = GameManager.Instance.mainCamera.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;
            bool       hitSuccess = Physics.Raycast(ray, out hit, 100f);

            if (hitSuccess)
            {
                // Inspection
                if (hit.collider.gameObject.GetComponent <Inspectable>() != null)
                {
                    GameManager.Instance.guiManager.inspectionText.text = hit.collider.gameObject.GetComponent <Inspectable>().inspectionText;
                }
                else
                {
                    GameManager.Instance.guiManager.inspectionText.text = "";
                }

                // Should only be able to place during placement phase on this player's turn.
                if (GameManager.Instance.IsPlayerTurn(player))
                {
                    // Placement
                    BoardHandler boardHandler = GameManager.Instance.GetGame().GetBoardHandler();

                    VertexRenderer vertex = hit.collider.gameObject.GetComponent <VertexRenderer>();
                    EdgeRenderer   edge   = hit.collider.gameObject.GetComponent <EdgeRenderer>();

                    // Show valid placement option if possible
                    if (vertex != null || edge != null)
                    {
                        // Settlement
                        if (vertex != null)
                        {
                            // Show ghost for settlement
                            if (boardHandler.CanPlaceSettlement(player, vertex.col, vertex.row, vertex.vertexSpec))
                            {
                                UpdatePlacementGhost(settlementPrefab, vertex.transform);
                                if (Input.GetKeyDown(GameManager.PLACEMENT_KEY))
                                {
                                    playerController.CmdPlaceSettlement(vertex.col, vertex.row, (int)vertex.vertexSpec);
                                }
                            }
                            else if (boardHandler.CanPlaceCity(player, vertex.col, vertex.row, vertex.vertexSpec))
                            {
                                UpdatePlacementGhost(cityPrefab, vertex.transform);
                                if (Input.GetKeyDown(GameManager.PLACEMENT_KEY))
                                {
                                    playerController.CmdPlaceCity(vertex.col, vertex.row, (int)vertex.vertexSpec);
                                }
                            }
                        }

                        // Road
                        if (edge != null)
                        {
                            // Show ghost for road
                            if (boardHandler.CanPlaceRoad(player, edge.col, edge.row, edge.edgeSpec))
                            {
                                UpdatePlacementGhost(roadPrefab, edge.transform);
                                if (Input.GetKeyDown(GameManager.PLACEMENT_KEY))
                                {
                                    playerController.CmdPlaceRoad(edge.col, edge.row, (int)edge.edgeSpec);
                                }
                            }
                        }
                    }
                }

                else
                {
                    DestroyPlacementGhost();
                }
            }
        }

        if (player != null)
        {
            int playerIndex = GameManager.Instance.GetGame().GetPlayerIndexById(player.GetId());
            color = GameManager.Instance.playerColors[playerIndex];
            transform.position = GameManager.Instance.playerPositions[playerIndex];
            transform.rotation = Quaternion.Euler(GameManager.Instance.playerRotations[playerIndex]);
        }
    }