Beispiel #1
0
        //设置某个圆形区域的显示状态(每种类型只能显示一个)
        public void SetCircularRangeRenderStateActive(bool active, GridRenderType gridRenderType, int centerRow = -1, int centerColumn = -1, int radius = -1)
        {
            //确定是哪种范围
            List <GridUnit> rangeHighlightGridUnits = null;

            switch (gridRenderType)
            {
            case GridRenderType.MoveRange:
                rangeHighlightGridUnits = moveRangeGridUnits;
                break;

            case GridRenderType.SkillReleaseRange:
                rangeHighlightGridUnits = skillReleaseRangeGridUnits;
                break;

            case GridRenderType.SkillEffectRange:
                rangeHighlightGridUnits = skillEffectRangeGridUnits;
                break;

            default:
                UtilityHelper.LogError(string.Format("SetRangeHighlightActive error grid render type : {0}", gridRenderType));
                return;
            }

            //当前是取消激活
            if (!active)
            {
                for (int i = 0; i < rangeHighlightGridUnits.Count; ++i)
                {
                    if (rangeHighlightGridUnits[i].gridUnitRenderer != null)
                    {
                        rangeHighlightGridUnits[i].gridUnitRenderer.RemoveGridRenderType(gridRenderType);
                    }
                }
                rangeHighlightGridUnits.Clear();
            }
            else
            {
                //当前存在上一个激活,先隐藏
                if (rangeHighlightGridUnits.Count > 0)
                {
                    SetCircularRangeRenderStateActive(false, gridRenderType);
                }
                //获取格子
                fieldRenderer.battleField.battleMap.GetCircularGrids(centerRow, centerColumn, radius, 0, true, rangeHighlightGridUnits);
                //设置高亮状态
                for (int i = 0; i < rangeHighlightGridUnits.Count; ++i)
                {
                    if (rangeHighlightGridUnits[i].gridUnitRenderer != null)
                    {
                        rangeHighlightGridUnits[i].gridUnitRenderer.AppendGridRenderType(gridRenderType);
                    }
                }
            }
        }
Beispiel #2
0
 public void ResetGridRenderType()
 {
     gridRenderType = GridRenderType.Normal;
     RefreshColor();
 }
Beispiel #3
0
 public void RemoveGridRenderType(GridRenderType renderType)
 {
     gridRenderType &= (~renderType);
     RefreshColor();
 }
Beispiel #4
0
 public void AppendGridRenderType(GridRenderType renderType)
 {
     gridRenderType |= renderType;
     RefreshColor();
 }
Beispiel #5
0
 public void OnDisconnect()
 {
     gridUnit       = null;
     gridRenderType = GridRenderType.Normal;
     transform.SetUnused(false);
 }
 //设置某个圆形区域的显示状态
 public void SetCircularRangeRenderStateActive(bool active, GridRenderType gridRenderType, int centerRow = -1, int centerColumn = -1, int radius = -1)
 {
     manualOperationHelper.SetCircularRangeRenderStateActive(active, gridRenderType, centerRow, centerColumn, radius);
 }
 public void OnDisconnect()
 {
     gridUnit       = null;
     gridRenderType = GridRenderType.Normal;
     transform.SetUnused(false, EGameConstL.STR_Grid);
 }