Пример #1
0
    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;
    }