public void Hide(CharacterTypeShowing typeShowing = CharacterTypeShowing.Normal) { var text = (Game.Scene as TextScene).NovelInfo.LastOrDefault(); if (text == null) { text = new NovelAction(); (Game.Scene as TextScene).NovelInfo.Add(text); } text.UpdateActions.Add(() => { if (typeShowing == CharacterTypeShowing.Fade) { _isHide = true; } else { IsVisible = false; } }); }
public void Show( Direction direction = Direction.Left, Emotion emotion = Emotion.Normal, CharacterTypeShowing type = CharacterTypeShowing.Normal, float positionOffset = 0 ) { var text = (Game.Scene as TextScene).NovelInfo.LastOrDefault(); if (text == null) { text = new NovelAction(); (Game.Scene as TextScene).NovelInfo.Add(text); } text.UpdateActions.Add(() => { if (_sprite == null) { _sprite = new Sprite(Cache.GetTexture($"{Texture}_{(int) emotion}")); switch (direction) { case Direction.Left: _sprite.Position = new Vector2f ( (float)(1920 * 0.1 + positionOffset), 1080 - _sprite.TextureRect.Height ); break; case Direction.Right: _sprite.Position = new Vector2f ( (float)(1920 - 1920 * 0.1 + positionOffset), 1080 - _sprite.TextureRect.Height ); break; case Direction.Center: _sprite.Position = new Vector2f ( (1920 / 2f - _sprite.TextureRect.Width / 2f + positionOffset), 1080 - _sprite.TextureRect.Height ); break; } } if (type == CharacterTypeShowing.Fade) { _sprite.Color = new Color(_sprite.Color.R, _sprite.Color.G, _sprite.Color.B, 0); } if (!Game.Scene.GameObjects.Contains(this)) { Game.Scene.GameObjects.Insert(1, this); } _isHide = false; IsVisible = true; }); }