public void RemoveSprite(Sprite sprite) { sprite.SetSizeXY(0, 0); sprite.v1 = Vector3.zero; sprite.v2 = Vector3.zero; sprite.v3 = Vector3.zero; sprite.v4 = Vector3.zero; vertices[sprite.mv1] = sprite.v1; vertices[sprite.mv2] = sprite.v2; vertices[sprite.mv3] = sprite.v3; vertices[sprite.mv4] = sprite.v4; // Remove the sprite from the billboarded list // since that list should only contain active // sprites: if (sprite.billboarded) { activeBillboards.Remove(sprite); } else { activeBlocks.Remove(sprite); } // Clean the sprite's settings: sprite.Clear(); availableBlocks.Add(sprite); vertsChanged = true; }
IEnumerator ChangeButtonSize(Sprite s, float finalWidth, float Height, float speed) { float newWidth; float newHeight; float progress = 0; float width = s.width; float height = s.height; while (progress < 1) { progress += speed * Time.deltaTime; if (progress > 1) { progress = 1; } newWidth = Mathfx.Sinerp(width, finalWidth, progress); newHeight = Mathfx.Sinerp(height, finalWidth, progress); s.SetSizeXY(newWidth, newHeight); yield return(new WaitForEndOfFrame()); } }
// Update is called once per frame void Update() { if (GameState.CurrentGameState != GameState.EGameState.GameState_Active) { return; } if (armed) { armedTimer -= Time.deltaTime; if (armedTimer <= 0.0f) { // TODO : WE EXPLODE GameObject[] divers = GameObject.FindGameObjectsWithTag("diver"); for (int i = 0; i < divers.Length; ++i) { GameObject diver = divers[i]; float distance = (diver.transform.position - transform.position).magnitude; if (distance <= bombRadius) { diver.gameObject.SendMessage("OnDie", SendMessageOptions.DontRequireReceiver); } } armed = false; sprite.SetSizeXY(3.0f, 3.0f); sprite.PlayAnim("Explode"); sprite.SetAnimCompleteDelegate(delegate() { Destroy(transform.parent.gameObject); }); Messenger <string> .Invoke("OnPlaySFX", "Explosion_4"); } } }
IEnumerator BlinkSprite(Sprite s, float scale, float speed, int count, float decreaseScale, float basewidth, float baseHeight) { float newWidth; float newHeight; for (int i = 0; i < count; i++) { float progress = 0; while (progress < 2) { progress += speed * Time.deltaTime; if (progress > 2) { progress = 2; } newWidth = Mathfx.Sinerp(basewidth, basewidth * scale, progress); newHeight = Mathfx.Sinerp(baseHeight, baseHeight * scale, progress); s.SetSizeXY(newWidth, newHeight); yield return(new WaitForEndOfFrame()); } scale -= decreaseScale; } }
public void UpdateSpriteSize(Sprite sprite, Vector2 upperLeft, float width, float height) { float xPos = (upperLeft.x + _xOffset + (width / 2.0f)); float yPos = (int)ZeroLocation * (-upperLeft.y + _yOffset - (height / 2.0f)); sprite.clientTransform.position = new Vector3(xPos, yPos, sprite.clientTransform.position.z); sprite.SetSizeXY(width, height); Transform(sprite); }
IEnumerator BlinkComboMessage(Sprite s, float scale, float speed, int count, float decreaseScale, float basewidth, float baseHeight) { ComboMessageOn = true; if (SpriteHitsMessage.hidden == false) { GuiManager.StartCoroutine(DisappearSprite(SpriteHitsMessage, 0.2f)); } for (int i = 0; i < SpriteHitNumbers.Sprites.Length; i++) { if (SpriteHitNumbers.Sprites[i].hidden == false) { GuiManager.StartCoroutine(DisappearSprite(SpriteHitNumbers.Sprites[i], 0.2f)); } } yield return(new WaitForSeconds(0.1f)); GuiManager.StartCoroutine(ShowSprite(SpriteComboMessage, 0.2f)); float newWidth; float newHeight; Color c = Color.white; for (int i = 0; i < count; i++) { float progress = 0; while (progress < 2) { progress += speed * Time.deltaTime; if (progress > 2) { progress = 2; } newWidth = Mathfx.Sinerp(basewidth, basewidth * scale, progress); newHeight = Mathfx.Sinerp(baseHeight, baseHeight * scale, progress); s.SetSizeXY(newWidth, newHeight); if (progress > 1) { c.a = 2 - progress; s.SetColor(c); } yield return(new WaitForEndOfFrame()); } scale -= decreaseScale; } DefaultSpriteUI.HideSprite(s); ComboMessageOn = false; SetHitsCount(Game.Instance.Hits, false); }
void UpdateSpriteSize(Sprite sprite, Vector2 leftDown, float width, float height, Vector2 lowerLeftUV, Vector2 uvSize) { float xPos = (leftDown.x + _xOffset + (width / 2.0f)); float yPos = (int)ZeroLocation * (-leftDown.y + _yOffset - (height / 2.0f)); sprite.clientTransform.position = new Vector3(xPos, yPos, sprite.clientTransform.position.z); sprite.SetSizeXY(width, height); sprite.uvDimensions = uvSize; sprite.lowerLeftUV = lowerLeftUV; }
// Use this for initialization void Start() { GameObject refObj = GameObject.Find( "SPM_Filter" ); Manager = (SpriteManager)refObj.GetComponent( typeof(SpriteManager) ); Filter = Manager.AddSprite( gameObject, 4,4,0,0,4,4, false ); Filter.offset = new Vector3(240.0f, -400.0f, 0); Filter.SetDrawLayer( 5 ); Filter.SetSizeXY( 500, 820 ); Debug.Log("FilterOn"); }
public static void setNumber(SpriteManager man, Sprite spr,int num , int count , bool draw) { //if( num < 10 ) { int x = 0,y = 0; if(draw) { x = num; y = 0; spr.SetSizeXY( WIDTH_NUM * GameManager.Instance.getScreenW(), HEIGHT_NUM * GameManager.Instance.getScreenH() ); //time[i].SetSizeXY( time[i].width/2* GameManager.Instance.getScreenW() //, time[i].height/2 * GameManager.Instance.getScreenH()); }else { spr.SetSizeXY( 0.0f ,0.0f ); } spr.lowerLeftUV = man.PixelCoordToUVCoord( x * WIDTH_NUM , 0); } }
// Adds a sprite to the manager at the location and rotation of the client // GameObject and with its transform. Returns a reference to the new sprite // Width and height are in world space units // lowerLeftUV - the UV coordinate for the upper-left corner // UVDimensions - the distance from lowerLeftUV to place the other UV coords public Sprite AddSprite(GameObject client, float width, float height, Vector2 lowerLeftUV, Vector2 UVDimensions, bool billboarded) { int spriteIndex; // Get an available sprite: if (availableBlocks.Count < 1) { EnlargeArrays(allocBlockSize); // If we're out of available sprites, allocate some more: } // Use a sprite from the list of available blocks: spriteIndex = ((Sprite)availableBlocks[0]).index; availableBlocks.RemoveAt(0); // Now that we're using this one, remove it from the available list // Assign the new sprite: Sprite newSprite = sprites[spriteIndex]; newSprite.client = client; newSprite.lowerLeftUV = lowerLeftUV; newSprite.uvDimensions = UVDimensions; switch (plane) { case SPRITE_PLANE.XY: newSprite.SetSizeXY(width, height); break; case SPRITE_PLANE.XZ: newSprite.SetSizeXZ(width, height); break; case SPRITE_PLANE.YZ: newSprite.SetSizeYZ(width, height); break; default: newSprite.SetSizeXY(width, height); break; } // Save this to an active list now that it is in-use: if (billboarded) { newSprite.billboarded = true; activeBillboards.Add(newSprite); } else { activeBlocks.Add(newSprite); } // Transform the sprite: newSprite.Transform(); // Setup the UVs: UVs[newSprite.uv1] = lowerLeftUV + Vector2.up * UVDimensions.y; // Upper-left UVs[newSprite.uv2] = lowerLeftUV; // Lower-left UVs[newSprite.uv3] = lowerLeftUV + Vector2.right * UVDimensions.x; // Lower-right UVs[newSprite.uv4] = lowerLeftUV + UVDimensions; // Upper-right // Set our flags: vertsChanged = true; uvsChanged = true; return(newSprite); }
public void RemoveSprite(Sprite sprite) { sprite.SetSizeXY(0,0); sprite.v1 = Vector3.zero; sprite.v2 = Vector3.zero; sprite.v3 = Vector3.zero; sprite.v4 = Vector3.zero; vertices[sprite.mv1] = sprite.v1; vertices[sprite.mv2] = sprite.v2; vertices[sprite.mv3] = sprite.v3; vertices[sprite.mv4] = sprite.v4; sprite.client = null; availableBlocks.Add(sprite); // Remove the sprite from the billboarded list // since that list should only contain active // sprites: if (sprite.billboarded) activeBillboards.Remove(sprite); else activeBlocks.Remove(sprite); sprite.billboarded = false; vertsChanged = true; }
// Use this for initialization void Start() { GameObject refObj = GameObject.Find("Filter_MNG"); Manager = (SpriteManager)refObj.GetComponent( typeof(SpriteManager)); Filter = Manager.AddSprite( gameObject , 4, 4, 0 , 0 , 4, 4, false ); Filter.offset = new Vector3( Screen.width / 2 , Screen.height / 2 , -2 ); Filter.SetDrawLayer( 5 ); Filter.SetSizeXY( Screen.width * 10, Screen.height * 10); alphe = 0.0f; Awake(); setAlphe(); //SOUND if(type == TYPE_MENU) { GameObject seObj = (GameObject)Resources.Load("Sound/sound_se_Menu"); GameObject obj = (GameObject)Instantiate( seObj ); } }