- Home /
Question by
NutellaDaddy · Mar 02, 2014 at 06:51 AM ·
c#inventorydictionary
error CS1526: A new expression requires () or [] after type
For some reason when I try to add something to the dictionary it says the above error. It's on line 106
using UnityEngine;
using System.Collections.Generic;
public class inventoryV1 : MonoBehaviour {
public static bool inventoryOn = false;
//GUI FONT AND SIZE
private Vector2 windowPosition = new Vector2(300,0);
private Vector2 windowSize = new Vector2(745, 750);
private Vector2 closePosition = new Vector2(705,9);
private Vector2 closeSize = new Vector2(24,24);
private Vector2 inventoryTitlePosition = new Vector2(245,11);
private Vector2 inventoryTitleSize = new Vector2(125,50);
private Vector2 playerTitlePosition = new Vector2(17,11);
private Vector2 playerTitleSize = new Vector2(100,50);
private Vector2 craftingTitlePosition = new Vector2(17,414);
private Vector2 craftingTitleSize = new Vector2(125,40);
//Dictionary
static public Dictionary<int, string> inventoryNameDictionary;
//WINDOW TEXTURES
public Texture inventoryWindow;
//BUTTON TEXTURES
public Texture closeInventory;
public Texture inventorySlot;
//ACCESS CLASSES
ItemClass itemObject = new ItemClass();
void Update ()
{
//ON OR OFF
if (Input.GetKeyUp (KeyCode.Tab))
{
if (inventoryOn == false)
{
inventoryOn = true;
}
else if (inventoryOn == true)
{
inventoryOn = false;
}
if(Optionsmenu.isOptionsOn == true)
{
inventoryOn = false;
}
}
}
//GUI AND FUNCTIONALITY
void OnGUI()
{
if (inventoryOn == true)
{
GUILayout.BeginArea(new Rect (windowPosition.x, windowPosition.y, windowSize.x, windowSize.y), inventoryWindow);
//Close Button
if (GUI.Button (new Rect (closePosition.x, closePosition.y, closeSize.x, closeSize.y), closeInventory)) {
inventoryOn = false;
}
//INVENTORY SECTION TITLES
GUI.Label(new Rect(inventoryTitlePosition.x, inventoryTitlePosition.y, inventoryTitleSize.x, inventoryTitleSize.y),"Inventory");
GUI.Label (new Rect( playerTitlePosition.x, playerTitlePosition.y, playerTitleSize.x, playerTitleSize.y), "Player");
GUI.Label(new Rect(craftingTitlePosition.x, craftingTitlePosition.y, craftingTitleSize.x, craftingTitleSize.y), "Crafting Menu");
//INVENTORY SLOTS
//FIRST ROW
GUI.Button (new Rect (270, 50, 70, 70), inventoryNameDictionary[0]);
GUI.Button (new Rect (345, 50, 70, 70), inventoryNameDictionary[1]);
GUI.Button (new Rect (420, 50, 70, 70), inventoryNameDictionary[2]);
GUI.Button (new Rect (495, 50, 70, 70), inventoryNameDictionary[3]);
GUI.Button (new Rect (570, 50, 70, 70), inventoryNameDictionary[4]);
GUI.Button (new Rect (645, 50, 70, 70), inventoryNameDictionary[5]);
//SECOND ROW
GUI.Button (new Rect (270, 125, 70, 70), inventoryNameDictionary[6]);
GUI.Button (new Rect (345, 125, 70, 70), inventoryNameDictionary[7]);
GUI.Button (new Rect (420, 125, 70, 70), inventoryNameDictionary[8]);
GUI.Button (new Rect (495, 125, 70, 70), inventoryNameDictionary[9]);
GUI.Button (new Rect (570, 125, 70, 70), inventoryNameDictionary[10]);
GUI.Button (new Rect (645, 125, 70, 70), inventoryNameDictionary[11]);
//THIRD ROW
GUI.Button (new Rect (270, 200, 70, 70), inventoryNameDictionary[12]);
GUI.Button (new Rect (345, 200, 70, 70), inventoryNameDictionary[13]);
GUI.Button (new Rect (420, 200, 70, 70), inventoryNameDictionary[14]);
GUI.Button (new Rect (495, 200, 70, 70), inventoryNameDictionary[15]);
GUI.Button (new Rect (570, 200, 70, 70), inventoryNameDictionary[16]);
GUI.Button (new Rect (645, 200, 70, 70), inventoryNameDictionary[17]);
//FOURTH ROW
GUI.Button (new Rect (270, 275, 70, 70), inventoryNameDictionary[18]);
GUI.Button (new Rect (345, 275, 70, 70), inventoryNameDictionary[19]);
GUI.Button (new Rect (420, 275, 70, 70), inventoryNameDictionary[20]);
GUI.Button (new Rect (495, 275, 70, 70), inventoryNameDictionary[21]);
GUI.Button (new Rect (570, 275, 70, 70), inventoryNameDictionary[22]);
GUI.Button (new Rect (645, 275, 70, 70), inventoryNameDictionary[23]);
GUILayout.EndArea ();
//ARMOR SLOTS
//DICTIONARY
inventoryNameDictionary = new Dictionary<int, string>()
{
//THE LINE BENEATH THIS COMMENT HAS THE ERROR
(0, string.Empty),
(1, string.Empty),
(2, string.Empty),
(3, string.Empty),
(4, string.Empty),
(5, string.Empty),
(6, string.Empty),
(7, string.Empty),
(8, string.Empty),
(9, string.Empty),
(10, string.Empty),
(11, string.Empty),
(12, string.Empty),
(13, string.Empty),
(14, string.Empty),
(15, string.Empty),
(16, string.Empty),
(17, string.Empty),
(18, string.Empty),
(19, string.Empty),
(20, string.Empty),
(21, string.Empty),
(22, string.Empty),
(23, string.Empty)
};
}
}
}
Comment
Best Answer
Answer by whydoidoit · Mar 02, 2014 at 06:54 AM
You need to initialize your dictionary like this:
inventoryNameDictionary = new Dictionary() {
{ 0, string.Empty },
...
Your answer
Follow this Question
Related Questions
Different script for each item? 1 Answer
Is there a way to shorten these? 1 Answer
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
Starting out C# help 2 Answers
KeyNotFoundException that makes no sense (*I* can find the key) 0 Answers