public void Reset() { FreezeTS = false; FreezeMins = -1; FreezeGas = -1; FreezeTerra = -1; FreezeCustom = -1; FreezeSupply = -1; DDMultiplier = 1; DTMultiplier = 1; TSMultiplier = 1; }
public void ApplyChanges() { PlayerCheck = NewPlayerCheck; CheckedPlayers = NewCheckedPlayers; int Mins = (int)boxMins.Value; int Gas = (int)boxGas.Value; int Terra = (int)boxTerra.Value; int Custom = (int)boxCustom.Value; fixed32 Supply = (float)boxSupply.Value; fixed32 MaxSupply = cfMaxSupply.Checked ? (float)Supply : (float)boxMaxSupply.Value; FreezeMins = cfMins.Checked ? Mins : -1; FreezeGas = cfGas.Checked ? Gas : -1; FreezeTerra = cfTerra.Checked ? Terra : -1; FreezeCustom = cfCustom.Checked ? Custom : -1; FreezeSupply = cfSupply.Checked ? Supply : -1; FreezeTS = cbFreezeUnits.Checked; bool ChangeDD = false; bool ChangeDT = false; bool ChangeTS = false; if (!rDDNoChange.Checked) { ChangeDD = true; if (rDDNone.Checked) { DDMultiplier = 0; } if (rDDNormal.Checked) { DDMultiplier = 1; } if (rDDCustom.Checked) { DDMultiplier = (float)boxDDCustom.Value; } } if (!rDTNoChange.Checked) { ChangeDT = true; if (rDTNone.Checked) { DTMultiplier = 0; } if (rDTNormal.Checked) { DTMultiplier = 1; } if (rDTCustom.Checked) { DTMultiplier = (float)boxDTCustom.Value; } } if (!rTSNoChange.Checked) { ChangeTS = true; if (rTSNone.Checked) { TSMultiplier = 0; } if (rTSNormal.Checked) { TSMultiplier = 1; } if (rTSCustom.Checked) { TSMultiplier = (float)boxTSCustom.Value; } } for (int i = 0; i < 16; i++) { if (PlayerCheck[i]) { if (Mins >= 0) { GameData.offsets.WriteArrayElementMember(ORNames.Players, i, ORNames.minerals_current, (uint)Mins); } if (Gas >= 0) { GameData.offsets.WriteArrayElementMember(ORNames.Players, i, ORNames.vespene_current, (uint)Gas); } if (Terra >= 0) { GameData.offsets.WriteArrayElementMember(ORNames.Players, i, ORNames.terrazine_current, (uint)Terra); } if (Custom >= 0) { GameData.offsets.WriteArrayElementMember(ORNames.Players, i, ORNames.custom_resource_current, (uint)Custom); } if (MaxSupply >= 0) { GameData.offsets.WriteArrayElementMember(ORNames.Players, i, ORNames.supply_limit, MaxSupply); } if (Supply >= 0) { GameData.offsets.WriteArrayElementMember(ORNames.Players, i, ORNames.supply_cap, Supply); } if (ChangeDD) { GameData.offsets.WriteArrayElementMember(ORNames.Players, i, ORNames.attack_multiplier, DDMultiplier); } if (ChangeDT) { GameData.offsets.WriteArrayElementMember(ORNames.Players, i, ORNames.defense_multiplier, DTMultiplier); } } } List <Unit> AffectedUnits = GameData.GetPlayersUnits(CheckedPlayers); foreach (Unit unit in AffectedUnits) { if (ChangeTS) { unit.timeScale = TSMultiplier; } } }