private void Update() { if (newObjClicked) { newObjClicked = false; hpc = clickedObject.GetComponent <HPController>(); fsm = clickedObject.GetComponent <FSMController>(); } if (hpSlider == null || fsm == null) { return; } hpSlider.maxValue = hpc.MaxHp; hpSlider.value = hpc.HP; if (fsm.team == HelperFunctions.Team.Cube) { teamText.text = "Cube"; } else if (fsm.team == HelperFunctions.Team.Sphere) { teamText.text = "Sphere"; } else if (fsm.team == HelperFunctions.Team.Neutral) { teamText.text = "Neutral"; } UpdateStateText(); }
// Update is called once per frame private void Awake() { _hpController = GetComponent <HPController>(); _levelController = GetComponent <LevelController>(); _hpController.onEmptyHP += BeDestroy; _levelController.onLevelUp += OnLevelUp; }
private void Start() { _selectableCharacterController = GetComponent <SelectableCharacterController>(); _movableController = GetComponent <MovableController>(); _animator = GetComponent <Animator>(); _timer = AttackPeriod; _hpController = GetComponent <HPController>(); }
// 아래에 트랜스폼 변수가 들어갈 것이다(target의 속성이기도 하다) void Damage(Transform unit) { HPController targetHP = unit.GetComponent <HPController> (); if (targetHP != null) { targetHP.GetDamage(damage); } }
private void Start() { _animator = GetComponent <Animator>(); _selectableCharacterController = GetComponent <SelectableCharacterController>(); _agent = GetComponent <NavMeshAgent>(); _agent.updateRotation = false; _agent.updateUpAxis = false; _savedSpeed = _agent.speed; _hpController = GetComponent <HPController>(); }
// Start is called before the first frame update void Start() { hptext = GameObject.Find("PlayerHP").GetComponent <Text>(); hp = GameObject.Find("towerRound_crystals").GetComponent <HPController>().hp; tracking = GameObject.Find("towerRound_crystals").GetComponent <HPController>(); scoretext = GameObject.Find("Score").GetComponent <Text>(); gameovertext = GameObject.Find("GameOver").GetComponent <Text>(); //gameovertext.enabled = false; score = 0; }
private void OnTriggerEnter(Collider other) { if (!other.CompareTag("Tower") && !other.CompareTag("Turret")) { return; } HPOfAttackedTarget = other.GetComponent <HPController>(); currentState = State.Attack; }
public HPController() { if (instance == null) { instance = this; } else { return; } }
void UpdateSearch() { // 시간이 흐르다가 검색 시간이 되었을때 검색을 하고 시간 초기화. 너무 빈번한 검색을 하지 않기 위해.. currentTime += Time.deltaTime; if (currentTime <= searchTime) { return; } currentTime = 0; // 내 반경 3M 내의 적의 목록을 이용해서 가장 가까운 적을 목적지로 설정하고싶다. int layer = 1 << LayerMask.NameToLayer("Unit"); Collider[] cols = Physics.OverlapSphere(transform.position, 3f, layer); if (cols == null || cols.Length == 0) { // 내 반경 3M내에 적이없다. return; } else { Debug.Log("적이 있네?"); //적이 있다. 나랑 가장 가까이 있는 것을 찾고싶다. float distance = 999999999999f; int selectIndex = -1; for (int i = 0; i < cols.Length; i++) { if (transform != cols[i].transform) //내 위치를 찾아선 안 되고 { // 거리를 구하고 float temp = Vector3.Distance(transform.position, cols[i].transform.position); // 저장된 거리와 비교해서 더 가까우면 그녀석을 선택하자. if (temp < distance) { distance = temp; selectIndex = i; } } } if (selectIndex == -1) { return; } else { target = cols[selectIndex].transform; targetHP = target.GetComponent <HPController> (); //터렛이 club을 인식하는 문제// Debug.Log("터렛: " + target); SetState(eState.Attack); } } }
void FixedUpdate() { this.hp = GameObject.Find("HPGauge"); hpc = this.hp.GetComponent <HPController>(); int hp = hpc.Rehp(); if (hp == 0 || tf) { //Debug.Log(hp.DestroyHP()); FadeOut(); //フェードアウト演出を行う関数の呼びだし tf = false; } }
void Start() { // Store reference to attached component controller = GetComponent <Rigidbody2D>(); HPC = GameObject.Find("HPC").GetComponent <HPController>(); seedSystem = GameObject.Find("SeedSystem").GetComponent <SeedSystem>(); hp = maxhp = seedSystem.maxhp(); HPC.UpdateHP(hp, maxhp); lastHunger = Time.time * 1000; if (seedSystem.getAttackBuff()) { weapon.Buff(); } }
// Use this for initialization void Start() { transform.Rotate(0f, 0f, Random.Range(0, 360f)); hpC = GetComponent <HPController>(); float maxV = 50; float minV = -50; rb = GetComponent <Rigidbody2D>(); float x = Random.Range(minV, maxV); float y = Random.Range(minV, maxV); rb.AddForce(new Vector2(x, y)); }
private void OnTriggerEnter(Collider other) { Enemy enemy = other.GetComponent <Enemy>(); if (enemy != null) { //Нанести урон игроку HPController.TakeDamage(enemy.Damage); //Если игрок не был уничтожен if (HPController.CurrentProgress > 0) { enemy.DestroyEnemyOnCollisionWithPlayer(); } } }
void Awake() { myBody = GetComponent <Rigidbody2D>(); animator = GetComponent <Animator>(); sphereCollider = GetComponent <CircleCollider2D>(); audioSource = GetComponent <AudioSource>(); // animator.SetBool ("Grounded", false); currentSpeed = speed; walkingTimer = walkingDuration; hpController = hpUI.GetComponent <HPController>(); coinController = coinUI.GetComponent <CoinController>(); if (isEquipped == false) { canAttack = false; sword.SetActive(false); } }
/// <summary> /// Инициализация /// </summary> /// <param name="health">HP врага</param> /// <param name="speed">Скорость врага</param> /// <param name="pathController">Контроллер пути, по которому должен следовать враг</param> public void Init(int health, float speed, PathCreator pathController, int coinReward) { //Базовая инициализация Init(health); //Обнулить положение ХП бра (TEMP) HPController.ResetHPBarPosition(); //Начать следовать по пути PathMoveController.StartMoveAlongPath(pathController, speed, GameManager.Instance.TimeMultiplayerController.CurValue); //Награда m_CoinReward = coinReward; //Подписаться на событие изменения изменения скорости мнодителя времени GameManager.Instance.OnTimeMultiplayerValueChanged += TimeMultiplayerChanged_Handler; }
///------------------------------------------------------ /// <summary> /// ●1秒間に呼ばれる回数が一定で実行する関数. /// </summary> void FixedUpdate() { this.hp = GameObject.Find("HPGauge"); hpc = this.hp.GetComponent <HPController>(); int hp = hpc.Rehp(); if (hp == 0 || tf) { //Debug.Log(hp.DestroyHP()); FadeOut(); //フェードアウト演出を行う関数の呼びだし tf = false; } if (hp == 0) { float nowtime = Time.fixedTime; if (fst) { syoki = nowtime; fst = false; } Debug.Log(Time.fixedTime); if (nowtime < 0) { nowtime = 0; } floattaime += nowtime; if (syoki + 1 < nowtime) { syoki++; timecount++; this.targetText = this.GetComponent <Text>(); this.targetText.text = "" + retaime; retaime--; } if (retaime == 0) { SceneManager.LoadScene("main"); } } }
void UpdateAttack() { //시간차 공격을 하고 싶다(공격 - 공격대기) // 시간이 흐르다가 currentTime += Time.deltaTime; // 만약 시간이 공격시간을 초과하면 if (currentTime > attackTime) { // 공격을 시도한다. Shoot(); // 1. 상대방 체력을 확인 if (targetHP.currentHealth <= 0) { // 1-1. 만약 상대방의 체력이 0 이하이면 새로운 타겟을 검색(setstate->search) // target의 레이어를 NonTurret으로 변경한다. //Destroy (target.gameObject); target = null; targetHP = null; SetState(eState.Move); } else { // 1-2. 만약 상대방의 체력이 0 이상이면 // 1-2-2. 만약 사정거리 밖이면 그 타겟한테 이동(setstate->move) if ((Vector3.Distance(target.position, transform.position) >= attackRange)) { //공격 상태로 SetState(eState.Move); } else { // 1-2-1. 만약 사정거리 안에 있으면 그 타겟을 공격(setstate->attack) } } // 시간을 0으로 되돌린다. currentTime = 0; Debug.Log("유닛의 타겟: " + target); } }
void Update() { if (!ready) { return; } if (targetObject == null) { Destroy(gameObject); return; } transform.LookAt(targetObject.transform.position); transform.position = Vector3.MoveTowards(transform.position, targetObject.transform.position, 10 * Time.deltaTime); if (Vector3.Distance(targetObject.transform.position, transform.position) < 0.5f) { HPController hpc = targetObject.GetComponent <HPController>(); hpc.DealDamage(hpc.MaxHp / 5); Destroy(gameObject); } }
//各アイテムに触れた時の挙動 private void OnTriggerEnter2D(Collider2D other) { GameObject obj = other.gameObject; Debug.Log(obj.name); if (other.gameObject.CompareTag("item")) { player player; switch (obj.name) { case "Heal": GameObject HPGauge = Canvas.transform.Find("HPGauge").gameObject; HPController hpCtl = HPGauge.GetComponent <HPController>(); hpCtl.SetHP(hpCtl.transform.childCount + 1); break; case "Coin": player = GetComponent <player>(); player.CoinCounter(); break; case "Muteki": player = GetComponent <player>(); bool isMuteki = player.GetMuteki(); //無敵の重複はしない if (!isMuteki) { player.MutekiTime(); } break; } Destroy(obj); } }
void DoExplo() { Instantiate(ExploEffect, transform.position, Quaternion.identity); //sm.PlaySound(GameEM.SoundList.爆破_榴彈爆炸); //BuzzFloorAdapter t_Buzzfloor = GameObjectFinder.GetObj("BuzzFloorAdapter").GetComponent<BuzzFloorAdapter>(); //t_Buzzfloor.do_s3Button(1f); if (PhotonNetwork.isMasterClient) { ExploPos = transform.position; isExplo = true; ExploColliderArray = Physics.OverlapSphere(ExploPos, radius, layerMask.value); foreach (Collider col in ExploColliderArray) { //Debug.Log(col.gameObject.name); HPController _HPController = col.gameObject.GetComponentInParent <HPController>(); //TrexController _TrexController = col.gameObject.GetComponentInParent<TrexController>(); //if (_HPController != null && _TrexController != null) //{ // _HPController.setHit(Damage); //} //else if (col.gameObject.name.Contains("Bomb_")) //{ // _HPController.setHP(0); //} //else if (_HPController != null && _TrexController == null) //{ // Ragdollmanagement _ragdollman = _HPController.gameObject.GetComponent<Ragdollmanagement>(); // Vector3 ExploVector = col.gameObject.transform.position - ExploPos; // _ragdollman.setLastHitInfo(ExploVector, null, force, forcemode); // _HPController.setHP(0); //} } } Destroy(this.gameObject); }
void UpdateAttack() { //시간차 공격을 하고 싶다(공격 - 공격대기) // 시간이 흐르다가 currentTime += Time.deltaTime; // 만약 시간이 공격시간을 초과하면 if (currentTime > attackTime) { // 공격을 시도한다. Shoot(); // 1. 상대방 체력을 확인 if (targetHP.currentHealth <= 0) { // 1-1. 만약 상대방의 체력이 0 이하이면 새로운 타겟을 검색(setstate->search) Destroy(target.gameObject); //나중에 투사체에 넣어야. target = null; targetHP = null; SetState(eState.Search); } else { // 1-2. 만약 상대방의 체력이 0 이상이면 // 1-2-2. 만약 사정거리 밖이면 다른 타겟을 탐색(setstate->search) if ((Vector3.Distance(target.position, transform.position) > attackRange)) { SetState(eState.Search); } else { // 1-2-1. 만약 사정거리 안에 있으면 그 타겟을 공격(setstate->attack) } } // 시간을 0으로 되돌린다. currentTime = 0; } }
// Update is called once per frame void Update() { if (hpController == null) { hpController = FindObjectOfType <HPController>(); transform.GetChild(0).gameObject.SetActive(true); transform.GetChild(1).gameObject.SetActive(false); } else { time = hpController.currentTime; Debug.Log(time); if (time < 5f) { transform.GetChild(1).gameObject.SetActive(true); transform.GetChild(0).gameObject.SetActive(false); } else { transform.GetChild(0).gameObject.SetActive(true); transform.GetChild(1).gameObject.SetActive(false); } } }
private void Start() { Controller = HPController.instance; }
private void Awake() { oba = GetComponent <ObstacleAvoidance>(); rigidbody = GetComponent <Rigidbody>(); hpC = GetComponent <HPController>(); }
public void Init(int health) { HPController = new HPController(health, GetHPBarControllerPrefab(), HPBarParent); HPController.OnDestroyObject += DestroyObjectHandler; }
// Start is called before the first frame update void Start() { a = gameObject.GetComponent <SpriteRenderer>(); hpc = HP.gameObject.GetComponent <HPController>(); catController = cat.gameObject.GetComponent <CatController>(); }