public void OnTriggerEnter(Collider colli) { if(colli.gameObject.tag == "Enemy" || colli.gameObject.tag == "Target") { m_IsHitEnemy = true; m_Target = colli.gameObject.GetComponent<EnemyControl>(); } }
// Use this for initialization void Awake() { m_FollowObj = transform; m_Enemy = gameObject.GetComponent<EnemyControl>(); m_CurPos = new Vector3(); m_Size = gameObject.GetComponent<CharacterController>().bounds.size; // 偏移量根据,怪物自身的大小而定 m_Offset = new Vector3(0, m_Size.y + 1.0f, 0); GameObject go = Resources.Load("Prefab/UI/EnemyHpBar") as GameObject; m_HudObj = Instantiate(go); m_HudObj.transform.SetParent( GameObject.Find("HpHudCanvas").transform ); m_HudObj.transform.localScale = Vector3.one; }
/// <summary> /// 返回一个掉落物品ID,若无掉落则返回-1 /// </summary> public int GetADropItem(EnemyControl.ENEMYTYPE type) { return 1; /* int id = Random.value > 0.5f ? 1 : 0; if(Random.value > m_DropRateDict[id]) { return id; } else { return -1; } */ }
void _Swap(int i, int j) { m_TempData = m_EnemyList[i]; m_EnemyList[i] = m_EnemyList[j]; m_EnemyList[j] = m_TempData; }
/// <summary> /// 重置技能对象的属性,在释放技能时调用 /// </summary> public void Reset() { m_IsHitEnemy = false; m_Target = null; transform.localPosition = Vector3.zero; }
/// <summary> /// 处理攻击行为 /// 参数: 离玩家最近的怪物,由外部提供 /// </summary> public void OnAttack(EnemyControl Enemy) { if(Enemy == null) { return; } if(m_CurTarget != null) { m_CurTarget.AfterBeSelected(); } m_CurTarget = Enemy; m_CurTarget.BeSelected(); m_Data.state = PLAYER_STATE.PS_ROTATE_TO_TARGET; m_CurAtkTime = m_Data.attrib.atkSp; m_AnimationManager.animationProcessor = m_AnimationManager.Walk; }
public void Reset(Vector3 pos, EnemyControl Target) { m_Target = Target.gameObject; transform.localPosition = pos; m_IsHitTarget = false; }