private void OnEnable() { Generate(); SelectionManager.Current.SetSelectionChangeAction(UpdateSelection); RenderAdaptiveMarkers.UpdateAdaptiveLines(); UpdateMarkerName(); }
public void OnTableToggleChanged(int GroupId, int ToggleId) { TablesLua.TablesInfo TablesData = MapLuaParser.Current.TablesLuaFile.Data; bool SetTo = false; if (CustomToggles[GroupId][ToggleId].HasOffValue) { SetTo = true; } string TableKey; if (TablesData.AllTables[GroupId].OneDimension) { TableKey = TablesData.AllTables[GroupId].Key; } else { TableKey = TablesData.AllTables[GroupId].Key + "#" + ToggleId; } int Count = SelectionManager.Current.Selection.Ids.Count; bool AnyChanged = false; for (int i = 0; i < Count; i++) { GameObject CurrentObj = SelectionManager.Current.AffectedGameObjects[SelectionManager.Current.Selection.Ids[i]]; SaveLua.Marker Current = CurrentObj.GetComponent <MarkerObject>().Owner; AnyChanged |= SetTableGroupToggle(Current, SetTo, TableKey); } for (int s = 0; s < SelectionManager.Current.SymetrySelection.Length; s++) { for (int i = 0; i < SelectionManager.Current.SymetrySelection[s].Ids.Count; i++) { GameObject CurrentObj = SelectionManager.Current.AffectedGameObjects[SelectionManager.Current.SymetrySelection[s].Ids[i]]; SaveLua.Marker Current = CurrentObj.GetComponent <MarkerObject>().Owner; AnyChanged |= SetTableGroupToggle(Current, SetTo, TableKey); } } CustomToggles[GroupId][ToggleId].HasOnValue = SetTo; CustomToggles[GroupId][ToggleId].HasOffValue = !SetTo; CustomToggles[GroupId][ToggleId].ApplyTesting(); if (AnyChanged) { RenderAdaptiveMarkers.UpdateAdaptiveLines(); } }
public void OnArmyToggleChanged(int GroupId, int ToggleId) { bool SetTo = false; if (ArmyToogles[ToggleId].HasOffValue) { SetTo = true; } int Count = SelectionManager.Current.Selection.Ids.Count; bool AnyChanged = false; for (int i = 0; i < Count; i++) { GameObject CurrentObj = SelectionManager.Current.AffectedGameObjects[SelectionManager.Current.Selection.Ids[i]]; SaveLua.Marker Current = CurrentObj.GetComponent <MarkerObject>().Owner; if (Current.MarkerType != SaveLua.Marker.MarkerTypes.Mass && Current.MarkerType != SaveLua.Marker.MarkerTypes.Hydrocarbon) { continue; } if (SetTo) { if (!Current.SpawnWithArmy.Contains(ToggleId)) { Current.SpawnWithArmy.Add(ToggleId); AnyChanged = true; } } else { if (Current.SpawnWithArmy.Contains(ToggleId)) { Current.SpawnWithArmy.Remove(ToggleId); AnyChanged = true; } } } ArmyToogles[ToggleId].HasOnValue = SetTo; ArmyToogles[ToggleId].HasOffValue = !SetTo; ArmyToogles[ToggleId].ApplyTesting(); if (AnyChanged) { RenderAdaptiveMarkers.UpdateAdaptiveLines(); } }
public void OnTableToggleChanged(int GroupId, int ToggleId) { TablesLua.TablesInfo TablesData = MapLuaParser.Current.TablesLuaFile.Data; bool SetTo = false; if (CustomToggles[GroupId][ToggleId].HasOffValue) { SetTo = true; } string TableKey; if (TablesData.AllTables[GroupId].OneDimension) { TableKey = TablesData.AllTables[GroupId].Key; } else { TableKey = TablesData.AllTables[GroupId].Key + "#" + ToggleId; } int Count = SelectionManager.Current.Selection.Ids.Count; bool AnyChanged = false; for (int i = 0; i < Count; i++) { GameObject CurrentObj = SelectionManager.Current.AffectedGameObjects[SelectionManager.Current.Selection.Ids[i]]; SaveLua.Marker Current = CurrentObj.GetComponent <MarkerObject>().Owner; if (Current.MarkerType != SaveLua.Marker.MarkerTypes.Mass && Current.MarkerType != SaveLua.Marker.MarkerTypes.Hydrocarbon) { continue; } if (SetTo) { if (!Current.AdaptiveKeys.Contains(TableKey)) { Current.AdaptiveKeys.Add(TableKey); AnyChanged = true; } } else { if (Current.AdaptiveKeys.Contains(TableKey)) { Current.AdaptiveKeys.Remove(TableKey); AnyChanged = true; } } } CustomToggles[GroupId][ToggleId].HasOnValue = SetTo; CustomToggles[GroupId][ToggleId].HasOffValue = !SetTo; CustomToggles[GroupId][ToggleId].ApplyTesting(); if (AnyChanged) { RenderAdaptiveMarkers.UpdateAdaptiveLines(); } }
public void OnArmyToggleChanged(int GroupId, int ToggleId) { bool SetTo = false; if (ArmyToogles[ToggleId].HasOffValue) { SetTo = true; } int Count = SelectionManager.Current.Selection.Ids.Count; bool AnyChanged = false; for (int i = 0; i < Count; i++) { GameObject CurrentObj = SelectionManager.Current.AffectedGameObjects[SelectionManager.Current.Selection.Ids[i]]; AnyChanged |= SetMarkerArmyToggle(CurrentObj.GetComponent <MarkerObject>().Owner, SetTo, ToggleId); } var symmetryArmies = MapLuaParser.Current.ScenarioLuaFile.GetSymmetryArmies(Armies[ToggleId]); Debug.Log(symmetryArmies.Count); for (int s = 0; s < SelectionManager.Current.SymetrySelection.Length; s++) { bool AnySymmetryChanged = false; int symmetryToogleId = -1; for (int a = 0; a < Armies.Length; a++) { if (Armies[a] == symmetryArmies[s]) { symmetryToogleId = a; break; } } Debug.Log(s + " : " + symmetryToogleId); if (symmetryToogleId < 0) { continue; } for (int i = 0; i < SelectionManager.Current.SymetrySelection[s].Ids.Count; i++) { GameObject CurrentObj = SelectionManager.Current.AffectedGameObjects[SelectionManager.Current.SymetrySelection[s].Ids[i]]; AnySymmetryChanged |= SetMarkerArmyToggle(CurrentObj.GetComponent <MarkerObject>().Owner, SetTo, symmetryToogleId); } //ArmyToogles[symmetryToogleId].HasOnValue = SetTo; //ArmyToogles[symmetryToogleId].HasOffValue = !SetTo; //ArmyToogles[symmetryToogleId].ApplyTesting(); AnyChanged |= AnySymmetryChanged; } ArmyToogles[ToggleId].HasOnValue = SetTo; ArmyToogles[ToggleId].HasOffValue = !SetTo; ArmyToogles[ToggleId].ApplyTesting(); if (AnyChanged) { RenderAdaptiveMarkers.UpdateAdaptiveLines(); } }