Exemple #1
0
        public void AddCube(CubeType addingType)
        {
            Debug.Log("Adding cube of type " + addingType);
            for (int i = 0; i < CubeTypes.Count(); i++)
            {
                if (CubeTypes[i].GetType() == addingType.GetType())
                {
                    Quantities[i] = Quantities[i] + 1;
                    if (CubeTypes[index].GetType() == addingType.GetType())
                    {
                        AddCubeTypeToDisplay(addingType, SphereDisplayer, primaryOrbiters);
                        AddCubeTypeToDisplay(addingType, SecondarySphereDisplayer, secondaryOrbiters);
                    }
                    return;
                }
            }
            Debug.Log("Cube type " + addingType + " was new");

            CubeTypes.Add(GameObject.Find(addingType.GetType().Name + "Type").GetComponent <CubeType>());
            Debug.Log("CubeType 0 after add = " + CubeTypes[0]);
            Quantities.Add(1);
            if (CubeTypes.Count() == 1)
            {
                GetCurrentCubeType();
                PopulateCubeDisplays();
                Debug.Log("CubeType 0 after updating display = " + CubeTypes[0]);
            }
        }
    private void CreateBox()
    {
        Debug.Log("Beginning create box");
        CubeType type = inventory.GetCurrentCube();

        Debug.Log("Creating box of type: " + type);
        if (type == null)
        {
            return;
        }
        Transform  leftHandPos  = GameObject.Find("LeftHand").transform;
        Transform  rightHandPos = GameObject.Find("RightHand").transform;
        Vector3    direction    = (rightHandPos.position - leftHandPos.position).normalized;
        Quaternion rotation     = Quaternion.LookRotation(direction);

        Debug.Log("Instantiating: " + playBox);
        GameObject instance = Instantiate(playBox, (leftHandPos.position + rightHandPos.position) / 2, rotation);

        Debug.Log("Getting type");

        Debug.Log("Type: " + type);
        instance.AddComponent(type.GetType());
        instance.GetComponent <CubeType>().Initialize(type);
        float distance = Vector3.Distance(rightHandPos.position, leftHandPos.position);

        instance.transform.localScale = new Vector3(distance, distance, distance);
        currentBox = instance;
    }
Exemple #3
0
    public void OnCollisionEnter(Collision collision)
    {
        CubeType collidingType = collision.gameObject.GetComponent <CubeType>();

        if (type == null || collidingType.GetType() == type.GetType())
        {
            if (cubesOnTrigger.Count == 0)
            {
                foreach (Triggerable triggerable in triggerables)
                {
                    triggerable.Trigger();
                }
            }
            cubesOnTrigger.Add(collidingType);
        }
    }