Texture2D GetModeIcon(CentrifugeMode mode) { switch (mode) { case CentrifugeMode.TurnLeft: return(TextureCache.turnLeft); case CentrifugeMode.TurnRight: return(TextureCache.turnRight); case CentrifugeMode.Turn180: return(TextureCache.turn180); default: return(null); } }
public static ChemicalSignature MakeRotation(CentrifugeMode mode, ChemicalSignature signature) { if (signature == null) { return(null); } switch (mode) { case CentrifugeMode.TurnRight: return(signature.Rotate()); case CentrifugeMode.Turn180: return(signature.Rotate().Rotate()); case CentrifugeMode.TurnLeft: return(signature.Rotate().Rotate().Rotate()); default: throw new InvalidOperationException(); } }
void Init() { ui = new UIContainer(); mode = CentrifugeMode.TurnRight; if (inputSignature != null) { UpdateOutputSignature(); } UIButtonStyle centrifuge_button = new UIButtonStyle(new UIButtonAppearance(Game1.font, Color.Black, new RichImage(TextureCache.centrifuge_button_highlight), Color.Black, new Vector2(1, 0)), new UIButtonAppearance(Game1.font, Color.Black, new RichImage(TextureCache.centrifuge_button_highlight), Color.Yellow, new Vector2(1, 0)), new UIButtonAppearance(Game1.font, Color.Black, new RichImage(TextureCache.centrifuge_button_highlight), Color.Orange, new Vector2(1, 0)), new UIButtonAppearance(Game1.font, Color.Black, new RichImage(TextureCache.centrifuge_button_highlight), Color.Black, new Vector2(1, 0))); ui.Add(new UIButton("", TextureCache.turnLeft, new Rectangle(-4, 42, 18, 18), centrifuge_button, button_SelectTurnLeft)); ui.Add(new UIButton("", TextureCache.turn180, new Rectangle(14, 42, 18, 18), centrifuge_button, button_SelectTurn180)); ui.Add(new UIButton("", TextureCache.turnRight, new Rectangle(33, 42, 18, 18), centrifuge_button, button_SelectTurnRight)); SetPipeSocket(new Vector2(24, 13), 1); AddOutputPipe(new Vector2(14, 44)); unlimitedPipes = true; }
void button_SelectTurnRight() { mode = CentrifugeMode.TurnRight; state = CentrifugeState.EMPTY; }
void button_SelectTurn180() { mode = CentrifugeMode.Turn180; state = CentrifugeState.EMPTY; }