private void Awake() { manualInput = GetComponent <ManualInput>(); animationProgress = GetComponent <AnimationProgress>(); aiProgress = GetComponentInChildren <AIProgress>(); damageDetector = GetComponentInChildren <DamageDetector>(); boxCollider = GetComponent <BoxCollider>(); animator = GetComponentInChildren <Animator>(); obstacle = GetComponent <NavMeshObstacle>(); collisionSpheres = GetComponentInChildren <CollisionSpheres>(); collisionSpheres.owner = this; CollisionSpheres.SetupColliders(boxCollider, out float bottom, out float top, out float front, out float back, out float right, out float left); collisionSpheres.PlaceEdgeSphere(bottom, top, front, back, left, right); collisionSpheres.FindEveryChild(gameObject.transform); aiController = GetComponentInChildren <AIController>(); if (aiController == null) { if (obstacle != null) { obstacle.carving = true; } } RegisterCharacter(); }
protected override void Awake() { base.Awake(); playerDetector = GetComponentInChildren<TargetDetector>(); damageDetector = GetComponentInChildren<DamageDetector>(); animator = GetComponent<Animator>(); }
private void OnTriggerStay2D(Collider2D collision) { DamageDetector target = collision.GetComponent <DamageDetector>(); if (target != null && TargetMask.Contains(target.gameObject.layer)) { interactable.OnAttack(target.Interactable); } }
private void OnTriggerEnter(Collider other) { if (other.tag == "Player") { DamageDetector damage = other.gameObject.transform.root.GetComponent <DamageDetector>(); AttackInfo attack = new AttackInfo(); damage.TakeDamage(attack); } }
private void OnTriggerEnter(Collider other) { if (other.tag == "Enemy") { DamageDetector damage = other.gameObject.transform.root.GetComponent <DamageDetector>(); AttackInfo attack = new AttackInfo(); if (CharacterSwitch.characterSwitch == 1) { damage.TakeDamage(attack); damage.TakeDamage(attack); } if (CharacterSwitch.characterSwitch == 2) { damage.TakeDamage(attack); damage.TakeDamage(attack); damage.TakeDamage(attack); } if (CharacterSwitch.characterSwitch == 3) { damage.TakeDamage(attack); } poolObj.TurnOff(); } if (other.tag == "Player") { DamageDetector damage = other.gameObject.transform.root.GetComponent <DamageDetector>(); AttackInfo attack = new AttackInfo(); damage.TakeDamage(attack); poolObj.TurnOff(); } if (other.tag == "Geometry") { poolObj.TurnOff(); } if (other.tag == "Destroyable") { if (height > 0) { Destroy(other.gameObject); } poolObj.TurnOff(); } }
public static bool DamageResponse_Prefix(EntityAlive __instance, ref DamageResponse _dmResponse) { try { return(DamageDetector.ProcessPlayerDamage(__instance, _dmResponse)); } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in Injections.DamageResponse_Prefix: {0}.", e.Message)); } return(true); }
public static bool ChangeBlocks_Prefix(GameManager __instance, string persistentPlayerId, ref List <BlockChangeInfo> _blocksToChange) { try { Log.Out(string.Format("[SERVERTOOLS] ChangeBlocks_Prefix executed.")); return(DamageDetector.ProcessBlockDamage(__instance, persistentPlayerId, _blocksToChange)); } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in Injections.ChangeBlocks_Prefix: {0}.", e.Message)); } return(true); }
void Update() { DamageDetector dd = player.gameObject.transform.root.GetComponent <DamageDetector>(); CharacterSwitch cw = player.gameObject.transform.root.GetComponent <CharacterSwitch>(); health.text = "Health: " + hpHud; lives.text = "Lives: 1"; if (dd.DamageTaken == 0) { hpHud = 3; } if (dd.DamageTaken == 1) { hpHud = 2; } if (dd.DamageTaken == 2) { hpHud = 1; } if (dd.DamageTaken == 3) { hpHud = 0; lives.text = "Lives: 0"; } if (CharacterSwitch.characterSwitch == 1) { char1.gameObject.SetActive(true); char2.gameObject.SetActive(false); char3.gameObject.SetActive(false); } if (CharacterSwitch.characterSwitch == 2) { char1.gameObject.SetActive(false); char2.gameObject.SetActive(true); char3.gameObject.SetActive(false); } if (CharacterSwitch.characterSwitch == 3) { char1.gameObject.SetActive(false); char2.gameObject.SetActive(false); char3.gameObject.SetActive(true); } }
private void Update() { foreach (Collider2D collision in Physics2D.OverlapBoxAll(boxCollider.bounds.center, boxCollider.bounds.size, 0f, TargetMask)) { DamageDetector target = collision.GetComponent <DamageDetector>(); if (target != null && TargetMask.Contains(target.gameObject.layer)) { if (!hitList.Contains(target)) { hitList.Add(target); interactable.OnAttack(target.Interactable); } } } }
private void Awake() { bool SwitchBack = false; if (!IsFacingForward()) { SwitchBack = true; } FaceForward(true); SetColliderSpheres(); if (SwitchBack) { FaceForward(false); } animationProgress = GetComponent <AnimationProgress>(); damageDetector = GetComponentInChildren <DamageDetector>(); }
void Update() { if (Input.GetKeyDown(KeyCode.Return) || Input.GetKeyDown(KeyCode.Joystick1Button7)) { if (titleActive) { titleActive = false; title.gameObject.SetActive(false); Time.timeScale = 1; } else if (!titleActive && !gameoverActive) { if (!pauseActive) { pauseActive = true; pauseScreen.gameObject.SetActive(true); Time.timeScale = 0; } else if (pauseActive) { pauseActive = false; pauseScreen.gameObject.SetActive(false); Time.timeScale = 1; } } } // game over screen on x damage taken DamageDetector dd = player.gameObject.transform.root.GetComponent <DamageDetector>(); if (dd.DamageTaken >= 3) { gameoverActive = true; gameOver.gameObject.SetActive(true); } }