//设置某个圆形区域的显示状态(每种类型只能显示一个) 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); } } } }
public void ResetGridRenderType() { gridRenderType = GridRenderType.Normal; RefreshColor(); }
public void RemoveGridRenderType(GridRenderType renderType) { gridRenderType &= (~renderType); RefreshColor(); }
public void AppendGridRenderType(GridRenderType renderType) { gridRenderType |= renderType; RefreshColor(); }
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); }