// Constructors =======================================// public Hud(GameScreen parent) : base(parent) { // Initialize Fields maxDamage = 100f; damageValue = 100f; resistanceValue = 100f; scoreValue = GlobalVariables.score; moneyValue = GlobalVariables.money; hudSprite = Engine.Content.Load<Texture2D>("Content\\Textures\\damage"); SpriteFont font1 = Engine.Content.Load<SpriteFont>("Content\\Fonts\\FontAgency24"); // Initialize the Damage bars damageText = new Entity2D(hudSprite, new Vector2(15f, 30f), this.Parent); damageText.Rectangle = new Rectangle(0, 150, 260, 50); damageBox = new Entity2D(hudSprite, new Vector2(10f, 10f), this.Parent); damageBox.Rectangle = new Rectangle(0, 0, 260, 50); damageBarGlass = new Entity2D(hudSprite, new Vector2(10f, 20f), this.Parent); damageBarGlass.Rectangle = new Rectangle(0, 50, 260, 50); damageBar = new Entity2D(hudSprite, new Vector2(20f, 20f), this.Parent); damageBar.Rectangle = new Rectangle(0, 100, 238, 50); // Initialize the text Vector2 bgHudPos = new Vector2(0, Engine.Viewport.Height - 90); levelText = new EntityText(font1, new Vector2(10, 11), "Level:"+GlobalVariables.level.ToString(), this.Parent); levelText.Position = new Vector2(Engine.Viewport.Width-120, bgHudPos.Y + 15); scoreText = new EntityText(font1, new Vector2(10, 11), GlobalVariables.score.ToString(), this.Parent); scoreText.Position = new Vector2(230, bgHudPos.Y + 15); moneyText = new EntityText(font1, new Vector2(10, 35), GlobalVariables.money.ToString(), this.Parent); moneyText.Position = new Vector2(530, bgHudPos.Y + 15); hudSprite = Engine.Content.Load<Texture2D>("Content\\Textures\\moneyHUD"); // Initialize the score and money fields scoreGlass = new Entity2D(hudSprite, new Vector2(10, bgHudPos.Y), this.Parent); scoreGlass.Rectangle = new Rectangle(0, 200, 300, 100); moneyGlass = new Entity2D(hudSprite, new Vector2(300, bgHudPos.Y), this.Parent); moneyGlass.Rectangle = new Rectangle(0, 200, 300, 100); score = new Entity2D(hudSprite, new Vector2(10, bgHudPos.Y), this.Parent); score.Rectangle = new Rectangle(0, 0, 300, 100); money = new Entity2D(hudSprite, new Vector2(300, bgHudPos.Y), this.Parent); money.Rectangle = new Rectangle(0, 100, 300, 100); // Initialize the black Texture black = new Entity2D(Engine.Content.Load<Texture2D>("Content\\Textures\\black"), new Vector2(0, 400), this.Parent); black.Rectangle = new Rectangle(0, 0, 800, 75); black.Position = bgHudPos; black.Alpha = 0.3f; }
public void LoadDialogueFromJson() { _entityText = GetComponent <EntityText>(); if (TryDownloadingBlob) { StartCoroutine(DownloadBlob()); } // First: Is the downloaded blob empty? If so, use a local data file. if (string.IsNullOrEmpty(RawBlob)) { RawBlob = FetchLocalBlob(); // Second: Is the local data file empty? If so, don't go any further, // because this is a waste of time. if (string.IsNullOrEmpty(RawBlob)) { return; } else { _entityText.MapBlob(RawBlob); } } else { _entityText.MapBlob(RawBlob); } }
// Initializor============================================= public override void Initialize() { // Initialize the keyboard keyboard = Engine.Services.GetService<KeyboardDevice>(); mouseDevice = Engine.Services.GetService<MouseDevice>(); mouseDevice.ResetMouseAfterUpdate = false; // Initialize buttons Texture2D texture; hand = new Entity2D(Engine.Content.Load<Texture2D>("Content\\Textures\\hand"), new Vector2(mouseDevice.State.X, mouseDevice.State.Y), this); texture = Engine.Content.Load<Texture2D>("Content\\Textures\\menuReturnBtn"); returnBtn = new Button(texture, new Vector2((Engine.Viewport.Width / 2) - (texture.Width / 2), 270), this); texture = Engine.Content.Load<Texture2D>("Content\\Textures\\menuMenuBtn"); menuBtn = new Button(texture, new Vector2((Engine.Viewport.Width / 2) - (texture.Width / 2), 320), this); texture = Engine.Content.Load<Texture2D>("Content\\Textures\\menuQuitBtn"); quitBtn = new Button(texture, new Vector2((Engine.Viewport.Width / 2) - (texture.Width / 2), 370), this); pauseText = new EntityText(Engine.Content.Load<SpriteFont>("Content\\Fonts\\FontAgency24"), new Vector2((Engine.Viewport.Width / 2)-40, 200), "PAUSE", this); // Initialize the black texture black = new Entity2D(Engine.Content.Load<Texture2D>("Content\\Textures\\black"), Vector2.Zero, this); black.Alpha = 0.4f; base.Initialize(); }
public int sizeOfText(EntityText textEntity) { // The width of each character in the spriteFont int charWidth = 13; // return the size of the text return charWidth * textEntity.Text.Length; }
public override void Start() { base.Start(); _entityText = GetComponent <EntityText>(); _controlManager = ControlManager.Instance; _dialogueController = DialogueController.Instance; }
public override void Start() { base.Start(); _entityText = GetComponent<EntityText>(); _controlManager = ControlManager.Instance; _dialogueController = DialogueController.Instance; }
// Initializor============================================= public override void Initialize() { // Initialize the keyboard keyboard = Engine.Services.GetService<KeyboardDevice>(); mouseDevice = Engine.Services.GetService<MouseDevice>(); mouseDevice.ResetMouseAfterUpdate = false; Texture2D texture; Texture2D level_finish_bg=Engine.Content.Load<Texture2D>("Content\\Textures\\level_finish_bg"); hand = new Entity2D(Engine.Content.Load<Texture2D>("Content\\Textures\\hand"), new Vector2(mouseDevice.State.X, mouseDevice.State.Y), this); // Initialize the Game Text string level="LEVEL " + GlobalVariables.level.ToString() + " COMPLETE"; titleText = new EntityText(Engine.Content.Load<SpriteFont>("Content\\Fonts\\FontAgency24"), new Vector2((Engine.Viewport.Width / 2) - 20, 200), level, this); string score = "Score: " + GlobalVariables.score.ToString()+" points."; scoreText = new EntityText(Engine.Content.Load<SpriteFont>("Content\\Fonts\\FontAgency24"), new Vector2((Engine.Viewport.Width / 2) - 120, 270), score, this); string money = "Money: " + GlobalVariables.money.ToString() + " Dirhams"; moneyText = new EntityText(Engine.Content.Load<SpriteFont>("Content\\Fonts\\FontAgency24"), new Vector2((Engine.Viewport.Width / 2) - 120, 330), money, this); // Initialize the black texture texture = Engine.Content.Load<Texture2D>("Content\\Textures\\next_btn"); nextBtn = new Button(texture, new Vector2(475, 380), this); background = new Entity2D(level_finish_bg, Vector2.Zero, this); background.Alpha = 0f; background.Position = new Vector2((Engine.Viewport.Width / 2) - (background.Texture.Width / 2), (Engine.Viewport.Height / 2) - (background.Texture.Height / 2)); fade = new Entity2D(Engine.Content.Load<Texture2D>("Content\\Textures\\black"), Vector2.Zero, this); fade.Alpha = 0.4f; base.Initialize(); }
private void GetEntityName() { if (!string.IsNullOrEmpty(EntityText)) { foreach (string line in EntityText.Split('\n')) { if (line.TrimStart().StartsWith("public") && line.Contains("class")) { string[] stats = line.Trim().Split(' '); for (int i = 0; i < stats.Length - 1; i++) { if (stats[i] == "class") { EntityName = stats[i + 1]; OnPropertyChanged("EntityName"); } } } } } }
public void LoadDialogueFromJson() { _entityText = GetComponent<EntityText>(); if(TryDownloadingBlob) StartCoroutine(DownloadBlob()); // First: Is the downloaded blob empty? If so, use a local data file. if(string.IsNullOrEmpty(RawBlob)) { RawBlob = FetchLocalBlob(); // Second: Is the local data file empty? If so, don't go any further, // because this is a waste of time. if(string.IsNullOrEmpty(RawBlob)) return; else _entityText.MapBlob(RawBlob); } else { _entityText.MapBlob(RawBlob); } }
private void GenerateAdapter_Click(object sender, RoutedEventArgs e) { if (!string.IsNullOrEmpty(EntityText)) { StringBuilder sbAdapterFinal = new StringBuilder(); sbAdapterFinal.AppendLine(); sbAdapterFinal.AppendLine("#region Entity properties"); sbAdapterFinal.AppendLine(); StringBuilder sbAdapter; StringBuilder sbDeepCopy = new StringBuilder(); StringBuilder sbMaintain = new StringBuilder(); StringBuilder sbPropertyChanged = new StringBuilder(); foreach (string line in EntityText.Split('\n')) { //find out all Resx tags if (line.TrimStart().StartsWith("public") && !line.Contains(" class ")) { string[] stats = line.Trim().Split(' '); if (stats.Length == 3) { sbAdapter = new StringBuilder(); //public string FlightNumber sbAdapter.Append(stats[0] + " "); if (stats[1] == "String ") { sbAdapter.Append("string "); } else { sbAdapter.Append(stats[1] + " "); } sbAdapter.Append(stats[2]); sbAdapter.AppendLine(); //{ sbAdapter.AppendLine("{"); // get { return Flight.FlightNumber; } sbAdapter.AppendLine(" get { return " + EntityName + "." + stats[2] + ";}"); //} sbAdapterFinal.AppendLine("}"); sbAdapterFinal.AppendLine(); // Deep copy // target.Code = source.Code; sbDeepCopy.AppendLine("target." + stats[2] + " = " + "source." + stats[2] + ";"); sbAdapterFinal.Append(sbAdapter); //set //{ // if (value != group.Name) // { // group.Name = value; // RaisePropertyChangedEvent("Name"); // } //} sbAdapter.AppendLine(" set {"); sbAdapter.AppendLine(" if (value != " + EntityName + "." + stats[2] + ")"); sbAdapter.AppendLine(" {"); sbAdapter.AppendLine(" " + EntityName + "." + stats[2] + " = value;"); sbAdapter.AppendLine(" RaisePropertyChangedEvent(\"" + stats[2] + "\");"); sbAdapter.AppendLine(" }}"); sbAdapter.AppendLine(" }"); sbMaintain.Append(sbAdapter); // case "Resource": // RaisePropertyChangedEvent("Stand"); // break; sbPropertyChanged.AppendLine("case \"" + stats[2] + "\" :"); sbPropertyChanged.AppendLine(" RaisePropertyChangedEvent(\"" + stats[2] + "\" );"); sbPropertyChanged.AppendLine(" break;"); } } } sbAdapterFinal.AppendLine(); sbAdapterFinal.AppendLine("#endregion"); AdapterText = sbAdapterFinal.ToString(); OnPropertyChanged("AdapterText"); CopyText = sbDeepCopy.ToString(); OnPropertyChanged("CopyText"); MaintainText = sbMaintain.ToString(); OnPropertyChanged("MaintainText"); PropertyChangedText = sbPropertyChanged.ToString(); OnPropertyChanged("PropertyChangedText"); } }
protected override void Setup(Model Model, Vector3 Position) { base.Setup(Model, Position); this.Scale = new Vector3(0.125f / 1.3f); this.Position += new Vector3(0f, 2f, 0f); this.defaultLightingEnabled = true; releaseType = ReleaseType.Danger; text = new EntityText(Engine.Content.Load<SpriteFont>("Content\\Fonts\\FontAgency24Or"), GraphicsUtil.GetProjectPoint(Position), "Good !", this.Parent); text.Visible = false; }
public void PresentEntityText(EntityText entityText) { TextThread thread = entityText.GetCurrentTextThread(); PresentTextThread(thread); }
private void AcquireTextFromAvailableEntities() { if (_textProviders == null || _textProviders.Length == 0) { return; } EntityText availableEntity = _textProviders.FirstOrDefault(t => t.CanTalk == true); if (DebugMode) { Debug.Log("There is " + (availableEntity == default(EntityText) ? "no" : "an") + " NPC that can talk."); } // Code Case: We no longer have an entity, but we still show there being dialogue. // User Case: Player has left a trigger with text still shown. // Desired Result: Stop showing text, reset line counter. if (availableEntity == default(EntityText) && DialogueAvailable) { if (DebugMode) { Debug.Log("User has left a text trigger, so hide text."); } _currentThread.ResetIndex(); DialogueAvailable = false; HideElements(); } // Code Case: We have an entity, and we do not see any current dialogue. // User Case: Player has initiated a conversation sequence. // Desired Result: Start showing text, set line counter to first item, set speaker name. // Also, lock the player's player control script. else if (availableEntity != default(EntityText) && (!DialogueAvailable)) { if (DebugMode) { Debug.Log("Player has initiated a conversation."); } _currentThread = availableEntity.CurrentThread(_ambassador.SequenceCounters); _currentThread.ResetIndex(); DialogueText currentText = _currentThread.GetCurrentText(); if (currentText != null) { PresentLine(currentText); DialogueAvailable = true; PlayerHasControl(false); ShowElements(); } } // Code Case: We have both an entity and show dialogue // User Case: An conversation is on-going // Desired Result: Do not mess with it! // Code Case: We have no entity and show no dialogue [Default State] // User Case: User is doing some non-conversation activity // Desired Result: Do nothing. }
protected override void Setup(Model Model, Vector3 Position) { base.Setup(Model, Position); shadow.Scale += new Vector3(0.5f, 0f, 0f); Alpha = 1f; this.Position += new Vector3(0f, 2f, 0f); this.defaultLightingEnabled = true; this.Scale = new Vector3(1f,1f,2f); releaseType = ReleaseType.Money; icon = new Entity2D(Engine.Content.Load<Texture2D>("Content\\Textures\\moneyIcon"), GraphicsUtil.GetProjectPoint(Position), this.Parent); icon.Visible = false; text = new EntityText(Engine.Content.Load<SpriteFont>("Content\\Fonts\\FontAgency24Or"), GraphicsUtil.GetProjectPoint(Position), "Money !", this.Parent); text.Visible = false; }
protected override void Setup(Model Model, Vector3 Position) { base.Setup(Model, Position); this.Scale = new Vector3(0.125f / 1.3f); this.defaultLightingEnabled = true; this.Position += new Vector3(0f, 2f, 0f); releaseType = ReleaseType.Normal; icon = new Entity2D(Engine.Content.Load<Texture2D>("Content\\Textures\\scoresIcon"), GraphicsUtil.GetProjectPoint(Position), this.Parent); icon.Visible = false; text = new EntityText(Engine.Content.Load<SpriteFont>("Content\\Fonts\\FontAgency24Or"), GraphicsUtil.GetProjectPoint(Position), "+100", this.Parent); text.Visible = false; }