private void ChangeTransparencyAccordingToHealth(IUserObject aUserObject) { Color objectColor = aUserObject.GetGameObject().GetComponent <SpriteRenderer> ().material.color; objectColor.a = ((float)aUserObject.GetHealth()) / aUserObject.GetInitialHealth(); aUserObject.GetGameObject().GetComponent <SpriteRenderer> ().material.color = objectColor; }
private void ResizeSprite(IUserObject aUserObject) { GameObject gameObject = aUserObject.GetGameObject(); RectTransform rectTransform = gameObject.GetComponent <RectTransform> (); IShape shape = aUserObject.GetShape(); float newWidth = 1f; float newHeight = 1f; if (typeof(IRectangle).IsAssignableFrom(aUserObject.GetShape().GetType())) { newWidth = ((IRectangle)shape).GetWidth(); newHeight = ((IRectangle)shape).GetHeight(); } else if (typeof(ICircle).IsAssignableFrom(aUserObject.GetShape().GetType())) { newWidth = 2 * ((ICircle)shape).GetRadius(); newHeight = newWidth; } SpriteRenderer spriteRenderer = gameObject.GetComponent <SpriteRenderer> (); Vector3 localScale = rectTransform.localScale; localScale.x = newWidth / spriteRenderer.sprite.bounds.size.x; localScale.y = newHeight / spriteRenderer.sprite.bounds.size.y; rectTransform.localScale = localScale; }
private void Visit(IPoint <IUserObject> aPoint) { IUserObject currentUserObject = aPoint.GetUserObject(); IShape currentShape = currentUserObject.GetShape(); IUserObject insertedUserObject = this.insertedPoint.GetUserObject(); IShape insertedShape = insertedUserObject.GetShape(); bool collision = CheckCollision(currentShape, insertedShape); if (collision) { insertedUserObject.TakeDamage(this.damagePoint); currentUserObject.TakeDamage(this.damagePoint); ParticleSystem particleSystem = currentUserObject.GetGameObject().GetComponent <ParticleSystem> (); particleSystem.Play(); ChangeTransparencyAccordingToHealth(insertedUserObject); ChangeTransparencyAccordingToHealth(currentUserObject); } }
public void PushBackDeadObject(IUserObject aUserObject) { aUserObject.GetGameObject().SetActive(false); this.deadObjectsPool.Enqueue(aUserObject); }