void Awake() { if (instance == null) { instance = this; } }
public void Start() { _moveScript = GetComponent <MoveScript>(); _shieldScript = GetComponentInChildren <Shield>(); // Take damage when hit by weapon this.GetPubSub().SubscribeInContext <WeaponHitMessage>(m => HandleWeaponHit((WeaponHitMessage)m)); // Input handlers this.GetPubSub().SubscribeInContext <MoveInputMessage>(m => HandleMoveInput((MoveInputMessage)m)); this.GetPubSub().SubscribeInContext <FireInputMessage>(m => HandleFireInput((FireInputMessage)m)); this.GetPubSub().SubscribeInContext <ShieldInputMessage>(m => HandleShieldInput((ShieldInputMessage)m)); this.GetPubSub().SubscribeInContext <AttackEndedMessage>(m => HandleAttackEnded()); // On shield hit this.GetPubSub().SubscribeInContext <ShieldHitMessage>(m => HandleShieldHitMessage((ShieldHitMessage)m)); // On Stagger this.GetPubSub().SubscribeInContext <StaggeredMessage>(m => HandleStaggerMessage((StaggeredMessage)m)); Assert.IsNotNull(Stats); Stats.AddRegen(StatsEnum.Energy, EnergyRegen); Stats.AddRegen(StatsEnum.Stability, StabilityRegen); _characterDamage = new CharacterDamage(Stats); }
private void Start() { if (LevelManager.instance == null) { return; } button = GetComponent <Button>(); button.interactable = Advertisement.IsReady(placementId); player = LevelManager.instance.Player; playerDamage = player.GetComponent <CharacterDamage>(); // Initialize the ads listener and service Advertisement.AddListener(this); Advertisement.Initialize(gameId, testMode); }
public async void HealCharacter_PassingTest() { CharacterHealthService characterHealthService = InitilizeEnvironment(); Character character = await characterHealthService.HealCharacter("Briv", 5); Assert.True(character.HP.Current == character.HP.Max); //no damage done to character yet, should be max CharacterDamage[] characterDamages = new CharacterDamage[1]; characterDamages[0] = new CharacterDamage() { Amount = 10, Type = "piercing" }; await characterHealthService.DamageCharacter("Briv", characterDamages); character = await characterHealthService.HealCharacter("Briv", 5); Assert.True(character.HP.Current == character.HP.Max - 5); }
public async void DamageCharacter_PassingTest() { CharacterHealthService characterHealthService = InitilizeEnvironment(); Character character = await characterHealthService.AddTempHPToCharacter("Briv", 5); CharacterDamage[] characterDamages = new CharacterDamage[1]; characterDamages[0] = new CharacterDamage() { Amount = 4, Type = "piercing" }; //testing that the health correctly removes from temp before it removes from current health character = await characterHealthService.DamageCharacter("Briv", characterDamages); Assert.True(character.HP.Total == character.HP.Max + 1); character = await characterHealthService.DamageCharacter("Briv", characterDamages); Assert.True(character.HP.Total == character.HP.Max - 3); await characterHealthService.HealCharacter("Briv", 3); //bring back to full for next part characterDamages = new CharacterDamage[4]; //testing damage that includes a resistance, immunity, and normal. we've tested normal already above. This also tests that a null record should be skipped correct, the 4th index is not initilized characterDamages[0] = new CharacterDamage() { Amount = 10, Type = "fire" }; characterDamages[1] = new CharacterDamage() { Amount = 5, Type = "slashing" }; characterDamages[2] = new CharacterDamage() { Amount = 2, Type = "psychic" }; character = await characterHealthService.DamageCharacter("Briv", characterDamages); //This should deal 4 damage total because the fire is restited Assert.True(character.HP.Total == character.HP.Max - 4); }
void OnTriggerStay(Collider col) { if (col.gameObject.tag == "Player") { if (damageTime < Time.time) { FPSPlayerComponent.ApplyDamage(damage); damageTime = Time.time + delay; } } if (col.gameObject.layer == 13) //also damage NPCs { if (col.GetComponent <CharacterDamage>()) { CharacterDamage NPC = col.GetComponent <CharacterDamage>(); if (damageTime < Time.time) { NPC.ApplyDamage(damage, Vector3.zero, transform.position, null, false, false); damageTime = Time.time + delay; } } } }
void Start() { characterDamage = gameObject.GetComponent <CharacterDamage>(); PlayerD = characterDamage.pDamage; firethrower = fireThrower.GetComponent <Firethrower>(); }