// 星座データの収集 ConstellationData CollectConstellationData(ConstellationNameData name) { var data = new ConstellationData(); // 星座の名前登録 data.Name = name; // 星座IDが同じものを登録 data.Position = constellationPositionData.FirstOrDefault(s => name.Id == s.Id); // 星座の略称が同じものを登録 data.Lines = constellationLineData.Where(s => name.Summary == s.Name).ToList(); // 星座線が使用している星を登録 data.Stars = new List <StarData>(); foreach (var line in data.Lines) { var start = starData.FirstOrDefault(s => s.Hip == line.StartHip); data.Stars.Add(start); var end = starData.FirstOrDefault(s => s.Hip == line.EndHip); data.Stars.Add(end); // 星座で使用される星 start.UseConstellation = end.UseConstellation = true; } return(data); }
// 星座名の作成 GameObject CreateName(ConstellationNameData nameData, ConstellationPositionData positionData) { // 星座名のプレハブからインスタンス作成 var text = Instantiate(namePrefab); var textTrans = text.transform; // 星の見える方向へ回転させる textTrans.localRotation = Quaternion.Euler(positionData.Declination, positionData.RightAscension, 0.0f); text.name = nameData.Name; // 子供の3D Textの位置を天球の位置へ移動させる var child = textTrans.GetChild(0); child.transform.localPosition = new Vector3(0.0f, 0.0f, SpaceSize); // TextMeshを取得して、星座の名前に変更する var textMesh = child.GetComponent <TextMesh>(); textMesh.text = string.Format("{0}座", nameData.JapaneseName); return(text); }