public override void Set(Conduit conduit)
    {
        m_Conduit = conduit;

        var bend        = m_Conduit.bend;
        var travelColor = bend.GetOutputParameter(EBendParameterName.Travel).color;

        // Create Flags
        float lineWidth = Engine.conduitDiameterM * Mathf.Sin(Mathf.PI * 0.25f);

        m_travelLine1 = FlagRenderer.NewLine(m_Conduit.transform);
        m_travelLine1.SetWidth(lineWidth);
        m_travelLine1.SetColor(travelColor);
        m_travelLine2 = FlagRenderer.NewLine(m_Conduit.transform);
        m_travelLine2.SetWidth(lineWidth);
        m_travelLine2.SetColor(travelColor);

        // Create Obstacle
        m_obstacle = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
        var renderer = m_obstacle.GetComponent <MeshRenderer>();

        renderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
        renderer.receiveShadows    = false;
        renderer.material          = material;
        renderer.material.SetColor("_Color", new Color(0.2f, 0.2f, 0.2f, 1f));
        GameObject.DestroyObject(m_obstacle.GetComponent <Collider>());

        m_obstacle.transform.SetParent(transform);
        m_obstacle.transform.localPosition = new Vector3(-k_objstacleLength, 0f, 0f);
        m_obstacle.transform.localRotation = Quaternion.Euler(0f, 0f, 90f);
    }
Ejemplo n.º 2
0
    //public static void ClearRays()
    //{
    //    if(!s_rayContainer) {
    //        Debug.LogError( "RayRenderer: ClearRays() Ray Container null" );
    //        return;
    //    }
    //    for (int i = 0; i < s_rayContainer.childCount; ++i) {
    //        Destroy( s_rayContainer.GetChild( i ).gameObject );
    //    }
    //}

    public static LineFlag NewLine(Transform parent)
    {
        LineFlag lineObj = Instantiate(s_linePrefab);

        lineObj.transform.SetParent(parent, false);

        return(lineObj);
    }
    public override void Set(Conduit conduit)
    {
        m_Conduit = conduit;

        var bend = m_Conduit.bend;

        //----------------------
        // Create Line Flags
        //----------------------
        m_LineWidth = Engine.conduitDiameterM * Mathf.Sin(Mathf.PI * 0.25f);

        m_TakeUpLine = FlagRenderer.NewLine(transform);
        m_TakeUpLine.SetWidth(m_LineWidth);
        m_TakeUpLine.SetColor(bend.GetOutputParameter(EBendParameterName.StubTakeUp).color);
    }
Ejemplo n.º 4
0
 void BeginDialogue(TextAsset dialogueFile)
 {
     inConvo = true;
     textboxImage.enabled   = true;
     textboxSpeaker.enabled = true;
     textboxText.enabled    = true;
     linesRaw = dialogueFile.text.Split('\n');
     foreach (string line in linesRaw)
     {
         string[] textSplit      = line.Split(':');
         string[] attributeSplit = textSplit[0].Split('/');
         if (attributeSplit[0].Equals("T"))
         {
             Line newLine = new Line(null, attributeSplit[1], attributeSplit[2], textSplit[1]);
             lines.Add(newLine);
         }
         else if (attributeSplit[0].Equals("C"))
         {
             LineChoice newLine = new LineChoice(attributeSplit[1], attributeSplit[2], attributeSplit[3], textSplit[1]);
             lines.Add(newLine);
         }
         else if (attributeSplit[0].Equals("F"))
         {
             LineFlag newLine = new LineFlag(attributeSplit[1], attributeSplit[2], attributeSplit[3], textSplit[1]);
             lines.Add(newLine);
         }
         else if (attributeSplit[0].Equals("A"))
         {
             LineAttribute newLine = new LineAttribute(attributeSplit[1], attributeSplit[2], attributeSplit[3], textSplit[1]);
             lines.Add(newLine);
         }
         else if (attributeSplit[0].Equals("O"))
         {
             LineOpinion newLine = new LineOpinion(attributeSplit[1], attributeSplit[2], attributeSplit[3], textSplit[1]);
             lines.Add(newLine);
         }
         else
         {
             print("invalid line type");
             return;
         }
     }
     currentLine = lines[0];
     StartCoroutine(DisplayText(currentLine));
 }
    public override void Set(Conduit conduit)
    {
        m_Conduit = conduit;

        //----------------------
        // Create Line Flags
        //----------------------
        var bend = m_Conduit.bend;

        m_LineWidth = Engine.conduitDiameterM * Mathf.Sin(Mathf.PI * 0.25f);

        m_RollLine = FlagRenderer.NewLine(transform);
        m_RollLine.SetWidth(m_LineWidth * 0.7f);
        m_RollLine.SetColor(bend.GetInputParameter(EBendParameterName.Roll).color);

        m_RiseLine = FlagRenderer.NewLine(transform);
        m_RiseLine.SetWidth(m_LineWidth * 0.75f);
        m_RiseLine.SetColor(bend.GetInputParameter(EBendParameterName.Rise).color);
        EnableLines(false);

        // Rotate Conduit
        Decorate();
    }
    public override void Set(Conduit conduit)
    {
        Initialize();
        m_Conduit = conduit;

        //----------------------
        // Create Line Flags
        //----------------------
        float lineWidth = Engine.conduitDiameterM * Mathf.Sin(Mathf.PI * 0.25f);

        m_SpreadLine = FlagRenderer.NewLine(m_Conduit.transform);
        m_SpreadLine.SetWidth(lineWidth);

        m_ShiftLine = FlagRenderer.NewLine(transform);
        m_ShiftLine.SetWidth(lineWidth);

        m_FirstMarkLine = FlagRenderer.NewLine(m_Conduit.transform);
        m_FirstMarkLine.SetWidth(lineWidth);

        m_TravelLine = FlagRenderer.NewLine(m_Conduit.transform);
        m_TravelLine.SetWidth(Engine.conduitDiameterM * 0.5f);

        // Set Marker Colors
        var bend = m_Conduit.bend;

        m_SpreadLine.SetColor(bend.GetOutputParameter(EBendParameterName.KickSpread).color);
        m_ShiftLine.SetColor(bend.GetOutputParameter(EBendParameterName.Shift).color);
        m_FirstMarkLine.SetColor(bend.GetOutputParameter(EBendParameterName.KickFirstMark).color);
        m_TravelLine.SetColor(bend.GetOutputParameter(EBendParameterName.KickTravel).color);

        if (m_Conduit.centerlineBendIndices.Count == 4)
        {
            UnityEngine.Debug.Log("ConduitParallelKickDecorator: Set() Decorating...");
            lastAngleDeg = -1;
            Decorate();
        }
    }
Ejemplo n.º 7
0
        List <Pos> GetLines(LineFlag flag)
        {
            List <Pos> lines = new List <Pos>();

            int count = -1;

            switch (flag)
            {
            case LineFlag.One:
                count = 19;
                break;

            case LineFlag.Two:
                count = 17;
                break;

            case LineFlag.Three:
                count = 15;
                break;

            case LineFlag.Four:
                count = 13;
                break;

            case LineFlag.Five:
                count = 11;
                break;

            case LineFlag.Six:
                count = 9;
                break;

            case LineFlag.Seven:
                count = 7;
                break;

            case LineFlag.Eight:
                count = 5;
                break;

            case LineFlag.Nine:
                count = 3;
                break;

            default:
                throw new Exception("LineFlag does not exist.");
            }

            int offset = (19 - count) / 2;

            for (int i = 0; i < count; i++)
            {
                lines.Add(new Pos(i + offset, offset));
                lines.Add(new Pos(i + offset, 18 - offset));
                if (i != 0 && i != count - 1)
                {
                    lines.Add(new Pos(offset, i + offset));
                    lines.Add(new Pos(18 - offset, i + offset));
                }
            }
            return(lines);
        }
Ejemplo n.º 8
0
 void Awake()
 {
     //s_rayContainer = GameObject.Find( "_Rays" ).transform;
     s_rayPrefab  = rayPrefab;
     s_linePrefab = linePrefab;
 }