예제 #1
0
        internal static bool RoomTypeMatches(Placement_Type placementType, Room.Room_Type roomType)
        {
            switch (placementType)
            {
            case Placement_Type.None:
            {
                return(false);
            }

            case Placement_Type.Weapon:
            {
                return(roomType == Room.Room_Type.Weapon);
            }

            case Placement_Type.Storage:
            {
                return(roomType == Room.Room_Type.Material_Storage);
            }

            case Placement_Type.Generator:
            {
                return(roomType == Room.Room_Type.Power_Generation);
            }

            case Placement_Type.Battery:
            {
                return(roomType == Room.Room_Type.Power_Storage);
            }

            default:
            {
                throw new NotImplementedException("Unknown placement type");
            }
            }
        }
예제 #2
0
        private void ShipBuildButton_Click(object sender, EventArgs e)
        {
            BuildStateShipUI componentCanvas = new BuildStateShipUI(_content);

            _activeCanvas           = componentCanvas;
            _placementType          = Placement_Type.None;
            _temporaryRoom          = null;
            _temporaryComponent     = null;
            _drawTemporaryComponent = false;
            _tabState = Tab_State.Ship;
            roomState = Room_State.None;
            SetActiveButton(ControlConstants.BUILDMODE_SHIP.Text);
        }
예제 #3
0
        private void RoomButton_Click(object sender, EventArgs e)
        {
            BuildStateRoomsUI componentCanvas = new BuildStateRoomsUI(_content);

            componentCanvas.InitializeButton(DeleteRoomButton_Click, ControlConstants.DELETE_ROOM.Text);
            componentCanvas.InitializeButton(CreateRoomButton_Click, ControlConstants.CREATE_ROOM.Text);
            _activeCanvas           = componentCanvas;
            _placementType          = Placement_Type.None;
            _temporaryRoom          = null;
            _temporaryComponent     = null;
            _drawTemporaryComponent = false;
            _tabState = Tab_State.Room;
            roomState = Room_State.None;
            SetActiveButton(ControlConstants.BUILDMODE_ROOM.Text);
        }
예제 #4
0
        internal static int GetBaseValue(Placement_Type type)
        {
            switch (type)
            {
            case Placement_Type.Weapon:
            case Placement_Type.PlacingWeapon:
                return(new WeaponComponent(0, 0, Color.White).getValue());

            case Placement_Type.Storage:
            case Placement_Type.PlacingStorage:
                return(new MaterialStorageComponent(0, 0, Color.White).getValue());

            case Placement_Type.Generator:
            case Placement_Type.PlacingGenerator:
                return(new PowerGenerationComponent(0, 0, Color.White).getValue());

            case Placement_Type.Battery:
            case Placement_Type.PlacingBattery:
                return(new PowerStorageComponent(0, 0, Color.White).getValue());
            }
            return(0);
        }
예제 #5
0
 private void PlaceBatteryButton_Click(object sender, EventArgs e)
 {
     _placementType = Placement_Type.Battery;
 }
예제 #6
0
 private void PlaceGeneratorButton_Click(object sender, EventArgs e)
 {
     _placementType = Placement_Type.Generator;
 }
예제 #7
0
 private void PlaceStorageButton_Click(object sender, EventArgs e)
 {
     _placementType = Placement_Type.Storage;
 }
예제 #8
0
 private void PlaceWeaponButton_Click(object sender, EventArgs e)
 {
     _placementType = Placement_Type.Weapon;
 }
예제 #9
0
 private void DeleteComponentButton_Click(object sender, EventArgs e)
 {
     _placementType = Placement_Type.DeleteComponent;
 }