protected override void Awake() { _sr = GetComponent <SpriteRenderer>(); _text = GetComponent <TextRenderer>(); _au = GetComponent <AudioSource>(); _animator = GetComponent <Animator>(); _queuedToLaunch = new List <Planet>(); _upgradeMenu = GetComponent <UpgradeMenu>(); // Add outline visual elements _planetOutline = Instantiate <SpriteRenderer>("HoverOutline", Transform.Position); _planetOutline.Sprite = GameController.OutlineSprite; _planetOutline.Layer = 0.6f; _planetOutline.GameObject.SetActive(false); _rangeOutline = Instantiate <SpriteRenderer>("RangeOutline", Transform.Position); _rangeOutline.Sprite = GameController.RangeSprite; _rangeOutline.Color = new Color(38, 38, 38, 25); _rangeOutline.Layer = 0.61f; UpdateAppearance(); OnPopulationChange += UpdatePopulationText; OnPopulationChange(); }
protected override void Awake() { _sr = GetComponent <ISpriteRenderer>(); foreach (var animationClip in _animationClips.Values) { (animationClip as IAnimationClipInternal)?.CreateSpritesheet(); } }
public PacManGame( IEventSink eventSink, IMapLoader <ITilemap> mapLoader, ICollisionDetection collisionDetection, ISpriteRenderer renderer) { _eventSink = eventSink; _mapLoader = mapLoader; _gameState = new GameState(3); _collisionDetection = collisionDetection; _renderer = renderer; }
void DrawSprite(ISpriteRenderer sr) { // Parameters of draw call Texture2D texture = sr.Sprite?.Texture.ToMonoTexture2D() ?? _dummyTexture; // If no texture exists, use dummy texture Rectangle sourceRectangle = sr.Sprite?.SourceRect.ToMonoRectangle() ?? Rectangle.Empty; Rectangle destinationRectangle = new Rectangle((int)sr.Transform.Position.X, (int)sr.Transform.Position.Y, (int)(sourceRectangle.Width * sr.Transform.Scale.X), (int)(sourceRectangle.Height * sr.Transform.Scale.Y)); Color color = sr.Color.ToMonoColor(); float rotation = sr.Transform.Rotation; Vector2 origin = new Vector2(sourceRectangle.Width / 2f, sourceRectangle.Height / 2f); float layerDepth = sr.Layer; // Draw call _spriteBatch.Draw(texture, destinationRectangle, sourceRectangle, color, rotation, origin, SpriteEffects.None, layerDepth); }
/// <summary> /// Initializes a new instance of the Sprite class. /// </summary> /// <param name="spriteRenderer">The owning <see cref="ISpriteRenderer"/>.</param> /// <param name="primitives">The primitives.</param> public Sprite(ISpriteRenderer spriteRenderer, params Primitive[] primitives) { if (primitives == null || primitives.Length == 0) { throw new ArgumentNullException("primitives"); } this.SpriteRenderer = spriteRenderer; this.ViewportSize = spriteRenderer.Viewport.Size; this.backend = spriteRenderer.RenderManager.MiyagiSystem.Backend; this.primitives = primitives; foreach (var pri in primitives) { this.TriangleCount += pri.TriangleCount; this.VertexCount += pri.VertexCount; } spriteRenderer.AddSprite(this); this.textureHandle = RenderManager.TransparentTextureHandle; }
private void DrawGameObjects(IGameObject rootGameObject) { foreach (IComponent component in rootGameObject.GetComponents()) { ISpriteRenderer sr = component as ISpriteRenderer; if (sr != null) { RenderSpriteHandler?.Invoke(sr); } ITextRenderer tr = component as ITextRenderer; if (tr != null) { RenderTextHandler?.Invoke(tr.Font, tr.Text, tr.Transform.Position + tr.Offset, tr.Color, 0.5f, tr.Transform.Rotation, tr.Size, 0.5f); } ILineRenderer lr = component as ILineRenderer; if (lr != null) { RenderLineHandler?.Invoke(lr.Start, lr.End, lr.Color, lr.Size); } } }
/// <summary> /// Removes and disposes the specified renderer. /// </summary> /// <param name="renderer">The renderer to remove.</param> public void DestroyRenderer(ISpriteRenderer renderer) { renderer.Dispose(); this.SpriteRenderers.Remove(renderer); }
public SpriteDifferenceRenderer(ISpriteRenderer renderer) { _renderer = renderer; }
/// <summary> /// Initializes a new instance of the TwoDSprite class. /// </summary> /// <param name="spriteRenderer">The owning <see cref="ISpriteRenderer"/>.</param> /// <param name="primitives">The primitives.</param> public TwoDSprite(ISpriteRenderer spriteRenderer, params Primitive[] primitives) : base(spriteRenderer, primitives) { }
void IRenderManagerInternal.RenderSprite(ISpriteRenderer sr) { RenderSpriteHandler?.Invoke(sr); }
protected override void Awake() { _sr = GetComponent <SpriteRenderer>(); _sr.Layer = 0; }