public override void OnEvent(ControllerSpawned evnt) { if (BoltNetwork.IsServer && !ControllerReferences.IndependantMP) { foreach (TIRuleFilter ruleFilter in ruleFilterTIs.Values) { if (!ruleFilter.Active) { var changeRuleFilter = ChangeRuleFilter.Create(evnt.RaisedBy); changeRuleFilter.GroupKey = ruleFilter.GroupKey; changeRuleFilter.State = false; changeRuleFilter.Send(); } } foreach (TIPartTypeFilter partFilter in partFilterTIs.Values) { if (!partFilter.Active) { var changePartFilter = ChangePartFilter.Create(evnt.RaisedBy); changePartFilter.State = false; changePartFilter.ID = partFilter.TemplateID; changePartFilter.Send(); } } } }
public override void ActivateItem() { active = !active; if (!BoltNetwork.IsRunning || ControllerReferences.IndependantMP) { if (active) { Highlight(); } else { Lowlight(); } //for (int i = GlobalReferences.ActiveRulesGrammer.Count - 1; i >= 0; --i) foreach (int[] gramm in GlobalReferences.RuleGroups[groupKey]) { GlobalReferences.RuleMatrix[gramm[0], gramm[1]] = active; } } else { ChangeRuleFilter evnt = ChangeRuleFilter.Create(); evnt.State = active; evnt.GroupKey = groupKey; evnt.Send(); } }
public override void OnEvent(ChangeRuleFilter evnt) { foreach (int[] gramm in GlobalReferences.RuleGroups[evnt.GroupKey]) { GlobalReferences.RuleMatrix[gramm[0], gramm[1]] = evnt.State; } if (ruleFilterTIs.ContainsKey(evnt.GroupKey)) { ruleFilterTIs[evnt.GroupKey].ChangeState(evnt.State); } }