public BuildingCoverMaskGroup[,] BuildingCoverMaskMatrix_IncludingPreview; // column, row public CityInventory( string inventoryName, DragAreaIndicator dragAreaIndicator, DragProcessor dragProcessor, int gridSize, int rows, int columns, bool x_Mirror, bool z_Mirror, bool unlockedPartialGrids, int unlockedGridCount, bool dragOutDrop, KeyDownDelegate rotateItemKeyDownHandler, InstantiatePrefabDelegate instantiateCityInventoryGridHandler, InstantiatePrefabDelegate instantiateCityInventoryVirtualOccupationQuadHandler ) : base(inventoryName, dragAreaIndicator, gridSize, rows, columns, x_Mirror, z_Mirror, unlockedPartialGrids, unlockedGridCount, dragOutDrop, rotateItemKeyDownHandler, (gridPos) => new GridPosR(gridPos.x + columns / 2, gridPos.z + rows / 2, gridPos.orientation), (gp_matrix) => new GridPosR(gp_matrix.x - columns / 2, gp_matrix.z - rows / 2, gp_matrix.orientation), (gridPos) => new GridPos(gridPos.x, gridPos.z), (gp_matrix) => new GridPos(gp_matrix.x, gp_matrix.z) ) { DragProcessor = dragProcessor; InstantiateCityInventoryGridHandler = instantiateCityInventoryGridHandler; InstantiateCityInventoryVirtualOccupationQuadHandler = instantiateCityInventoryVirtualOccupationQuadHandler; InventoryValidMatrix = new bool[columns, rows]; BuildingCoverMaskMatrix = new BuildingCoverMaskGroup[columns, rows]; BuildingCoverMaskMatrix_IncludingPreview = new BuildingCoverMaskGroup[columns, rows]; }
/// <summary> /// Initialize the uiInventory manager. /// </summary> /// <param name="inventoryName">The inventory name</param> /// <param name="dragAreaIndicator"></param> /// <param name="dragProcessor"></param> /// <param name="canvasDistance">the distance of canvas</param> /// <param name="gridSize">the gridSize of inventory</param> /// <param name="rows">how many rows in total</param> /// <param name="columns">how many columns in total</param> /// <param name="x_Mirror">is X axis mirrored</param> /// <param name="z_Mirror">is Z axis mirrored</param> /// <param name="unlockedPartialGrids">is there any grid locked at the beginning</param> /// <param name="unlockedGridCount">how many grids are locked at the beginning</param> /// <param name="dragOutDrop">allows item to be dragged and dropped outside inventory</param> /// <param name="enableScreenClamp">enable inventory UI panel's screen-clamping</param> /// <param name="enableLog">enable inventory log</param> /// <param name="toggleUIInventoryKeyDownHandler">This handler should return a signal which toggles the uiInventory(e.g. return Input.GetKeyDown(KeyCode.B);)</param> /// <param name="rotateItemKeyDownHandler">This handler should return a signal which rotates the uiInventory item(e.g. return Input.GetKeyDown(KeyCode.R);)</param> /// <param name="instantiateUIInventoryGridHandler">This handler should instantiate a prefab with UIInventoryGrid component.</param> /// <param name="instantiateUIInventoryItemHandler">This handler should instantiate a prefab with UIInventoryItem component.</param> /// <param name="instantiateUIInventoryItemGridHandler">This handler should instantiate a prefab with UIInventoryItemGrid component.</param> /// <param name="instantiateUIInventoryItemVirtualOccupationQuadHandler">This handler should instantiate a image for indicating the occupation.</param> public UIInventory( string inventoryName, DragAreaIndicator dragAreaIndicator, DragProcessor dragProcessor, float canvasDistance, int gridSize, int rows, int columns, bool x_Mirror, bool z_Mirror, bool unlockedPartialGrids, int unlockedGridCount, bool dragOutDrop, bool enableScreenClamp, bool enableLog, KeyDownDelegate toggleUIInventoryKeyDownHandler, KeyDownDelegate rotateItemKeyDownHandler, InstantiatePrefabDelegate instantiateUIInventoryGridHandler, InstantiatePrefabDelegate instantiateUIInventoryItemHandler, InstantiatePrefabDelegate instantiateUIInventoryItemGridHandler, InstantiatePrefabDelegate instantiateUIInventoryItemVirtualOccupationQuadHandler ) : base(inventoryName, dragAreaIndicator, gridSize, rows, columns, x_Mirror, z_Mirror, unlockedPartialGrids, unlockedGridCount, dragOutDrop, enableLog, rotateItemKeyDownHandler, (gridPos) => new GridPosR(gridPos.x, -gridPos.z), (gridPos_matrix) => new GridPosR(gridPos_matrix.x, -gridPos_matrix.z), (gridPos) => new GridPosR(gridPos.x, -gridPos.z), (gridPos_matrix) => new GridPosR(gridPos_matrix.x, -gridPos_matrix.z)) { DragProcessor = dragProcessor; CanvasDistance = canvasDistance; ToggleUIInventoryKeyDownHandler = toggleUIInventoryKeyDownHandler; InstantiateUIInventoryGridHandler = instantiateUIInventoryGridHandler; InstantiateUIInventoryItemHandler = instantiateUIInventoryItemHandler; InstantiateUIInventoryItemGridHandler = instantiateUIInventoryItemGridHandler; InstantiateUIInventoryItemVirtualOccupationQuadHandler = instantiateUIInventoryItemVirtualOccupationQuadHandler; EnableScreenClamp = enableScreenClamp; }
/// <summary> /// Initialize the backpack manager. /// </summary> /// <param name="inventoryName">the name of the backpack</param> /// <param name="gridSize">the size (in pixel) of each grid of backpack items in UI panels.</param> /// <param name="toggleBackpackKeyDownHandler">This handler should return a signal which toggles the backpack(e.g. return Input.GetKeyDown(KeyCode.B);)</param> /// <param name="rotateItemKeyDownHandler">This handler should return a signal which rotates the backpack item(e.g. return Input.GetKeyDown(KeyCode.R);)</param> /// <param name="instantiateBackpackGridHandler">This handler should instantiate a prefab with BackpackGrid component.</param> /// <param name="instantiateBackpackItemHandler">This handler should instantiate a prefab with BackpackItem component.</param> /// <param name="instantiateBackpackItemGridHandler">This handler should instantiate a prefab with BackpackItemGrid component.</param> /// <param name="instantiateBackpackItemVirtualOccupationQuadHandler">This handler should instantiate a image for indicating the occupation.</param> public Backpack( string inventoryName, DragArea dragArea, int gridSize, int rows, int columns, bool x_Mirror, bool z_Mirror, bool unlockPartialGrids, int unlockedGridCount, KeyDownDelegate toggleBackpackKeyDownHandler, KeyDownDelegate rotateItemKeyDownHandler, InstantiatePrefabDelegate instantiateBackpackGridHandler, InstantiatePrefabDelegate instantiateBackpackItemHandler, InstantiatePrefabDelegate instantiateBackpackItemGridHandler, InstantiatePrefabDelegate instantiateBackpackItemVirtualOccupationQuadHandler ) : base(inventoryName, dragArea, gridSize, rows, columns, x_Mirror, z_Mirror, unlockPartialGrids, unlockedGridCount, rotateItemKeyDownHandler, (gridPos) => new GridPosR(gridPos.x, -gridPos.z), (gridPos_matrix) => new GridPosR(gridPos_matrix.x, -gridPos_matrix.z), (gridPos) => new GridPosR(gridPos.x, -gridPos.z), (gridPos_matrix) => new GridPosR(gridPos_matrix.x, -gridPos_matrix.z)) { ToggleBackpackKeyDownHandler = toggleBackpackKeyDownHandler; InstantiateBackpackGridHandler = instantiateBackpackGridHandler; InstantiateBackpackItemHandler = instantiateBackpackItemHandler; InstantiateBackpackItemGridHandler = instantiateBackpackItemGridHandler; InstantiateBackpackItemVirtualOccupationQuadHandler = instantiateBackpackItemVirtualOccupationQuadHandler; }