public void SetMesh(EntityBase entity, string areaID, bool isEnemy, string textureID) { MoveComponent mc = entity.GetComp <MoveComponent>(); AreaDataGenerate areaData = DataGenerateManager <AreaDataGenerate> .GetData(areaID); Area Area = new Area(); Vector3 AreaDir = SkillUtils.GetAreaDir(Area, areaData, entity, null); //Debug.Log("areaData.m_SkewDistance " + areaData.m_SkewDistance); Vector3 pos = mc.pos.ToVector(); pos.y += 0.1f; transform.position = pos + AreaDir * areaData.m_SkewDistance; if (areaData.m_Shape == AreaType.Rectangle) { transform.position = pos + AreaDir * areaData.m_SkewDistance - AreaDir * areaData.m_Length / 2; } transform.right = AreaDir.normalized; //轴向不同,RangeTip 的前方为x轴,而player的为Z轴 shapeType = areaData.m_Shape; radius = areaData.m_Radius; angleDegree = areaData.m_Angle; segments = 40; high = (int)Math.Ceiling(areaData.m_Length); width = (int)Math.Ceiling(areaData.m_Width); isMonster = isEnemy; side = 0.5f; SetTexture(textureID); creator.verticesTmp = null; creator.uvsTmp = null; creator.trianglesTmp = null; }