public void Init(GameGridInstance grid_in, GameGridInstance.GridTileType grid_type) { grid = grid_in; type = grid_type; collider = gameObject.GetComponent <Collider2D>(); }
private bool BulletCanDestroyTile(EntityBullet.EntityBulletType bullet_type, GameGridInstance.GridTileType tile_type) { bool ret = false; if (bullet_type == EntityBullet.EntityBulletType.HIT_MOVE_TILE && tile_type == GameGridInstance.GridTileType.GRID_TILE_TYPE_MOVE) { ret = true; } if (bullet_type == EntityBullet.EntityBulletType.HIT_STATIC_TILE && tile_type == GameGridInstance.GridTileType.GRID_TIILE_TYPE_STATIC) { ret = true; } return(ret); }
public override void OnInspectorGUI() { GameGridInstance myScript = (GameGridInstance)target; if (new_grid_size.x == -1) { new_grid_size = myScript.GetGridSize(); } if (!Application.isPlaying) { GUILayout.Label("Grid elements ========"); new_grid_size = EditorGUILayout.Vector2IntField("Grid size", new_grid_size); if (new_grid_size.x < 0) { new_grid_size.x = 0; } if (new_grid_size.y < 0) { new_grid_size.y = 0; } if (GUILayout.Button("Update grid size")) { myScript.CreateGrid(new_grid_size); EditorUtility.SetDirty(target); } } GUILayout.Label("Size ==============="); DrawDefaultInspector(); if (!Application.isPlaying) { GUILayout.Label("Elements ============"); List <GameGridInstance.GridTile> tiles = myScript.GetTiles(); if (GUILayout.Button("Reset")) { for (int i = 0; i < tiles.Count; ++i) { tiles[i].type = GameGridInstance.GridTileType.GRID_TILE_TYPE_EMPTY; } EditorUtility.SetDirty(target); } for (int i = 0; i < tiles.Count; ++i) { GameGridInstance.GridTile curr_tile = tiles[i]; string name = "[" + curr_tile.grid_pos.x + "] [" + curr_tile.grid_pos.y + "]"; GameGridInstance.GridTileType obj = (GameGridInstance.GridTileType)EditorGUILayout.EnumPopup(name, curr_tile.type); if (obj != curr_tile.type) { curr_tile.type = obj; EditorUtility.SetDirty(target); } } } }