public void ManaComponentShouldRegenerate() { //Arrange var regenAttrMana = new RegenAttribute { Name = "Mana", Current = 100, Max = 200, RegenRatePerSecond = 10 }; var component = new ManaComponent(new World()) { Mana = regenAttrMana }; GameTime gameTime = new GameTime(); component.Update(gameTime); //Precondition component.Mana.Current.Should().Be(100); //Act gameTime.Elapsed += TimeSpan.FromSeconds(2); component.Update(gameTime); //Assert component.Mana.Current.Should().Be(120); }
void Start() { health = GetComponent <HealthComponent>(); mana = GetComponent <ManaComponent>(); string[] effectCount = System.Enum.GetNames(typeof(Effect)); for (int i = 0; i < effectCount.Length; i++) { effects.Add(effectCount[i], false); } }
public PlayerStats(string name, HealthComponent healthComponent, ManaComponent mana, ExperienceBar xpBar) { Name = name; Level = 1; Strength = 11; Speed = 11; HealthComponent = healthComponent; ManaComponent = mana; XpBar = xpBar; InCombat = false; }
public override void Initialize() { base.Initialize(); _mana = GetComponent <ManaComponent>(); _damage = GetComponent <DamageComponent>(); _resist = GetComponent <ResistComponent>(); _movingComponent = GetComponent <CharacterMovingComponent>(); _animator = GetComponent <Animator>(); _attackComponent = GetComponent <CharacterMeleeAttackComponent>(); _movingComponent.OnJump += SetJumpTrigger; _attackComponent.OnAttack += SetAttackAnimation; }
private void Awake() { m_rigidbody = GetComponent <Rigidbody>(); m_playerInput = GetComponent <PlayerInput>(); m_health = GetComponent <HealthComponent>(); m_health.Init(100, OnHurt, Downed, OnHealed); m_mana = GetComponent <ManaComponent>(); m_mana.Init(GenerateNewCard, ManaUpdated, ManaUpdated); m_cardPool = new List <ECard>(); foreach (ECard card in CardManager.m_kCardSuits.Keys) { if (card == ECard.None) { continue; } if (CardManager.m_kCardSuits[card] == m_playerSuit || CardManager.m_kCardSuits[card] == ESuit.None) { m_cardPool.Add(card); } } }
private void Awake() { m_mana = GetComponent <ManaComponent>(); m_player = GetComponent <Player>(); }
static void Main(string[] args) { StartSetupScreen(); var world = new World(); LevelOne levelOne = new LevelOne(); var fpsCounter = new FramesPerSecondCounter(world); var fpsWriter = new FpsRenderer(world); MapLevelDetails map = new MapLevelDetails(25, 11); // initialize map world.Set(map); MapRenderer mapRenderer = new MapRenderer(world); Queue <string> playerMessageQueue = new Queue <string>(2); world.Set(playerMessageQueue); MessageBoxRenderer messageBoxRenderer = new MessageBoxRenderer(world); HealthComponent health = new HealthComponent() { Health = new RegenerateAttribute() { Current = 27, Max = 40, Name = "Health", RegenRatePerSecond = 0.5 } }; ManaComponent mana = new ManaComponent() { Mana = new RegenerateAttribute() { Current = 25, Max = 30, Name = "Mana", RegenRatePerSecond = 0.2 } }; ExperienceBar xpBar = new ExperienceBar(); PlayerStats playerStats = new PlayerStats("Dave", health, mana, xpBar); world.Set(playerStats); ConsoleInputSystem playerInput = new ConsoleInputSystem(world); PlayerMovementSystem playerMovementSystem = new PlayerMovementSystem(world); PlayerRenderSystem player = new PlayerRenderSystem(world); PlayerPosition playerStartPosition = new PlayerPosition(map, world); //initialize player playerStartPosition.MoveTo(27); world.Set(playerStartPosition); MonsterMoveController[] monsters = levelOne.CreateMonsters(world, map); //initialize monsters world.Set(monsters); MonsterMovementSystem monsterMovement = new MonsterMovementSystem(world); MonsterRenderSystem monstersRenderer = new MonsterRenderSystem(world); List <string> combatMessagesQueue = new List <string>(3); world.Set(combatMessagesQueue); CombatHandler combatHandler = new CombatHandler(world); world.Set(combatHandler); CombatMessages combatMessages = new CombatMessages(world); var updateSystems = new IUpdate[] { playerInput, playerMovementSystem, combatHandler, monsterMovement, fpsCounter, health, mana }; //Order is important! var renderSystems = new IRender[] { player, monstersRenderer, mapRenderer, messageBoxRenderer, combatMessages, fpsCounter, fpsWriter, health, mana, xpBar }; GameEngine gameEngine = new GameEngine(updateSystems, renderSystems, player, monstersRenderer); mapRenderer.PrintMap(map.Map); gameEngine.Start(); }
static void Main(string[] args) { System.Console.OutputEncoding = Encoding.Unicode; //System.Console.WriteLine("\u2665"); //System.Console.WriteLine("\uF496"); //System.Console.Write('\u003A'); //System.Console.WriteLine('\u0029');// //System.Console.Write('\u263A'); //System.Console.Write('♥'); //System.Console.Write('♡'); //System.Console.WriteLine('\u263B'); //System.Console.Read(); Console.SetWindowSize(120, 35); Console.CursorVisible = false; var world = new World(); var health = new HealthComponent(world) { Health = new RegenAttribute { Current = 50, Max = 100, Name = "Health", RegenRatePerSecond = 1 } }; var mana = new ManaComponent(world) { Mana = new RegenAttribute { Current = 30, Max = 60, Name = "Mana", RegenRatePerSecond = 0.2 } }; var fpsCounter = new FramesPerSecondCounter(world); var fpsWriter = new FpsRenderer(world); var inputSystem = new ConsoleInputSystem(world); var playerRenderSystem = new PlayerRenderSystem(world); var monsterRenderSystem = new MonsterRenderSystem(world); var playerMovement = new PlayerMovementSystem(world); var monsterMovement = new MonsterMovementSystem(world); //Initialize Player position var initialPlayerPosition = new PlayerPosition(); initialPlayerPosition.MoveTo(10, 10); world.Set(initialPlayerPosition); //initializ monster/s var initialMonsterPosition = new MonsterPosition(); initialMonsterPosition.MoveTo(12, 12); world.Set(initialMonsterPosition); var updateSystems = new IUpdate[] { inputSystem, fpsCounter, playerMovement, monsterMovement, health, mana }; //Order is important! var renderSystems = new IRender[] { playerRenderSystem, monsterRenderSystem, health, mana, fpsWriter, fpsCounter }; GameEngine gameEngine = new GameEngine(updateSystems, renderSystems); gameEngine.Start(); }
private void Start() { _manaComponent = Contexts.sharedInstance.game.mana; }