internal static void ClearPropertyBlock(SelectionGroup group) { foreach (var r in SelectionGroupUtility.GetComponents <Renderer>(group.name)) { r.SetPropertyBlock(null); } }
/// <summary> /// 处理选区组告警 /// </summary> private void ProcessGroupAlarm(SelectionGroup group) { SubProcessGroupAlarm(GroupAlarmType.MaxTemperature, group); // 高温 SubProcessGroupAlarm(GroupAlarmType.MaxTempRise, group); // 温升 SubProcessGroupAlarm(GroupAlarmType.MaxTempDif, group); // 温差 SubProcessGroupAlarm(GroupAlarmType.RelativeTempDif, group); // 相对温差 }
public static void SetPropertyBlock(SelectionGroup group, IEnumerable <PropertyChange> changes) { var renderers = SelectionGroupUtility.GetComponents <Renderer>(group.name).ToArray(); foreach (var r in renderers) { var mpb = new MaterialPropertyBlock(); foreach (var p in changes) { if (Match(p.memberNameQuery, r.name)) { switch (p.propertyType) { case PropertyChange.VECTOR: mpb.SetVector(p.propertyName, p.vectorValue); break; case PropertyChange.COLOR: mpb.SetColor(p.propertyName, p.colorValue); break; case PropertyChange.FLOAT: mpb.SetFloat(p.propertyName, p.floatValue); break; } } } r.SetPropertyBlock(mpb); } }
/// <summary> /// 添加组选区 /// </summary> public ARESULT AddNewGroupSelection(string data, ref long id) { SelectionGroup groupSelection = new SelectionGroup(); if (groupSelection == null) { return(ARESULT.E_OUTOFMEMORY); } if (ARESULT.AFAILED(groupSelection.Deserialize(data))) { return(ARESULT.E_INVALIDARG); } long groupSelectionId = -1; if (ARESULT.AFAILED(GroupSelectionDAO.AddNewGroupSelection(mCell.mCellId, data, ref groupSelectionId))) { return(ARESULT.E_FAIL); } groupSelection.mId = groupSelectionId; groupSelection.mTemperatureData.mGroupId = groupSelectionId; id = groupSelectionId; lock (mSelectionGroups) { mSelectionGroups.Add(groupSelection); } return(ARESULT.S_OK); }
/// <summary> /// 清除选区组报警信息 /// </summary> /// <param name="selectionGroup">选区组</param> private void ClearSelectionGroupAlarm(SelectionGroup selectionGroup) { if (selectionGroup.mAlarmInfo == null) { return; } // 温度处理线程暂停 mProcessingWorker.Pause(); // 正在告警时, 结束当前告警 if (selectionGroup.mAlarmInfo.mMaxTempAlarm.mAlarmStatus == AlarmStatus.Alarming) { UpdateAlarmInfo( (int)AlarmMode.GroupSelection, (int)GroupAlarmType.MaxTemperature, selectionGroup.mId, selectionGroup.Serialize(), selectionGroup.mAlarmInfo.mMaxTempAlarm); } if (selectionGroup.mAlarmInfo.mMaxTempRiseAlarmInfo.mAlarmStatus == AlarmStatus.Alarming) { UpdateAlarmInfo( (int)AlarmMode.GroupSelection, (int)GroupAlarmType.MaxTempRise, selectionGroup.mId, selectionGroup.Serialize(), selectionGroup.mAlarmInfo.mMaxTempRiseAlarmInfo); } if (selectionGroup.mAlarmInfo.mMaxTempDifAlarmInfo.mAlarmStatus == AlarmStatus.Alarming) { UpdateAlarmInfo( (int)AlarmMode.GroupSelection, (int)GroupAlarmType.MaxTempDif, selectionGroup.mId, selectionGroup.Serialize(), selectionGroup.mAlarmInfo.mMaxTempDifAlarmInfo); } if (selectionGroup.mAlarmInfo.mRelativeTempDifAlarmInfo.mAlarmStatus == AlarmStatus.Alarming) { UpdateAlarmInfo( (int)AlarmMode.GroupSelection, (int)GroupAlarmType.RelativeTempDif, selectionGroup.mId, selectionGroup.Serialize(), selectionGroup.mAlarmInfo.mRelativeTempDifAlarmInfo); } selectionGroup.mAlarmInfo.mMaxTempAlarm.Reset(); selectionGroup.mAlarmInfo.mMaxTempRiseAlarmInfo.Reset(); selectionGroup.mAlarmInfo.mMaxTempDifAlarmInfo.Reset(); selectionGroup.mAlarmInfo.mRelativeTempDifAlarmInfo.Reset(); // 温度处理线程继续 mProcessingWorker.Resume(); }
public void Reset() { _name.text = "Задание"; _description.text = ""; _priceText.text = "0"; _priceContainer.SetActive(false); _remainTimeText.UpdateValue("0"); _remainTimeContainer.SetActive(false); SelectionGroup.DeselectAll(); }
SelectionGroupData GetSelectionGroupData(SelectionGroup id) { foreach (var group in selectionGroups) { if (group.id == id) { return(group); } } return(null); }
public CandidateAgentData GetFocusedCandidate(SelectionGroup group, int index) { switch (group) { case SelectionGroup.Founder: return foundingCandidate; case SelectionGroup.Representative: return representativeCandidate; case SelectionGroup.LongestLived: return longestLivedCandidate; case SelectionGroup.MostEaten: return mostEatenCandidate; case SelectionGroup.HallOfFame: return hallOfFameGenomesList[index]; case SelectionGroup.Leaderboard: return leaderboardGenomesList[index]; case SelectionGroup.Candidates: return candidateGenomesList[index]; default: Debug.LogError("Invalid selection group: " + group); return null; } }
private void UpdateButtons(List <CandidateAgentData> candidates, SelectionGroup groupId) { for (int i = 0; i < buttons.Count; i++) { var active = i < candidates.Count; buttons[i].gameObject.SetActive(active); buttons[i].UpdateButtonPrefab(groupId, i); if (active) { buttons[i].SetDisplay(candidates[i]); } } }
public static bool GetDefaultVector(SelectionGroup group, PropertyChange p, out Vector4 vector) { var renderers = SelectionGroupUtility.GetComponents <Renderer>(group.name); foreach (var r in renderers) { if (Match(p.memberNameQuery, r.name)) { vector = r.sharedMaterials[p.materialIndex].GetVector(p.propertyName); return(true); } } vector = Vector4.zero; return(false); }
public static bool GetDefaultFloat(SelectionGroup group, PropertyChange p, out float value) { var renderers = SelectionGroupUtility.GetComponents <Renderer>(group.name); foreach (var r in renderers) { if (Match(p.memberNameQuery, r.name)) { value = r.sharedMaterials[p.materialIndex].GetFloat(p.propertyName); return(true); } } value = 0; return(false); }
public void Reset() { _name.text = "Ресурс"; if (_level != null) { _level.text = "0"; } if (_amount != null) { _amount.text = "0"; } if (_secName != null) { _secName.text = ""; } SelectionGroup.DeselectAll(); }
protected IFeature InsertComFeatureBase(string[] paramNames, int[] paramTypes, string[] paramValues, int[] dimTypes, double[] dimValues, object[] selection, object[] editBodies) { if (!typeof(SwMacroFeatureDefinition).IsAssignableFrom(DefinitionType)) { throw new InvalidCastException($"{DefinitionType.FullName} must inherit {typeof(SwMacroFeatureDefinition).FullName}"); } var options = CustomFeatureOptions_e.Default; var provider = ""; DefinitionType.TryGetAttribute <CustomFeatureOptionsAttribute>(a => { options = a.Flags; provider = a.Provider; }); var baseName = MacroFeatureInfo.GetBaseName(DefinitionType); var progId = MacroFeatureInfo.GetProgId(DefinitionType); if (string.IsNullOrEmpty(progId)) { throw new NullReferenceException("Prog id for macro feature cannot be extracted"); } var icons = MacroFeatureIconInfo.GetIcons(DefinitionType, CompatibilityUtils.SupportsHighResIcons(SwMacroFeatureDefinition.Application.Application, CompatibilityUtils.HighResIconsScope_e.MacroFeature)); using (var selSet = new SelectionGroup(m_FeatMgr.Document.ISelectionManager)) { if (selection != null && selection.Any()) { var selRes = selSet.AddRange(selection); Debug.Assert(selRes); } var feat = m_FeatMgr.InsertMacroFeature3(baseName, progId, null, paramNames, paramTypes, paramValues, dimTypes, dimValues, editBodies, icons, (int)options) as IFeature; return(feat); } }
/// <summary> /// Adds this stat block to the nearest selection group /// </summary> public void AddToSelectionGroup() { SelectionGroup parent_group = GetComponentInParent <SelectionGroup>(); if (!parent_group) { return; } if (parent_group.SelectedObjects.Contains(gameObject)) { parent_group.RemoveSelection(gameObject); } else { parent_group.AddSelection(gameObject); } }
public void StoreSelectionGroup(int index) { if (SelectionGroups[index] == null) { SelectionGroups[index] = new SelectionGroup(); } else { SelectionGroups[index].ships.Clear(); SelectionGroups[index].fighterWings.Clear(); } foreach (Ship ship in SelectedShips) { SelectionGroups[index].ships.Add(ship); } foreach (FighterWing fighter in SelectedFighterWings) { SelectionGroups[index].fighterWings.Add(fighter); } }
public void ChangeSelectedGenome(SelectionGroup group, int index) { SpeciesGenomePool pool = simulationManager.GetSelectedGenomePool(); //selectionManager.SetFocusedCandidateGenome(pool, group, index); selectedButtonData = GetSelectionGroupData(group); uiManager.historyPanelUI.buttonSelCreatureEventsLink.gameObject.transform.localPosition = new Vector3(360f, 180f, 0f); if (group == SelectionGroup.Candidates) { selectionManager.SetSelected(pool.candidateGenomesList[index]); } if (selectedButtonData != null && selectedButtonData.image != null) { selectedButtonData.image.color = Color.white; // new Vector3(selectedButtonData.image.rectTransform.localPosition.x + 24f, selectedButtonData.image.rectTransform.localPosition.y, 0f); } panelGenomeViewer.SetActive(true); //uiManager.historyPanelUI.buttonSelCreatureEventsLink.GetComponent<RectTransform>().localPosition = Vector3.one * 4.2f; }
/// <summary> /// 单个告警处理 /// </summary> private void SubProcessGroupAlarm( GroupAlarmType alarmType, SelectionGroup group) { AlarmConfigData alarmSet; AlarmInfo info; float temperature; switch (alarmType) { case GroupAlarmType.MaxTemperature: alarmSet = group.mAlarmConfig.mMaxTempConfig; temperature = group.mTemperatureData.mMaxTemperature; info = group.mAlarmInfo.mMaxTempAlarm; break; case GroupAlarmType.MaxTempRise: alarmSet = group.mAlarmConfig.mMaxTempeRiseConfig; temperature = group.mTemperatureData.mTemperatureRise; info = group.mAlarmInfo.mMaxTempRiseAlarmInfo; break; case GroupAlarmType.MaxTempDif: alarmSet = group.mAlarmConfig.mMaxTempDifConfig; temperature = group.mTemperatureData.mTemperatureDif; info = group.mAlarmInfo.mMaxTempDifAlarmInfo; break; case GroupAlarmType.RelativeTempDif: alarmSet = group.mAlarmConfig.mRelativeTempDifConfig; temperature = group.mTemperatureData.mRelTemperatureDif; info = group.mAlarmInfo.mRelativeTempDifAlarmInfo; break; default: return; } AlarmStatus lastStatus = info.mAlarmStatus; info.mLastAlarmLevel = info.mCurrentAlarmLevel; if ((alarmType == GroupAlarmType.MaxTemperature) || (alarmType == GroupAlarmType.RelativeTempDif)) { CalcAlarmInfo(alarmSet, temperature, info); } else { SpecialCalAlarmInfo(alarmSet, temperature, info); // 特殊处理组选区温升/温差 } if (alarmType == GroupAlarmType.MaxTemperature) { ProcessAlarmReadyEnd(alarmSet, temperature, info); } if (info.mAlarmStatus == AlarmStatus.AlarmStart) { info.mAlarmStatus = AlarmStatus.Alarming; // 添加告警 string groupData = group.Serialize(); string temperatureInfo = JsonUtils.ObjectToJson(group.mTemperatureData); // 阈值设置序列化 string condition = string.Format("{0},{1},{2}", alarmSet.mGeneralThreshold, alarmSet.mSeriousThreshold, alarmSet.mCriticalThreshold); // 记录告警开始时间 info.mBeginTime = DateTime.Now; info.mIsTimeout = false; // 告警入库 OnAddAlarmInfo?.Invoke( (int)AlarmMode.GroupSelection, (int)alarmType, (int)alarmSet.mAlarmReason, (int)info.mCurrentAlarmLevel, condition, temperature, group.mId, group.mGroupName, groupData, temperatureInfo, mMaxTemperature, mMinTemperature, group.mSelections, info); } else if (info.mAlarmStatus == AlarmStatus.AlarmEnd) { info.mAlarmStatus = AlarmStatus.Unknown; // 结束告警 string selectionData = group.Serialize(); OnUpdateAlarmInfo?.Invoke( (int)AlarmMode.GroupSelection, (int)alarmType, group.mId, selectionData, info); // 取消超时 info.mIsTimeout = true; } else if (info.mAlarmStatus == AlarmStatus.AlarmingChanged) { // 结束上一次告警 string selectionData = group.Serialize(); OnUpdateAlarmInfo?.Invoke( (int)AlarmMode.GroupSelection, (int)alarmType, group.mId, selectionData, info); string temperatureInfo = JsonUtils.ObjectToJson(group.mTemperatureData); // 阈值设置序列化 string condition = string.Format("{0},{1},{2}", alarmSet.mGeneralThreshold, alarmSet.mSeriousThreshold, alarmSet.mCriticalThreshold); // 记录告警开始时间 info.mBeginTime = DateTime.Now; info.mIsTimeout = false; info.mAlarmStatus = AlarmStatus.Alarming; OnAddAlarmInfo?.Invoke( (int)AlarmMode.GroupSelection, (int)alarmType, (int)alarmSet.mAlarmReason, (int)info.mCurrentAlarmLevel, condition, temperature, group.mId, group.mGroupName, selectionData, temperatureInfo, mMaxTemperature, mMinTemperature, group.mSelections, info); } else if ((info.mAlarmStatus == AlarmStatus.Alarming || info.mAlarmStatus == AlarmStatus.AlarmingReadyChanged) && (info.mIsTimeout == false)) { DateTime time = DateTime.Now; if ((time - info.mBeginTime).TotalMinutes >= mTimeout) { string selectionData = group.Serialize(); OnAlarmTimeout?.Invoke( (int)AlarmMode.GroupSelection, (int)alarmType, group.mId, selectionData, info); info.mIsTimeout = true; } } }
private ISelectionGroup<RadioButton> GetDefaultGroup() { if (LogicalParent == null) { return null; } ISelectionGroup<RadioButton> group = (ISelectionGroup<RadioButton>)LogicalParent.GetValue(SelectionGroupProperty); if (group == null) { group = new SelectionGroup<RadioButton>(); LogicalParent.SetValue(SelectionGroupProperty, group); } return group; }
public void UpdateButtonPrefab(SelectionGroup grp, int slotIndex) { index = slotIndex; group = grp; }
private void UnitSetGroup(Unit u, SelectionGroup group) { group.selectionGroup.Add(u.gameObject.transform); u.CurrentStats().inGroup = true; u.CurrentStats().group = group; }
private void Awake() { selectionGroup = new SelectionGroup(formation); }
/// <summary> /// 更新组选区 /// </summary> public ARESULT UpdateGroupSelectionConfig(string data) { GroupSelectionUpdateParam gupdate = JsonUtils.ObjectFromJson <GroupSelectionUpdateParam>(data); if (gupdate == null) { return(ARESULT.E_FAIL); } GroupAlarmConfig alramconfig = JsonUtils.ObjectFromJson <GroupAlarmConfig>(gupdate.mData); if (alramconfig == null) { return(ARESULT.E_FAIL); } SelectionGroup selectionGroup = null; lock (mSelectionGroups) { foreach (SelectionGroup item in mSelectionGroups) { if (item.mId == gupdate.mId) { selectionGroup = item; break; } } } if (selectionGroup == null) { return(ARESULT.E_FAIL); } #region 更新告警设置 lock (selectionGroup) { // 暂停温度处理线程 mProcessingWorker.Pause(); if (!selectionGroup.mAlarmConfig.mMaxTempConfig.Equals(alramconfig.mMaxTempConfig)) { // 正在告警时, 结束当前告警 if (selectionGroup.mAlarmInfo.mMaxTempAlarm.mAlarmStatus == AlarmStatus.Alarming) { UpdateAlarmInfo( (int)AlarmMode.GroupSelection, (int)GroupAlarmType.MaxTemperature, selectionGroup.mId, selectionGroup.Serialize(), selectionGroup.mAlarmInfo.mMaxTempAlarm); } selectionGroup.mAlarmConfig.mMaxTempConfig = alramconfig.mMaxTempConfig; selectionGroup.mAlarmInfo.mMaxTempAlarm.Reset(); } if (!selectionGroup.mAlarmConfig.mMaxTempeRiseConfig.Equals(alramconfig.mMaxTempeRiseConfig)) { if (selectionGroup.mAlarmInfo.mMaxTempRiseAlarmInfo.mAlarmStatus == AlarmStatus.Alarming) { UpdateAlarmInfo( (int)AlarmMode.GroupSelection, (int)GroupAlarmType.MaxTempRise, selectionGroup.mId, selectionGroup.Serialize(), selectionGroup.mAlarmInfo.mMaxTempRiseAlarmInfo); } selectionGroup.mAlarmConfig.mMaxTempeRiseConfig = alramconfig.mMaxTempeRiseConfig; selectionGroup.mAlarmInfo.mMaxTempRiseAlarmInfo.Reset(); } if (!selectionGroup.mAlarmConfig.mMaxTempDifConfig.Equals(alramconfig.mMaxTempDifConfig)) { if (selectionGroup.mAlarmInfo.mMaxTempDifAlarmInfo.mAlarmStatus == AlarmStatus.Alarming) { UpdateAlarmInfo( (int)AlarmMode.GroupSelection, (int)GroupAlarmType.MaxTempDif, selectionGroup.mId, selectionGroup.Serialize(), selectionGroup.mAlarmInfo.mMaxTempDifAlarmInfo); } selectionGroup.mAlarmConfig.mMaxTempDifConfig = alramconfig.mMaxTempDifConfig; selectionGroup.mAlarmInfo.mMaxTempDifAlarmInfo.Reset(); } if (!selectionGroup.mAlarmConfig.mRelativeTempDifConfig.Equals(alramconfig.mRelativeTempDifConfig)) { if (selectionGroup.mAlarmInfo.mRelativeTempDifAlarmInfo.mAlarmStatus == AlarmStatus.Alarming) { UpdateAlarmInfo( (int)AlarmMode.GroupSelection, (int)GroupAlarmType.RelativeTempDif, selectionGroup.mId, selectionGroup.Serialize(), selectionGroup.mAlarmInfo.mRelativeTempDifAlarmInfo); } selectionGroup.mAlarmConfig.mRelativeTempDifConfig = alramconfig.mRelativeTempDifConfig; selectionGroup.mAlarmInfo.mRelativeTempDifAlarmInfo.Reset(); } // 取消暂停 mProcessingWorker.Resume(); } #endregion return(GroupSelectionDAO.UpdateGroupSelection(selectionGroup.mId, selectionGroup.Serialize())); }
public SelectMessage(Entity sender, SelectionButton selectionButton, SelectionGroup selectionGroup) : base(sender) { Selection = selectionButton; SelectionGroup = selectionGroup; }