diff --git a/src/Objects/Block.cs b/src/Objects/Block.cs index b37bdf1..817c1c0 100644 --- a/src/Objects/Block.cs +++ b/src/Objects/Block.cs @@ -1,9 +1,12 @@ using Godot; -public class Block : StaticBody2D +public class Block : StaticBody2D, IInitializable { public new BlockPos Position { get => BlockPos.FromVector(base.Position); set => base.Position = value.ToVector(); } - public Color Color { get => Modulate; set => Modulate = value; } + public Color Color { get => Sprite.SelfModulate; set => Sprite.SelfModulate = value; } public bool Unbreakable { get; set; } = false; + + public Sprite Sprite { get; private set; } + public void Initialize() => Sprite = GetNode("Sprite"); } diff --git a/src/Objects/Player.cs b/src/Objects/Player.cs index e6cf5de..82bd1f5 100644 --- a/src/Objects/Player.cs +++ b/src/Objects/Player.cs @@ -17,7 +17,7 @@ public class Player : KinematicBody2D, IInitializable public int NetworkID { get => int.Parse(Name); set => Name = value.ToString(); } public string DisplayName { get => DisplayNameLabel.Text; set => DisplayNameLabel.Text = value; } - public Color Color { get => Sprite.Modulate; set => Sprite.Modulate = value; } + public Color Color { get => Sprite.SelfModulate; set => Sprite.SelfModulate = value; } public float Health { get; set; } = 1.0F; public bool IsAlive => Health > 0.0F;