protected override void Render() { if (drawArt) { Player player = PlayerInstanceManager.GetPlayer(Singleton <Map> .GetInstance().map) as Player; bgArt.Draw(0, 0); enemyArt.Draw(10, 10); DialogHelper.WriteDialog(ConsoleColor.Yellow, ConsoleColor.Black, 130, 0, 54, $"{enemy.Name}:"); int i = 1; enemy.PartyMembers?.ForEach(n => { DialogHelper.WriteDialog(ConsoleColor.Red, ConsoleColor.Black, 130, (i * 5), 54, $"{n.Name}:"); i++; } ); DialogHelper.WriteDialog(ConsoleColor.Blue, ConsoleColor.Black, 184, 0, 54, $"{player.Name} ({player.Race.Name} {player.Class.Name})", $"Hp:{player.HP.MaxBase} Stamina {player.Stamina.MaxBase}", "Magic--------------", $"Fire:{player.Fire.MaxBase} Water:{player.Water.MaxBase}", $"Earth:{player.Earth.MaxBase} Wind:{player.Wind.MaxBase}", $"Chaos:{player.Chaos.MaxBase} Order:{player.Order.MaxBase}", $"Dark:{player.Darkness.MaxBase} Light:{player.Light.MaxBase}" ); drawArt = false; } }
protected override void Render() { var player = PlayerInstanceManager.GetPlayer(map) as NPCBase; if (player != null) { ConsoleHelper.AltClear(); map.GetSubGrid(player.X - 25, player.Y - 25, 50, 50, isDay).Render(); ConsoleHelper.Write(desciription, ConsoleColor.White, ConsoleColor.Black); ConsoleHelper.Write("".PadRight(90 - desciription.Length, '#'), ConsoleColor.Black, ConsoleColor.Black); Console.WriteLine(); RedrawNext(); if (redrawCharacterInfo) { DialogHelper.WriteDialog(ConsoleColor.Red, ConsoleColor.Black, 102, 0, 50, $"Name: {player?.Name}", $"Race: {player?.Race.Name}", $"Gender: {player?.Gender}", $"Class: {player?.Class.Name}"); redrawCharacterInfo = false; } foreach (Entities.Agent.NPCBase npc in map.Agents) { ConsoleHelper.Write("XXXXXXXXXXXXXXXXXXXX", ConsoleColor.Black, ConsoleColor.Black); Console.CursorLeft = 0; Console.Write($"{npc.Name}: x={npc.X},y={npc.Y}"); Console.WriteLine(); } } }
public override void Detect() { var target = PlayerInstanceManager.GetPlayer(me.Grid) as NPCBase; if (this.Distance() < 2) { Console.Clear(); Program.currentState = Singleton <GameState.BattleState.BattleState> .GetInstance(me); Program.currentState.RunInitiate(); Program.currentState.RedrawNext(); } switch (this.State) { case AIState.Aware: if (me.Awareness.Current * 2 > Distance()) //this might change later but oh well { this.State = AIState.Hunting; } break; case AIState.Normal: if (me.Awareness.Current > Distance()) //this might change later but oh well { this.State = AIState.Hunting; } break; case AIState.Sleeping: if (me.Stamina.Current == me.Stamina.Max) { this.State = AIState.Normal; } else { me.Regenerate(); //sleeping soundly } break; case AIState.Dead: //WTF do you want i am dead!!! break; case AIState.Hunting: this.me.Stamina.Current--; if (me.Stamina.Current <= 0) { this.State = AIState.Sleeping; // he got exausted } break; } }
public override void Action() { var player = PlayerInstanceManager.GetPlayer(Singleton <NewGame> .GetInstance()) as NPCBase; Exit(); Program.currentState = Singleton <NewGame> .GetInstance(); player.Class = getclasses()[Selected]; Console.Clear(); Program.currentState.RedrawNext(); }
public override void Action() { var player = PlayerInstanceManager.GetPlayer(Singleton <NewGame> .GetInstance()) as NPCBase; Exit(); Program.currentState = Singleton <NewGame> .GetInstance(); Console.Clear(); player.Race = (Entities.Agent.Race.RaceBase)Singleton.GetInstance(types[Selected]); Program.currentState.RedrawNext(); }
public override void Action() { var player = PlayerInstanceManager.GetPlayer(Singleton <NewGame> .GetInstance()) as NPCBase; Exit(); Program.currentState = Singleton <NewGame> .GetInstance(); player.Gender = (Gender)Enum.Parse(typeof(Gender), options[Selected]); Console.Clear(); Program.currentState.RedrawNext(); }
protected override void Initiate() { Console.Clear(); var pallet = ParentGrid.GetPallet(typeof(SakuraBlue.Entities.Tiles.Forest).Assembly); map = new ParentGrid($"{AppDomain.CurrentDomain.BaseDirectory}\\Maps\\map1.bmp", pallet); //Player.SetPlayer(fromCharacterCreaton); PlayerInstanceManager.SetPlayer(map.AddAgent <Entities.Agent.Player>(Entities.Agent.Gender.Female, Singleton <Entities.Agent.Race.Human> .GetInstance(), Singleton <Entities.Agent.Class.MageClass> .GetInstance(), "NotInstantiated", 3, 5)); var hostileDjin = map.AddAgent <Entities.Agent.NPCBase>(Entities.Agent.Gender.Female, Singleton <Entities.Agent.Race.Djin> .GetInstance(), Singleton <Entities.Agent.Class.WarriorClass> .GetInstance(), "Hostile Djin female", 8, 25); hostileDjin.AI = new Entities.Agent.AI.HostileAI(hostileDjin); hostileDjin.IsHostile = true; hostileDjin.ArmStarterGear(); hostileDjin.AddPartyMember(Gender.Male, Singleton <Entities.Agent.Race.Narugan> .GetInstance(), Singleton <Entities.Agent.Class.MageClass> .GetInstance(), "Narugan Mage"); Singleton <Music> .GetInstance().Play(@"\Music\Good Night.mp3"); keyInterface = new KeyInterface( new KeyHook(ConsoleKey.UpArrow, () => { desciription = PlayerInstanceManager.GetPlayer(map)?.AgentMove(map, Entities.Agent.Direction.Up); if (desciription != null) { RedrawNext(); } }), new KeyHook(ConsoleKey.DownArrow, () => { desciription = PlayerInstanceManager.GetPlayer(map)?.AgentMove(map, Entities.Agent.Direction.Down); if (desciription != null) { RedrawNext(); } }), new KeyHook(ConsoleKey.LeftArrow, () => { desciription = PlayerInstanceManager.GetPlayer(map)?.AgentMove(map, Entities.Agent.Direction.Left); if (desciription != null) { RedrawNext(); } }), new KeyHook(ConsoleKey.RightArrow, () => { desciription = PlayerInstanceManager.GetPlayer(map)?.AgentMove(map, Entities.Agent.Direction.Right); if (desciription != null) { RedrawNext(); } }), new KeyHook(ConsoleKey.Escape, () => { Program.currentState = Singleton <Menu.TopMenu> .GetInstance(); Console.Clear(); Program.currentState.RedrawNext(); })); }
public override void Action() { switch (Selected) { case 0: Exit(); Program.currentState = Singleton <NewGame> .GetInstance(); Program.currentState.RedrawNext(); break; case 1: Console.Clear(); if ((PlayerInstanceManager.GetPlayer(Singleton <GameState.Map> .GetInstance().map) as Player).Name != "NotInstantiated") { Exit(); Program.currentState = Singleton <Map> .GetInstance(); Program.currentState.RedrawNext(); } else { Exit(); Console.Clear(); ConsoleHelper.WriteLine("No Game Started", ConsoleColor.White, ConsoleColor.Black); Console.ReadLine(); Render(); } break; case 2: Exit(); Program.currentState = Singleton <Options> .GetInstance(); Program.currentState.RunInitiate(); Program.currentState.RedrawNext(); break; case 3: Environment.Exit(0); break; } }