Ejemplo n.º 1
0
    void InstantiateShape(HecShapesCelestialBody shapeTemplate, Vector2 start)
    {
        // This is the planet's generic object
        HecShapesSlottable slottable = Instantiate(
            slottableTemplate,
            start,
            new Quaternion(),
            transform);

        // Instantiate the planet's sprite and collider holding object as a child
        var shape = Instantiate(shapeTemplate, slottable.transform);

        if (noir)
        {
            shape.MakeGray();
        }

        // Make the planet grabbable
        var grabbable = slottable.gameObject.AddComponent <MouseGrabbable>();

        grabbable.disableOnLoss    = true;
        grabbable.disableOnVictory = true;

        grabbable._collider2D = shape.GetComponent <Collider2D>();

        // Add to grabbable group
        grabGroup.addGrabbable(grabbable, false);
    }
Ejemplo n.º 2
0
    void Start()
    {
        grabbable     = GetComponent <MouseGrabbable>();
        celestialBody = GetComponentInChildren <HecShapesCelestialBody>();
        audioSources  = GetComponents <AudioSource>();
        vibration     = GetComponent <Vibrate>();

        if (grabbable)
        {
            var grabEvent = new UnityEvent();
            grabEvent.AddListener(OnGrab);
            grabbable.onGrab = grabEvent;

            var releaseEvent = new UnityEvent();
            releaseEvent.AddListener(OnRelease);
            grabbable.onRelease = releaseEvent;
        }
    }