Beispiel #1
0
 private void Awake()
 {
     grid           = GameObject.Find("Grid").GetComponent <CreateGrid>().grid;
     createPiece    = GameObject.FindGameObjectWithTag("PlayArea").GetComponent <CreatePiece>();
     position       = origin;
     decayDown      = decayDownStart;
     decayFloorDown = decayFloorDownStart;
     UnityEngine.Random.InitState(System.Environment.TickCount);
     ghostGridSprite = Resources.Load <Sprite>("Images/grid-ghost");
 }
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        var tar = (Chunk)target;

        if (GUILayout.Button("Clear"))
        {
            tar.Pieces.Clear();
        }
        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button("Add New Piece"))
        {
            var p = CreatePiece.Create();
            tar.Pieces.Add(p);
        }
        if (GUILayout.Button("Add Empty Piece"))
        {
            tar.Pieces.Add(null);
        }
        EditorGUILayout.EndHorizontal();
        if (GUILayout.Button("Load Chunk into Scene"))
        {
            tar.LoadAllPiecesIntoScene();
        }
        for (var i = 0; i < tar.Pieces.Count; i++)
        {
            var name = "Null";

            if (tar.Pieces[i] != null)
            {
                name = tar.Pieces[i].name;
            }
            EditorGUILayout.BeginHorizontal();
            tar.Pieces[i] = (Piece)EditorGUILayout.ObjectField(name + ": ", (tar.Pieces[i] != null) ? tar.Pieces[i] : null, typeof(Piece), false);
            if (GUILayout.Button("Remove", GUILayout.MaxWidth(80f)))
            {
                // Remove the piece and then reduce the index we're looking at.
                tar.Pieces.RemoveAt(i--);
            }
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.Separator();
        }
        EditorUtility.SetDirty(target);
    }