public void CharaAttackInUpdate() { ///首先是屏幕显示攻击范围。设定周围的卡片都是闪光效果 m_TileCardMap.SetFlashByChara(m_CurrentAttackCharaTile); //tcs.Add(NeighborCard) ///然后射线确定点击内容。 ///如果是攻击范围。则发动技能。并且浸入下一个阶段。所有的敌人的一遍流程。 ///如果不是,那么就灭有回应 /// /// /// /// //整体初始位置 RaycastHit2D hit = Physics2D.Raycast(m_camera.ScreenToWorldPoint(Input.mousePosition), Vector2.zero); if (Input.GetMouseButtonDown(0)) { if (hit && hit.transform.tag == "Enemy" && hit.transform.GetComponent <TileCard>().isFlash&& hit.transform.GetComponent <TileCard>().m_IsOpen) { Debug.Log("Attack function"); ///确认是不是能够攻击对象。 m_CurrentAttackCharaTile.Attack(hit.transform.GetComponent <TileCard>()); ///对对象使用应该使用的m_cuurentattackcharatile的 攻击部分。 m_CurrentAttackCharaTile = null; ///跳到下一阶段 CharaAfterAttackAnyUnMoveCard(); } else if (hit && hit.transform.tag == "Item" && hit.transform.GetComponent <TileCard>().isFlash&& hit.transform.GetComponent <TileCard>().m_IsOpen)///如果碰到一张卡片,但是这张卡片没有打开。那么就跳过。 { ///当前卡片交互 m_CurrentAttackCharaTile.Interact(hit.transform.GetComponent <TileCard>()); m_CurrentAttackCharaTile = null; CharaAfterAttackAnyUnMoveCard(); } else if (hit && hit.transform.GetComponent <TileCard>().isFlash) { m_CurrentAttackCharaTile = null; CharaAfterAttackAnyUnMoveCard(); } } }