Example #1
0
    public void AddSolution(SplitterSolution ssNewSpliterSolution, Vector3 v3PrevDirection, GameObject goLaser)
    {
        Color32[] clrsToSplit = MMUtils.ColorSplitter(ssNewSpliterSolution.clrLaserColor);


        int iReverse = (bInvertRays) ? -1 : 1;

        ssNewSpliterSolution.tLasers = new Transform[clrsToSplit.Length];

        ssSpliterSolutions.Add(ssNewSpliterSolution);


        float fAngleInBetween = 180;            //ANGLE_TO_SPLIT / clrsToSplit.Length;
        float fStartingAngle  = -90 * iReverse; //ANGLE_TO_SPLIT + fAngleInBetween;

        for (int i = 0; i < clrsToSplit.Length; i++)
        {
            GameObject go = Instantiate(goLaser, transform.position + goLaser.GetComponent <ScenarioObject>().v3Offset - this.v3Offset, Quaternion.LookRotation(v3PrevDirection));
            go.transform.Rotate(new Vector3(0, fStartingAngle, 0), Space.Self);
            fStartingAngle += fAngleInBetween;
            go.transform.SetParent(transform);
            ssNewSpliterSolution.tLasers[i] = go.transform;
            go.GetComponent <RayLaser>().UpdateRayColor(clrsToSplit[i]);
            go.GetComponent <RayLaser>().SetCilinderActive(false);
        }
    }