public void CloseFlagModifier() { WhereFlagModifierOpened = new Point16(-1, -1); openedFlagModifier = null; FlagModifierUI.CloseUI(); Main.NewText("Closed Flag Modifier"); }
public void OpenFlagModifier(Point16 where, FlagModifier flagModifier) { if (player.talkNPC != -1 || player.sign != -1 || player.chest != -1) { player.talkNPC = player.sign = player.chest = -1; } WhereFlagModifierOpened = where; openedFlagModifier = flagModifier; FlagModifierUI.OpenUI(openedFlagModifier.currentFlag); Main.NewText("Opened flag modifier at " + where.X + ", " + where.Y); }
public void GenerateFlagModifier(Block block, string flagInformations, int cyclesRemaining) { string[] flagElements = flagInformations.Split(new char[] { '_' }, System.StringSplitOptions.RemoveEmptyEntries); bool flagFound = false; foreach (Flag.IFlag flags in block.activeFlags) { if (flags.GetFlagType() == System.Type.GetType(flagElements[0])) { flagFound = true; } } if (!flagFound) { return; } FlagModifier newFlagModifier = new FlagModifier(); newFlagModifier.cyclesRemaining = cyclesRemaining; newFlagModifier.flagInformations = flagInformations; //Apply the flag modification GameManager.instance.flagReader.ReadFlag(block, flagInformations); block.flagModifiers.Add(newFlagModifier); }