void Update()
    {
        // If the shape isn't selected, target alpha will always be 0 (so it will be hidden)
        float myTargetAlpha = 0.0f;

        // Otherwise we'll display the shape and animate it
        if (isSelected && isVisible)
        {
            myTargetAlpha = 1.0f;
        }

        SpriteBehavior.FadeAlphaToTarget(this.gameObject, 4f, myTargetAlpha);


        GetComponent <SpriteRenderer>().sprite = spriteShapes[myCurrentSprintShape];
        //ChangePaletteShape();

        // if(isSelected)
        // {
        //     myTargetScale = new Vector3(3.0f, 3.0f, 3.0f);
        // }
        // else
        // {
        //     myTargetScale = new Vector3(2.0f, 2.0f, 2.0f);
        // }
        //
        // Vector3 scale = this.gameObject.transform.localScale;
        // if (scale.x < myTargetScale.x) scale.x += 0.1f;
        // if (scale.y < myTargetScale.y) scale.y += 0.1f;
        // if (scale.x > myTargetScale.x) scale.x -= 0.1f;
        // if (scale.y > myTargetScale.y) scale.y -= 0.1f;
        //
        // this.gameObject.transform.localScale = scale;
    }
Пример #2
0
    void Update()
    {
        // Update our camera target based on whether we have a client connection or not *and* based on the platform
        if ((myNetworkManager.IsClientConnected()) && (m_globalSettings.ShowPalette) && (!isTakingScreenShot))
        {
            setTarget(connectedTarget);
        }
        else
        {
            setTarget(disconnectedTarget);
            SpriteBehavior.HandleCameraZoom(1.0f, GetComponent <Camera>(), 0.1f, minOrthographicSize, maxOrthographicSize);
        }

        if (GetComponent <Camera>().orthographicSize >= 12f)
        {
            connectedTarget.transform.position = myStartingConnectedPosition;
        }

        if (activeTarget != null)
        {
            Vector3 pos = this.transform.position;
            pos.x = Mathf.SmoothDamp(pos.x, activeTarget.position.x, ref (velocity.x), smoothTime);
            pos.y = Mathf.SmoothDamp(pos.y, activeTarget.position.y, ref (velocity.y), smoothTime);
            this.transform.position = pos;
            ClampPosition();
        }
    }
Пример #3
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetButtonDown(ButtonName))
        {
            AudioSource source = GetComponent <AudioSource>();
            source.PlayOneShot(audioClips[TunnelBehavior.instance.themeIndex * 2 + audioClipIndex]);
            audioClipIndex = (audioClipIndex + 1) % 2;

            GetComponentInChildren <Animator>().SetTrigger("Slap");

            GameObject spriteObject = Instantiate(SpriteTemplate, emitterTransform.position, Quaternion.identity) as GameObject;
            spriteObject.transform.SetParent(SpriteContainer, false);
            spriteObject.GetComponent <SpriteRenderer>().sprite = TunnelBehavior.instance.Sprites[Random.Range(0, TunnelBehavior.instance.Sprites.Length)];
            SpriteBehavior spriteBehavior = spriteObject.GetComponent <SpriteBehavior>();
            Vector2        dispersion     = Random.insideUnitCircle * 5f;
            spriteBehavior.Advance    = new Vector3(dispersion.x, dispersion.y, 4f);
            spriteBehavior.Lifetime   = 3f;
            spriteBehavior.FromPlayer = true;
        }

        angle *= Mathf.Exp(-5f * Time.deltaTime);

        Vector3 eulerAngles = bodyTransform.localEulerAngles;

        eulerAngles.x = angle;
        bodyTransform.localEulerAngles = eulerAngles;
    }
Пример #4
0
    protected static SpriteBehavior InitializeSpriteBehavior(SpriteBehavior behavior, ColliderType collider_type, string sprite_path = "", float x = 0, float y = 0)
    {
        var game_object = behavior.gameObject;

        game_object.transform.position = new Vector3(x, y);
        behavior.sprite_renderer = game_object.AddComponent<SpriteRenderer>();
        behavior.sprite_path = sprite_path;
        if (!string.IsNullOrEmpty(sprite_path))
        {
            behavior.sprites = Resources.LoadAll<Sprite>(sprite_path);
            behavior.sprite_renderer.sprite = behavior.sprites[0];
        }

        switch (collider_type)
        {
            case SpriteBehavior.ColliderType.Box:
                behavior.collider2d = game_object.AddComponent<BoxCollider2D>();
                break;
            case SpriteBehavior.ColliderType.Circle:
                behavior.collider2d = game_object.AddComponent<CircleCollider2D>();
                break;
            case SpriteBehavior.ColliderType.Polygon:
                behavior.collider2d = game_object.AddComponent<PolygonCollider2D>();
                break;
        }
        behavior.touching_anything = false;
        return behavior;
    }
 // Use this for initialization
 void Start()
 {
     ID = this.gameObject.name;
     myCurrentSprintShape = 0;
     myTimer = 0f;
     // Ensure this item is hidden on startup, since it should only be displayed when the client is finally connected.
     SpriteBehavior.SetSpriteAlpha(this.gameObject, 0.0f);
 }
Пример #6
0
    void Update()
    {
        Renderer render = GetComponent <Renderer>();

        if (render != null)
        {
            render.enabled = isVisible;
        }

        if (!myNetworkManager.IsClientConnected())
        {
            SpriteBehavior.FadeAlphaToTarget(this.gameObject, 1f, 0f);
        }
    }
Пример #7
0
    void Update()
    {
        float myTargetAlpha = 0.0f;

        if (isVisible && myNetworkManager.IsClientConnected())
        {
            myTargetAlpha = 1.0f;
        }

        myDebounceTimer += Time.deltaTime;
        if (myDebounceTimer > 60.0f)
        {
            myDebounceTimer = 0.0f;
        }

        SpriteBehavior.FadeAlphaToTarget(this.gameObject, 1f, myTargetAlpha);
    }
    private void HandleTouchZooming(ref Touch touchZero, ref Touch touchOne)
    {
        // Find the position in the previous frame of each touch.
        Vector2 touchZeroPrevPos = touchZero.position - touchZero.deltaPosition;
        Vector2 touchOnePrevPos  = touchOne.position - touchOne.deltaPosition;

        // Find the magnitude of the vector (the distance) between the touches in each frame.
        float prevTouchDeltaMag = (touchZeroPrevPos - touchOnePrevPos).magnitude;
        float touchDeltaMag     = (touchZero.position - touchOne.position).magnitude;

        // Find the difference in the distances between each frame.
        float deltaMagnitudeDiff = prevTouchDeltaMag - touchDeltaMag;

        if (deltaMagnitudeDiff != 0f)
        {
            myDebounceTimer = 0.5f;
            SpriteBehavior.HandleCameraZoom(deltaMagnitudeDiff, inputCamera, m_cameraZoomSpeed, m_minCameraSize, m_maxCameraSize);
        }
    }
    void Update()
    {
        float myTargetAlpha = 0.0f;

        if (isVisible && myNetworkManager.IsClientConnected())
        {
            myTargetAlpha = 1.0f;
        }

        // If the user disconnects, reset to the default color when disconnected...
        if (isSelectedOnDisconnect && !myNetworkManager.IsClientConnected())
        {
            isSelected = true;
            DeselectOtherPaletteObjects();
        }

        HandleSelectionChanges();

        SpriteBehavior.FadeAlphaToTarget(this.gameObject, 1f, myTargetAlpha);
    }
 // Use this for initialization
 void Start()
 {
     myCurrentSprintShape = 0;
     myTimer = 0f;
     SpriteBehavior.SetSpriteAlpha(this.gameObject, 0.0f);
 }
Пример #11
0
    // Update is called once per frame
    void Update()
    {
        updateChangingFloatConstants();
        uOffsetPerSecond.Update();
        vOffsetPerSecond.Update();
        displacementAnglePerSecond.Update();

        uvOffset.x = Repeat(uvOffset.x + uOffsetPerSecond.Value * Time.deltaTime, 1f);
        uvOffset.y = Repeat(uvOffset.y + vOffsetPerSecond.Value * Time.deltaTime, 1f);
        TunnelMaterial.SetVector("_UVOffset", uvOffset);

        displacementAngle = Repeat(displacementAngle + displacementAnglePerSecond.Value * Time.deltaTime, Mathf.PI * 2);
        Vector4 displacement = new Vector4();

        displacement.x = Mathf.Cos(displacementAngle) * DisplacementRadius;
        displacement.y = Mathf.Sin(displacementAngle) * DisplacementRadius;
        SpriteMaterial.SetVector("_Displacement", displacement);
        TunnelMaterial.SetVector("_Displacement", displacement);

        spriteCountdown -= Time.deltaTime;
        if (spriteCountdown <= 0)
        {
            spriteCountdown = Random.Range(MinSpriteCountdown, MaxSpriteCountdown);
            Vector2    position     = Random.insideUnitCircle * MaxSpriteRadius;
            GameObject spriteObject = Instantiate(SpriteTemplate, new Vector3(position.x, position.y, 50f), Quaternion.identity) as GameObject;
            spriteObject.transform.SetParent(SpriteContainer, false);
            spriteObject.GetComponent <SpriteRenderer>().sprite = Sprites[Random.Range(0, Sprites.Length)];
            SpriteBehavior spriteBehavior = spriteObject.GetComponent <SpriteBehavior>();
            spriteBehavior.Advance  = SpriteAdvance;
            spriteBehavior.Lifetime = 4.5f;
        }

        foreach (Transform sprite in SpriteContainer.transform)
        {
            if (sprite.GetComponent <SpriteBehavior>().FromPlayer)
            {
                continue;
            }

            foreach (Transform spritePlayer in SpriteContainer.transform)
            {
                if (!spritePlayer.GetComponent <SpriteBehavior>().FromPlayer)
                {
                    continue;
                }

                Vector3 offset   = sprite.localPosition - spritePlayer.localPosition;
                float   distance = offset.magnitude;
                if (distance < 2f)
                {
                    Instantiate(WordTemplates[wordIndex], spritePlayer.localPosition + offset / 2f, Quaternion.identity);
                    wordIndex = (wordIndex + 1) % WordTemplates.Length;

                    Destroy(sprite.gameObject);
                    Destroy(spritePlayer.gameObject);

                    GetComponent <AudioSource>().PlayOneShot(wordClip);
                }
            }
        }

        bgCountdown -= Time.deltaTime;
        if (bgCountdown <= 0)
        {
            bgCountdown = 120f;
            GetComponent <MeshRenderer>().sharedMaterial.mainTexture = BgTextures[bgIndex];
            bgIndex = (bgIndex + 1) % BgTextures.Length;

            themeIndex       = (themeIndex + 1) % 2;
            themeSource.clip = themeClips[themeIndex];
            themeSource.Play();

            float hue = Random.Range(0f, 1f);
            TunnelMaterial.SetColor("_ColorR", HSVToRGB(
                                        hue,
                                        Random.Range(0.8f, 1f),
                                        Random.Range(0.8f, 1f)
                                        ));
            hue = Mathf.Repeat(hue + Random.Range(0.2f, 0.4f), 1f);
            TunnelMaterial.SetColor("_ColorG", HSVToRGB(
                                        hue,
                                        Random.Range(0.8f, 1f),
                                        Random.Range(0.8f, 1f)
                                        ));
            hue = Mathf.Repeat(hue + Random.Range(0.2f, 0.4f), 1f);
            TunnelMaterial.SetColor("_ColorB", HSVToRGB(
                                        hue,
                                        Random.Range(0.8f, 1f),
                                        Random.Range(0.8f, 1f)
                                        ));
        }
    }
Пример #12
0
 void Start()
 {
     // Ensure this item is hidden on startup, since it should only be displayed when the client is finally connected.
     SpriteBehavior.SetSpriteAlpha(this.gameObject, 0.0f);
 }
Пример #13
0
 public static RigidbodyBehavior InitializeRigidbodyBehavior(RigidbodyBehavior behavior, SpriteBehavior.ColliderType collider_type, string sprite_path, float x = 0, float y = 0)
 {
     InitializeSpriteBehavior(behavior, collider_type, sprite_path, x, y);
     behavior.rigid_body = behavior.gameObject.AddComponent<Rigidbody2D>();
     return behavior;
 }