Exemple #1
0
 public LinkRender(NodeCollectionStorage <FullConnectedGraph> nodeCollectionStorage, Canvas canvas, LineCreator lineCreator)
 {
     _nodeCollectionStorage = nodeCollectionStorage;
     _canvas = canvas;
     _nodeCollectionStorage.CollectionChanged += NodeCollectionChangerHandler;
     _lineCreator = lineCreator;
 }
    void SetupLineRenderer(Vector3[] circleVertices)
    {
        LineCreator lineCreator = this.GetComponent <LineCreator>();

        lineCreator.SetPoints(circleVertices);
        lineCreator.AddPoint(circleVertices[0]);
    }
Exemple #3
0
 void Awake()
 {
     lineCreator     = GetComponent <LineCreator>();
     material        = GetComponent <Renderer>().material;
     materialColorID = Shader.PropertyToID("_MainColor");
     PlaySound();
 }
Exemple #4
0
    private void Start()
    {
        lineCreator = GetComponent <LineCreator>();

        lineRenderer         = GetComponent <LineRenderer>();
        lineRenderer.enabled = false;
    }
Exemple #5
0
    private void Start()
    {
        lineCreatorScript = GetComponent <LineCreator>();
        playerMovement    = GetComponent <PlayerMovement>();
        drawAndEditScript = drawAndEditBtn.GetComponent <DrawAndEdit>();

        collider2d = GetComponent <BoxCollider2D>();
    }
Exemple #6
0
 void OnEnable()
 {
     creator = (LineCreator)target;
     if (creator.lines == null)
     {
         creator.CreateLines();
     }
     lines = creator.lines;
 }
Exemple #7
0
        public void Reset()
        {
            ShapeTypesInfoMap.Clear();

            RegisterShapeType(LineCreator.getInstance(), StandardLineRenderer.getInstance());
            RegisterShapeType(RectangleCreator.getInstance(), StandardRectangleRenderer.getInstance());
            RegisterShapeType(SquareCreator.getInstance(), StandardRectangleRenderer.getInstance());
            RegisterShapeType(EllipseCreator.getInstance(), StandardEllipseRenderer.getInstance());
            RegisterShapeType(CircleCreator.getInstance(), StandardEllipseRenderer.getInstance());
            RegisterShapeType(TriangleCreator.getInstance(), StandardTriangleRenderer.getInstance());
        }
Exemple #8
0
    // Start is called before the first frame update
    void Start()
    {
        linkedPlanets    = new List <Planet>();
        myTransform      = gameObject.GetComponent <Transform>();
        textBoxGenerator = GameObject.Find("TextBoxGenerator");
        lc        = GameObject.Find("LineCreator").GetComponent <LineCreator>();
        tbgObject = textBoxGenerator.GetComponent <TextBoxGenerator>();
        //rg = gameObject.GetComponent<Rigidbody2D>();
        initY = myTransform.position.y;
        kVal  = Random.Range(50, 85);
        count = 0;

        StartCoroutine("sendCirclesAnim");
    }
    private void DeleteLineHelper(bool needANewLine)
    {
        LineCreator lineCreator = gameObject.GetComponent <LineCreator>();

        Destroy(GetComponent <Transform>().GetChild(1).gameObject);

        if (needANewLine)
        {
            lineCreator.lineExists = true;               // this means a new line can be made.
        }
        else
        {
            lineCreator.lineExists = false;
        }
    }
Exemple #10
0
    void Start()
    {
        state = GameState.PLAYING;

        inputManager = gameObject.AddComponent<InputManager>();
        spawner = gameObject.AddComponent<PlayerSpawner>();
        player = spawner.Spawn();

        cameraManager = new CameraManager();
        inkBucket = new InkBucket();
        lineCreator = LineCreator.Create(inkBucket);

        ballSpawner = new BallSpawner();
        ballSpawner.Initialize();

        CreateBackground();
    }
Exemple #11
0
 // Use this for initialization
 void Start()
 {
     GetPreviousStar();
     renderTextToPNG = FindObjectOfType <RenderTextToPNG>();
     if (!renderTextToPNG)
     {
         Debug.LogError("cannot find rendertexttopng!");
     }
     FindWinPanel();
     FindGoldPanel();
     maleBall = GameObject.FindObjectOfType <MaleBall>();
     maleBall.transform.GetComponent <Rigidbody2D>().isKinematic = true;
     femaleBall = GameObject.FindObjectOfType <FemaleBall>();
     femaleBall.transform.GetComponent <Rigidbody2D>().isKinematic = true;
     winPanel.SetActive(false);
     goldPanel.SetActive(false);
     CountPercentageAndDisplayUI();
     lineCreator = GameObject.FindObjectOfType <LineCreator>();
 }
Exemple #12
0
    private void Start()
    {
        lineCreator = FindObjectOfType <LineCreator>();

        int index = Random.Range(0, colorList.Count - 1);

        lineColor = colorList[index];


        while (index == lineCreator.prevColorIndex)
        {
            index     = Random.Range(0, colorList.Count - 1);
            lineColor = colorList[index];
        }


        lineRenderer.startColor    = lineColor;
        lineRenderer.endColor      = lineColor;
        lineCreator.prevColorIndex = index;



        //var random = new System.Random();

        //int index = random.Next(colorList.Count);

        //lineColor = colorList[index];


        //if (index == prevColorIndex)
        //{
        //    index = random.Next(colorList.Count);
        //    lineColor = colorList[index];

        //} else
        //{
        //    lineRenderer.startColor = lineColor;
        //    lineRenderer.endColor = lineColor;
        //}
    }
Exemple #13
0
            public static Creator Get(CadFigure.Types createType, CadFigure fig)
            {
                CadFigure.Types type = createType;

                Creator creator = null;

                switch (type)
                {
                case Types.LINE:
                    creator = new LineCreator(fig);
                    break;

                case Types.RECT:
                    creator = new RectCreator(fig);
                    break;

                case Types.POLY_LINES:
                    creator = new PolyLinesCreator(fig);
                    break;

                case Types.CIRCLE:
                    creator = new CircleCreator(fig);
                    break;

                case Types.POINT:
                    creator = new PointCreator(fig);
                    break;

                case Types.DIMENTION_LINE:
                    creator = new DimLineCreator(fig);
                    break;

                default:
                    break;
                }

                return(creator);
            }
Exemple #14
0
    private void Update()
    {
        if (!Input.GetKeyDown(KeyCode.G) && m_LineCreator != null)
        {
            return;
        }

        if (m_LineCreator != null)
        {
            m_LineCreator.Dispose();
        }

        LineCreator.TotalNumSeg = 0;

        var paramChanges = new List <LineCreator.ParamChangeEvent>();

        foreach (string line in File.ReadAllLines(INSTRUCTIONS_FILE_PATH))
        {
            var tokens = line.Split('|');
            Debug.Assert(tokens.Length == 5);
            for (int i = 0; i < tokens.Length; i++)
            {
                tokens[i] = tokens[i].Trim();
            }
            paramChanges.Add(new LineCreator.ParamChangeEvent
            {
                RelPos    = float.Parse(tokens[0]),
                ParamType = (ParamType)Enum.Parse(typeof(ParamType), tokens[1]),
                NewVal    = new Vector3(float.Parse(tokens[2]),
                                        float.Parse(tokens[3]),
                                        float.Parse(tokens[4]))
            });
        }

        m_LineCreator = new LineCreator(Vector3.zero, 10, 0, paramChanges);
        m_LineCreator.Generate();
    }
 void Start()
 {
     lineCreator = this.GetComponent <LineCreator>();
     this.SetDigit(0);
 }
Exemple #16
0
        private void Split()
        {
            if (m_Level == MAX_NUM_LEVELS)
            {
                Debug.logger.Log("MAX LEVEL REACHED");
                return;
            }

            /*
             * var dir2D = Random.insideUnitCircle;
             * var dir = new Vector3(dir2D.x, 0, dir2D.y);
             */

            float mean   = m_Params[ParamType.SPLIT_ANGLE_AVERAGE].x;
            float stdDev = m_Params[ParamType.SPLIT_ANGLE_STD_DEV].x;
            float phi    = Random.value * 2 * Mathf.PI;
            float theta  = SampleNormalDistribution(mean, stdDev) * Mathf.Deg2Rad;
            var   dir    = new Vector3(
                Mathf.Sin(theta) * Mathf.Cos(phi),
                Mathf.Cos(theta),
                Mathf.Sin(theta) * Mathf.Sin(phi));

            //var mat = Matrix4x4.TRS(Vector3.zero, Quaternion.LookRotation(dir), Vector3.one);
            //dir = mat * m_Params[ParamType.DIRECTION];

            //var rotation = Quaternion.LookRotation(m_Params[ParamType.DIRECTION], dir);

            var paramChanges = new List <ParamChangeEvent>();

            float distFactor = m_Params[ParamType.SPLIT_CHILD_TOTAL_DIST_FACTOR].x;

            foreach (var paramAndVal in m_Params)
            {
                var paramType = paramAndVal.Key;
                var val       = paramAndVal.Value;

                switch (paramType)
                {
                case ParamType.DIRECTION:
                    val = dir;
                    break;

                case ParamType.GENERAL_DIRECTION:
                    val = dir;
                    break;

                case ParamType.SPLIT_DISTANCE_AVERAGE:
                    val = m_Params[ParamType.SPLIT_DISTANCE_AVERAGE] * distFactor;
                    break;

                default:
                    break;
                }

                paramChanges.Add(new ParamChangeEvent
                {
                    RelPos    = 0,
                    ParamType = paramAndVal.Key,
                    NewVal    = val
                });
            }
            var childLine = new LineCreator(m_Position, m_TotalDist * distFactor, m_Level + 1, paramChanges);

            childLine.m_Obj.transform.parent = m_Obj.transform;
            childLine.Generate();
            m_Children.Add(childLine);
            m_NextSplitDist = -1;
        }
 public string RenderingShapeTypeName()
 {
     return(LineCreator.getInstance().ShapeTypeName());
 }
Exemple #18
0
 private void Start()
 {
     m_LineCreator = null;
 }
Exemple #19
0
 public void Start()
 {
     lineCreator = GetComponent <LineCreator>();
     rigidbody   = GetComponent <Rigidbody2D>();
 }
    private void gather()
    {
        //Get list of gatherable resources
        GameObject[] obs = sense("RESOURCE");

        List <GameObject> resources     = new List <GameObject>();
        Vector3           this_position = gameObject.transform.position;

        foreach (GameObject o in obs)
        {
            if (Vector2Calc.proximity(this_position, o.transform.position) < 1f)
            {
                resources.Add(o);
            }
        }

        //If there are none, return
        if (resources.Count == 0)
        {
            return;
        }

        //Get the closest resource in gather arc
        float      closeness  = float.PositiveInfinity;
        GameObject to_harvest = null;

        foreach (GameObject o in resources)
        {
            float proximity = Vector2Calc.proximity(this_position, o.transform.position);
            if (!(proximity < closeness))
            {
                continue;
            }
            closeness  = proximity;
            to_harvest = o;
        }

        //Gather the resource
        m_brain_stop         = true;
        m_rb.velocity        = Vector3.zero;
        m_rb.angularVelocity = 0;
        m_actions.flush();

        m_cooldowns.activate("GATHER", 0.5f);

        GameObject line = LineCreator.createLine(this_position + (Vector3Calc.fromVec2(m_forward) * 0.1f), to_harvest.transform.position, Color.green, 0.05f, 0.5f);

        Resource          harvesting  = to_harvest.GetComponent <Resource>();
        DIntervalListener energy_suck = () =>
        {
            float harvest_power = m_energy.Max - m_energy.Value;
            if (harvest_power > 10f)
            {
                harvest_power = 10f;
            }
            if (to_harvest != null)
            {
                m_energy.add(harvesting.collect(harvest_power));
            }
        };

        m_im.addListener(0.1f, energy_suck);

        m_tm.addTimeout(0.5f, () =>
        {
            m_im.removeListener(0.1f, energy_suck);
            m_brain_stop = false;
        });
    }
Exemple #21
0
 void Start()
 {
     enabled  = false;
     pressed  = false;
     instance = this;
 }
        public static LinkRender GetLinkRender(NodeCollectionStorage <FullConnectedGraph> storage, Canvas canvas)
        {
            var lineCreator = new LineCreator(Brushes.DimGray, 1, 0.5);

            return(new LinkRender(storage, canvas, lineCreator));
        }
Exemple #23
0
        private void DoRandonTransform(BaseImage image, int n, double a, int l, bool useKeyPoints)
        {
            int maxX   = image.Bitmap.Width - 1;
            int maxY   = image.Bitmap.Height - 1;
            int radius = image.Bitmap.Width / 2 - 1;

            CircleCreator cc     = new CircleCreator(maxX, maxY);
            Circle        circle = new Circle(maxX, maxY, radius, cc.PointsOnCircle.ToArray());

            IEmiterGenerator eg = CreateEmiterGenerator(useKeyPoints, a, circle, maxX, maxY, radius);

            List <EmiterDetectorsSystem> systems = new List <EmiterDetectorsSystem>();

            BitmapToBlackAndWhiteConverter blackBitmap = new BitmapToBlackAndWhiteConverter(image.Bitmap);


            int suwak = Form1.trackbar * (eg.Emiters.Count / 10);

            if (Form1.trackbar != 10)
            {
                eg.Emiters.RemoveRange(suwak, (eg.Emiters.Count - suwak) - 1);
            }

            averageTable = new double[eg.Emiters.ToArray().Length, n + 1];
            double maxAverage = double.MinValue;
            double minAverage = double.MaxValue;

            int emiterIndex = 0;

            eg.Emiters.ForEach(e =>
            {
                IDetectorsGenerator dg          = CreateDetectorGenerator(useKeyPoints, n, l, circle, e, radius);
                EmiterDetectorsSystem newSystem = new EmiterDetectorsSystem(e, dg.Detectors);
                systems.Add(newSystem);

                int detectorIndex = 0;
                newSystem.Detectors.ForEach(detector =>
                {
                    LineCreator lc    = new LineCreator(e.Point, detector.Point);
                    LineSummer summer = new LineSummer(lc.Line, blackBitmap.ConvertedTab);
                    if (!Form1.checkBoxState)
                    {
                        lc.Line.ForEach(pointOnLine =>
                        {
                            OutPutImage.SumOfAverageTable[pointOnLine.X, pointOnLine.Y]   += summer.Average;
                            OutPutImage.CountOfAverageTable[pointOnLine.X, pointOnLine.Y] += 1;
                        });
                    }

                    averageTable[emiterIndex, detectorIndex++] = summer.Average;

                    if (summer.Average > maxAverage)
                    {
                        maxAverage = summer.Average;
                    }

                    if (summer.Average < minAverage)
                    {
                        minAverage = summer.Average;
                    }
                });
                emiterIndex++;
            });

            if (Form1.checkBoxState)
            {
                //OutPutImage zakomentowałem, żeby najpierw przefiltrować tablice avarageTable
                int aaa = eg.Emiters.ToArray().Length;
                int bbb = n + 1;
                sinogramFiltered = new double[aaa, bbb];
                for (int i = 0; i < aaa; i++)
                {
                    for (int j = 0; j < bbb; j++)
                    {
                        for (int k = 0; k < bbb; k++)
                        {
                            sinogramFiltered[i, j] += fx(j, k) * averageTable[i, k];
                        }
                    }
                }

                //dalej to dla tych samych emiterów, dodaje przefiltrowaną wartość
                emiterIndex = 0;
                eg.Emiters.ForEach(e =>
                {
                    IDetectorsGenerator dg          = CreateDetectorGenerator(useKeyPoints, n, l, circle, e, radius);
                    EmiterDetectorsSystem newSystem = new EmiterDetectorsSystem(e, dg.Detectors);
                    //systems.Add(newSystem);

                    int detectorIndex = 0;
                    newSystem.Detectors.ForEach(detector =>
                    {
                        LineCreator lc    = new LineCreator(e.Point, detector.Point);
                        LineSummer summer = new LineSummer(lc.Line, blackBitmap.ConvertedTab);

                        lc.Line.ForEach(pointOnLine =>
                        {
                            OutPutImage.SumOfAverageTable[pointOnLine.X, pointOnLine.Y]   += sinogramFiltered[emiterIndex, detectorIndex];
                            OutPutImage.CountOfAverageTable[pointOnLine.X, pointOnLine.Y] += 1;
                        });
                        detectorIndex++;
                    });
                    emiterIndex++;
                });
            }

            NormalizeTab(eg.Emiters.ToArray().Length, n + 1, maxAverage, averageTable, minAverage);
            GenerateBitmap(eg.Emiters.ToArray().Length, n + 1, averageTable);

            Console.Write("DoRandonTransform --> DONE\n");
        }
Exemple #24
0
 // Start is called before the first frame update
 void Start()
 {
     rigidbody    = GetComponent <Rigidbody2D>();
     lineCreator  = GetComponent <LineCreator>();
     audioManager = GetComponent <AudioSourceManager>();
 }