private void ClearOrbBehavior() { if (currentBehavior != null) { currentBehavior.OnUnapply(); } this.currentBehavior = null; SetActiveSprite(defaultSprite); }
private void ApplyOrbBehavior(IOrbBehavior behavior) { if (currentBehavior != null) { currentBehavior.OnUnapply(); } this.currentBehavior = behavior; currentBehavior.OnApply(); if (!sprites.ContainsKey(currentBehavior.Owner.Side)) { sprites[currentBehavior.Owner.Side] = this.AddChild(currentBehavior.CreateSprite()); } SetActiveSprite(sprites[currentBehavior.Owner.Side]); }