public mg_pt_GameLogic() { Minigame = MinigameManager.GetActive <mg_Pizzatron>(); m_conveyor = new mg_pt_Conveyor(); Order = new mg_pt_Order(this); m_pizza = new mg_pt_Pizza(); }
public void AddSauceAt(mg_pt_Pizza p_pizza, mg_pt_Topping p_sauce) { if (!m_sauceCompleted && WillAddSauce(p_sauce)) { Vector2 vector = CalculateSauceRendererPoint(p_sauce.SaucePosition); int num = m_meshFilter.mesh.vertices.Length; int num2 = 41; float num3 = 360f / (float)(num2 - 1); Vector3[] array = new Vector3[num2]; int[] array2 = new int[num2 * 3]; ref Vector3 reference = ref array[0]; reference = vector; for (int i = 1; i < num2; i++) { Vector3 vector2 = Quaternion.AngleAxis(num3 * (float)(i - 1), Vector3.back) * Vector3.up; vector2.x *= 0.2f; vector2.y *= 0.2f; vector2.x += vector.x; vector2.y += vector.y; array[i] = vector2; } for (int i = 0; i + 2 < num2; i++) { int num4 = i * 3; array2[num4] = num; array2[num4 + 1] = num + i + 1; array2[num4 + 2] = num + i + 2; } int num5 = array2.Length - 3; array2[num5] = num; array2[num5 + 1] = num + num2 - 1; array2[num5 + 2] = num + 1; m_meshFilter.mesh.vertices = m_meshFilter.mesh.vertices.Concat(array).ToArray(); m_meshFilter.mesh.triangles = m_meshFilter.mesh.triangles.Concat(array2).ToArray(); if ((float)m_totalPizzaPoints * 0.85f <= (float)m_saucePointsAdded) { CompleteSauce(p_pizza, p_sauce); } m_meshFilter.mesh.bounds = new Bounds(Vector3.zero, new Vector3(500f, 500f, 500f)); }