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); }
//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); }
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(); } }
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); }
void Awake() { //s_rayContainer = GameObject.Find( "_Rays" ).transform; s_rayPrefab = rayPrefab; s_linePrefab = linePrefab; }