Beispiel #1
0
    /**********************************************************/
    /********************** CONSTRUCTORS **********************/
    /**
     * Instantiates, setups and positions all the necessary lines
     */
    public LinesCollection(ItemsCollection itemsCollection)
    {
        GameObject lineObject, itemGameObjectI, itemGameObjectJ;
        LineRenderer lineRenderer;
        int collectionSize, position = 0;

        if (itemsCollection == null) {
            ErrorManager.DisplayErrorMessage("LineCollection: Cannot build LinesCollection from an empty ItemsCollection");
            return;
        }

        referenceMatrix = new ReferenceMatrix (itemsCollection.GetCollectionSize ());

        collectionSize = (itemsCollection.GetCollectionSize() * (itemsCollection.GetCollectionSize() - 1)) / 2;

        this.tabLines = new LineController[collectionSize];

        for (int i = 0; i < itemsCollection.GetCollectionSize(); i++) {
            for (int j = 0; j < itemsCollection.GetCollectionSize(); j++) {
                if (j > i) {
                    itemGameObjectI = itemsCollection.GetItemObject(i);
                    itemGameObjectJ = itemsCollection.GetItemObject(j);
                    lineObject = gameController.InstantiateLine();
                    lineRenderer = lineObject.GetComponent<LineRenderer>();

                    lineRenderer.SetPosition(0, new Vector3( itemGameObjectI.transform.position.x, 0, itemGameObjectI.transform.position.z));
                    lineRenderer.SetPosition(1, new Vector3(itemGameObjectJ.transform.position.x, 0, itemGameObjectJ.transform.position.z));
                    lineRenderer.SetWidth(0.1f, 0.1f);

                    tabLines[position] = lineObject.GetComponent<LineController>();

                    tabLines[position].Deactivate();
                    tabLines[position].SetOwnerOut(j);
                    tabLines[position].SetOwnerIn(i);
                    tabLines[position].SetStartPoint(new Vector3(itemGameObjectI.transform.position.x, 0, itemGameObjectI.transform.position.z));
                    tabLines[position].SetEndPoint(new Vector3(itemGameObjectJ.transform.position.x, 0, itemGameObjectJ.transform.position.z));
                    tabLines[position].ComputeConstants();

                    position++;
                }
            }
        }
    }
Beispiel #2
0
 public void ResetSlotToMove(Slot slot)
 {
     if (slot == slotToMove)
     {
         slotToMove = null;
         GameObject toInstantiate;
         if ((toInstantiate = itemsCollection.GetItemObject(slot.itemId)))
         {
             GameObject obj = Instantiate(toInstantiate);
             obj.transform.position = this.transform.position + new Vector3(1, 0, 0);
         }
         AddItem("", slot);
     }
 }