Example usage for com.badlogic.gdx.graphics Color rgba8888ToColor

List of usage examples for com.badlogic.gdx.graphics Color rgba8888ToColor

Introduction

In this page you can find the example usage for com.badlogic.gdx.graphics Color rgba8888ToColor.

Prototype

public static void rgba8888ToColor(Color color, int value) 

Source Link

Document

Sets the Color components using the specified integer value in the format RGBA8888.

Usage

From source file:ateamproject.kezuino.com.github.network.rmi.Client.java

@Override
public void registerPackets() {
    packets.registerFunc(PacketKick.class, packet -> {
        if (packet.getSender() == null) {
            new Dialog("Kicked", ((BaseScreen) game.getScreen()).getSkin()) {
                {/*  w w w .  ja va2s.  co  m*/
                    text(packet.getReason());
                    button("Oke");

                    addListener(new ClickListener(0) {
                        @Override
                        public void clicked(InputEvent event, float x, float y) {
                            game.setScreen(new MainScreen(game));
                        }
                    });
                }
            }.show(((BaseScreen) game.getScreen()).getStage());
            return true;
        } else {
            try {
                if (packet.getReceivers().length > 0) {
                    for (UUID receiver : packet.getReceivers()) {
                        this.rmi.getServer().kickClient(packet.getSender(), receiver, packet.getReasonType(),
                                packet.getReason());
                    }
                } else {
                    this.rmi.getServer().kickClient(packet.getSender(), null, packet.getReasonType(),
                            packet.getReason());
                }
            } catch (RemoteException ex) {
                Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
            }
            return true;
        }
    });

    packets.registerFunc(PacketLoginAuthenticate.class, packet -> {
        PacketLoginAuthenticate.ReturnData data = null;
        try {
            data = getRmi().getServer().login(packet.getEmailAddress(), packet.getPassword(), getRmi());
        } catch (Exception e) {
            data = new PacketLoginAuthenticate.ReturnData(null, null, null, null, "Server is niet online.",
                    false);
        }

        if (data != null) {
            if (data.getPrivateId() == null) {
                this.setEmailaddress(null);
                this.setUsername(null);
                this.setId(null);
                this.setPublicId(null);
            } else {
                this.setEmailaddress(data.getEmailadress());
                this.setUsername(data.getUsername());
                this.setId(data.getPrivateId());
                this.setPublicId(data.getPublicId());
                System.out.printf("Logged in as: (Username: %s), (Email: %s), (Private: %s), (Public: %s)%n",
                        data.getUsername(), data.getEmailadress(), data.getPrivateId(), data.getPublicId());
            }
        }

        return data;
    });

    packets.registerAction(PacketLogout.class, packet -> {

        try {
            getRmi().getServer().logout(getId());
        } catch (RemoteException e) {
            e.printStackTrace();
        }
    });

    packets.registerFunc(PacketHighScore.class, (packet) -> {
        try {
            return getRmi().getServer().setScore(packet.getSender(), packet.getScore());
        } catch (RemoteException ex) {
            Logger.getLogger(MainScreen.class.getName()).log(Level.SEVERE, null, ex);
        }
        return false;
    });

    packets.registerFunc(PacketCreateLobby.class, (p) -> {

        try {
            return getRmi().getServer().createLobby(p.getSender(), p.getLobbyname(), p.getClanname());
        } catch (RemoteException ex) {
            Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName())
                    .log(Level.SEVERE, null, ex);
        }
        return null;
    });

    packets.registerFunc(PacketGetLobbies.class, (p) -> {
        try {
            return getRmi().getServer().getLobbies(p.getSender(), p.isClanGame());
        } catch (RemoteException ex) {
            Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName())
                    .log(Level.SEVERE, null, ex);
        }
        return null;
    });

    packets.registerAction(PacketScreenUpdate.class, packet -> {
        if (game.getScreen().getClass().equals(packet.getScreenClass())) {
            RefreshableScreen screen = (RefreshableScreen) game.getScreen();
            screen.refresh();
        }
    });

    packets.registerFunc(PacketGetClans.class, (p) -> {
        try {
            return getRmi().getServer().getClans(p.getSender());
        } catch (RemoteException ex) {
            Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName())
                    .log(Level.SEVERE, null, ex);
        }

        return null;
    });

    packets.registerAction(PacketReloadClans.class, (p) -> {
        // run methode op de serverbase .getclans
        try {
            getRmi().getServer().setClans(p.getSender());
        } catch (RemoteException ex) {
            Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName())
                    .log(Level.SEVERE, null, ex);
        }
    });

    packets.registerFunc(PacketJoinLobby.class, (p) -> {
        try {
            return getRmi().getServer().joinLobby(p.getLobbyId(), p.getSender());
        } catch (RemoteException ex) {
            Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName())
                    .log(Level.SEVERE, null, ex);
        }
        return null;
    });

    packets.registerFunc(PacketLoginCreateNewUser.class, (p) -> {
        try {
            return getRmi().getServer().loginCreateUser(p.getSender(), p.getUsername(), p.getEmail());
        } catch (RemoteException ex) {
            Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName())
                    .log(Level.SEVERE, null, ex);
        }

        return false;
    });

    packets.registerFunc(PacketLoginUserExists.class, (p) -> {
        try {
            return getRmi().getServer().doesUserExists(p.getEmail());
        } catch (RemoteException ex) {
            Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName())
                    .log(Level.SEVERE, null, ex);
        }

        return false;
    });

    packets.registerFunc(PacketGetKickInformation.class, (p) -> {
        try {
            return getRmi().getServer().getKickInformation(p.getSender());
        } catch (RemoteException ex) {
            Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName())
                    .log(Level.SEVERE, null, ex);
        }

        return false;
    });

    packets.registerFunc(PacketCreateClan.class, (p) -> {
        try {
            return getRmi().getServer().createClan(p.getSender(), p.getClanName());
        } catch (RemoteException ex) {
            Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName())
                    .log(Level.SEVERE, null, ex);
        }

        return false;
    });

    packets.registerFunc(PacketFillTable.class, (p) -> {
        try {
            return getRmi().getServer().clanFillTable(p.getEmailadres());
        } catch (RemoteException ex) {
            Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName())
                    .log(Level.SEVERE, null, ex);
        }

        return false;
    });

    packets.registerFunc(PacketGetEmail.class, (p) -> {
        try {
            return getRmi().getServer().getEmail(p.getSender());
        } catch (RemoteException ex) {
            Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName())
                    .log(Level.SEVERE, null, ex);
        }

        return false;
    });

    packets.registerFunc(PacketGetInvitation.class, (p) -> {
        try {
            return getRmi().getServer().clanGetInvitation(p.getSender(), p.getClanName());
        } catch (RemoteException ex) {
            Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName())
                    .log(Level.SEVERE, null, ex);
        }

        return false;
    });

    packets.registerFunc(PacketGetManagement.class, (p) -> {
        try {
            return getRmi().getServer().getManagement(p.getSender(), p.getClanName());
        } catch (RemoteException ex) {
            Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName())
                    .log(Level.SEVERE, null, ex);
        }

        return false;
    });

    packets.registerFunc(PacketGetPeople.class, (p) -> {
        try {
            return getRmi().getServer().getPeople(p.getClanName());
        } catch (RemoteException ex) {
            Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName())
                    .log(Level.SEVERE, null, ex);
        }

        return false;
    });

    packets.registerFunc(PacketGetUsername.class, (p) -> {
        try {
            return getRmi().getServer().getUsername(p.getEmailadres());
        } catch (RemoteException ex) {
            Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName())
                    .log(Level.SEVERE, null, ex);
        }

        return false;
    });

    packets.registerFunc(PacketHandleInvitation.class, (p) -> {
        try {
            return getRmi().getServer().handleInvitation(p.getInvite(), p.getClanName(), p.getEmailadres(),
                    p.getNameOfInvitee());
        } catch (RemoteException ex) {
            Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName())
                    .log(Level.SEVERE, null, ex);
        }

        return false;
    });

    packets.registerFunc(PacketHandleManagement.class, (p) -> {
        try {
            return getRmi().getServer().handleManagement(p.getManage(), p.getClanName(), p.getEmailadres());
        } catch (RemoteException ex) {
            Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName())
                    .log(Level.SEVERE, null, ex);
        }

        return false;
    });

    packets.registerFunc(PacketSetUsername.class, (p) -> {
        try {
            return getRmi().getServer().setUsername(p.getName(), p.getEmailaddress(), p.getSender());
        } catch (RemoteException ex) {
            Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName())
                    .log(Level.SEVERE, null, ex);
        }

        return false;
    });

    packets.registerAction(PacketSetKickInformation.class, packet -> {
        try {
            getRmi().getServer().setKickInformation(packet.getSender(), packet.getPersonToVoteFor());
        } catch (RemoteException e) {
            e.printStackTrace();
        }
    });

    packets.registerAction(PacketClientJoined.class, p -> {
        if (game.getScreen() instanceof LobbyScreen) {
            LobbyScreen t = (LobbyScreen) game.getScreen();
            t.addMember(p.getJoinenId(), p.getUsername());
        }
    });

    packets.registerFunc(PacketLobbyMembers.class, packet -> {
        try {
            // return all current members in the lobby
            return getRmi().getServer().getLobbyMembers(packet.getLobbyId());

        } catch (RemoteException ex) {
            Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
        }
        return null;
    });

    packets.registerAction(PacketLaunchGame.class, p -> {
        if (p.getSender() != null) {
            // Request came from client..
            try {
                rmi.getServer().launchGame(p.getSender(), p.getLevel(), p.getScore());
            } catch (RemoteException e) {
                e.printStackTrace();
            }
        } else {
            // Request came from server..
            if (p.isPaused()) {
                Gdx.app.postRunnable(() -> {
                    // Sync data of pactales already send to connected clients with host.
                    try {
                        List<PacketGetGameClients.Data> data = getRmi().getServer()
                                .getGameClients(Client.getInstance().getId());

                        for (PacketGetGameClients.Data d : data) {
                            Pactale player = BaseScreen.getSession().getPlayer(d.getIndex());

                            player.setId(d.getPublicId());
                            player.setColor(
                                    ateamproject.kezuino.com.github.network.Game.SELECTABLE_COLORS[player
                                            .getPlayerIndex()]);
                        }
                    } catch (RemoteException e) {
                        e.printStackTrace();
                    }

                    game.setScreen(new GameScreen(game));
                    ((GameScreen) game.getScreen()).start();
                });
            } else {
                // Request came from server.. resume game.
                Gdx.app.postRunnable(() -> BaseScreen.getSession().resume());
            }
        }
    });

    packets.registerAction(PacketCreateGameObject.class, p -> {
        GameSession session = BaseScreen.getSession();
        if (session == null) {
            System.out.printf("Tried to create object: '%s' but no GameSession was set.%n", p.getTypeName());
            return;
        }

        GameObject object = null;
        try {
            String className = GameObject.class.getName();
            className = className.substring(0, className.lastIndexOf('.'));
            object = (GameObject) Class.forName(className + '.' + p.getTypeName()).newInstance();
        } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
            e.printStackTrace();
        }

        if (object == null) {
            throw new IllegalStateException(
                    String.format("Cannot create GameObject of type: '%s'", p.getTypeName()));
        }
        object.setId(p.getId());
        object.setStartingPosition(p.getPosition());
        object.setDirection(p.getDirection());
        object.setExactPosition(p.getPosition());
        object.setMap(session.getMap());
        object.setMovementSpeed(p.getSpeed());

        Color color = Color.WHITE.cpy();
        Color.rgba8888ToColor(color, p.getColor());
        object.setColor(color);

        if (object instanceof Pactale) {
            Pactale pactale = (Pactale) object;
            pactale.setPlayerIndex(p.getIndex());
            final GameObject finalObject = object;
            Gdx.app.postRunnable(() -> finalObject.setAnimation(new Animation(true,
                    Assets.getTexture(finalObject.getClass().getSimpleName().toLowerCase() + ".png"))));
        } else if (object instanceof Enemy) {
            final Enemy enemy = (Enemy) object;

            // Only host should generate enemy paths. Clients will receive them from the host.
            enemy.setDisablePathfinding(!Client.getInstance().isHost());
            Gdx.app.postRunnable(() -> enemy.setAnimation(
                    new Animation(Assets.getTexture(enemy.getClass().getSimpleName().toLowerCase() + ".png"))));
        }

        session.getMap().addGameObject(object);
        session.setObjectsLoaded(session.getObjectsLoaded() + 1);

        System.out.printf("Loaded (%s): %d/%d%n", object.getClass().getSimpleName(), session.getObjectsLoaded(),
                session.getObjectsToLoad());

        if (session.getObjectsToLoad() == session.getObjectsLoaded()) {
            send(new PacketSetLoadStatus(PacketSetLoadStatus.LoadStatus.ObjectsLoaded, null));
        }
    });

    packets.registerAction(PacketCreateItem.class, packet -> {
        GameSession session = BaseScreen.getSession();
        if (session == null) {
            System.out.printf("Tried to create object: '%s' but no GameSession was set.%n", "item");
            return;
        }

        // Create item.
        Item item = new Item(packet.getType().toString(), packet.getPosition(), packet.getType());
        item.setId(packet.getObjId());
        item.setMap(session.getMap());

        Gdx.app.postRunnable(() -> item.setTexture(
                new TextureRegion(Assets.getTexture(item.getItemType().name().toLowerCase() + ".png"))));
        session.getMap().getNode(item.getExactPosition()).setItem(item);

        // Update load status.
        session.setObjectsLoaded(session.getObjectsLoaded() + 1);
        System.out.printf("Loaded (%s): %d/%d%n", item.getClass().getSimpleName(), session.getObjectsLoaded(),
                session.getObjectsToLoad());

        if (session.getObjectsToLoad() == session.getObjectsLoaded()) {
            send(new PacketSetLoadStatus(PacketSetLoadStatus.LoadStatus.ObjectsLoaded, null));
        }
    });

    packets.registerAction(PacketLobbySetDetails.class, p -> {
        try {
            rmi.getServer().setLobbyDetails(p.getSender(), p.getData());
        } catch (RemoteException e) {
            e.printStackTrace();
        }
    });

    packets.registerFunc(PacketLobbyGetDetails.class, p -> {
        PacketLobbySetDetails.Data data = p.getResult();

        // TODO: Update lobby screen with new information.
        if (data.getName() != null) {
            System.out.println("New lobby name: " + data.getName());
        }
        if (data.getMap() != null) {
            System.out.println("New lobby map: " + data.getMap());
        }

        return data;
    });

    packets.registerAction(PacketLoadGame.class, p -> {
        // Set this session as the new main session.
        GameSession session = new GameSession(p.getLevel(), p.getScore());
        BaseScreen.setSession(session);
        MapLoader loader = Map.getLoader(session, p.getMap(), p.getLevel());

        EnumSet<MapLoader.MapObjectTypes> excluded = null;
        if (p.isMaster()) {
            // Load everything and synchronize with server.
            excluded = EnumSet.noneOf(MapLoader.MapObjectTypes.class);
            loader.addConsumer(Enemy.class, obj -> {
                try {
                    getRmi().getServer().createObject(p.getSender(), Enemy.class.getSimpleName(),
                            obj.getExactPosition(), obj.getDirection(), obj.getMovementSpeed(), obj.getId(),
                            Color.argb8888(obj.getColor()), 0);
                } catch (RemoteException e) {
                    e.printStackTrace();
                }
            });
            loader.addConsumer(Pactale.class, obj -> {
                if (obj.getPlayerIndex() == 0) {
                    obj.setId(getPublicId());
                }

                try {
                    getRmi().getServer().createObject(p.getSender(), Pactale.class.getSimpleName(),
                            obj.getExactPosition(), obj.getDirection(), obj.getMovementSpeed(), obj.getId(),
                            Color.argb8888(obj.getColor()), obj.getPlayerIndex());
                } catch (RemoteException e) {
                    e.printStackTrace();
                }
            });
            loader.addConsumer(Item.class, obj -> {
                try {
                    getRmi().getServer().createItem(p.getSender(), obj.getId(), obj.getItemType(),
                            obj.getExactPosition());
                } catch (RemoteException e) {
                    e.printStackTrace();
                }
            });
        } else {
            // Exclude everything that's network dependant.
            excluded = EnumSet.of(MapLoader.MapObjectTypes.ENEMY, MapLoader.MapObjectTypes.PACTALE,
                    MapLoader.MapObjectTypes.ITEM);
        }

        // Load map (on OpenGL thread).
        final EnumSet<MapLoader.MapObjectTypes> finalExcluded = excluded;
        Gdx.app.postRunnable(() -> {
            loader.getTypesToLoad().removeAll(finalExcluded);
            loader.setPlayerLimit(p.getPlayerLimit());
            loader.load();
            session.setMap(loader.getMap());

            // Tell the game that we are done loading.
            if (p.isMaster()) {
                send(new PacketSetLoadStatus(PacketSetLoadStatus.LoadStatus.ObjectsLoaded, null));
            } else {
                send(new PacketSetLoadStatus(PacketSetLoadStatus.LoadStatus.MapLoaded, null));
            }
        });
    });

    packets.registerAction(PacketSetLoadStatus.class, packet -> {
        try {
            getRmi().getServer().setLoadStatus(packet.getSender(), packet.getStatus());
        } catch (RemoteException e) {
            e.printStackTrace();
        }
    });

    packets.registerAction(PacketUpdateProgress.class, packet -> {
        switch (packet.getId()) {
        case "game_load_objects":
            if (BaseScreen.getSession() == null) {
                System.out.println(
                        "Warning: PacketUpdateProgress received but was not expected. GameSession is null.");
                return;
            }
            BaseScreen.getSession().setObjectsToLoad(packet.getProgress());
            break;
        }
    });

    packets.registerAction(PacketShootProjectile.class, packet -> {
        // If client sended it..send this private id to server.
        if (packet.getSender() != null && packet.getSender().equals(getId())) {
            try {
                getRmi().getServer().shootProjectile(packet.getExactPosition(), packet.getDirection(),
                        packet.getSender());
            } catch (RemoteException e) {
                e.printStackTrace();
            }
        } else {
            if (BaseScreen.getSession().getPlayer(packet.getSender()) != null) {
                Gdx.app.postRunnable(() -> {
                    // Server sended this.
                    BaseScreen.getSession().getPlayer(packet.getSender())
                            .shootProjectile(packet.getExactPosition(), packet.getDirection());
                });
            }
        }
    });

    packets.registerAction(PacketObjectMove.class, packet -> {
        if (packet.getSender() != null && packet.getSender().equals(getId())) {
            try {
                getRmi().getServer().objectSetDirection(packet.getSender(), packet.getObject(),
                        packet.getFrom(), packet.getTo());
            } catch (RemoteException e) {
                e.printStackTrace();
            }
        } else {
            // Server sent this.
            GameObject object = BaseScreen.getSession().findObject(packet.getObject());
            if (object != null) {
                object.setExactPosition(packet.getFrom());
                object.setDirection(Direction.getDirection((int) packet.getFrom().x, (int) packet.getFrom().y,
                        (int) packet.getTo().x, (int) packet.getTo().y));
            }
        }
    });

    packets.registerAction(PacketPlayerDied.class, packet -> {
        if (packet.getSender() != null && packet.getSender().equals(getId())) {
            try {
                getRmi().getServer().playerDied(packet.getSender());
            } catch (RemoteException e) {
                e.printStackTrace();
            }
        } else {
            BaseScreen.getSession().getPlayer(packet.getSender()).setInactive();
        }
    });

    packets.registerAction(PacketBalloonMessage.class, packet -> {
        if (packet.getSender() != null && packet.getSender().equals(getId())) {
            try {
                getRmi().getServer().balloonMessage(packet.getSender(), packet.getTypeName(),
                        packet.getPosition(), packet.getFollowTarget());
            } catch (RemoteException e) {
                e.printStackTrace();
            }
        } else {
            // Create balloon on OpenGL thread.
            Gdx.app.postRunnable(() -> {
                try {
                    BalloonMessage message = ((BalloonMessage) Class
                            .forName(BalloonMessage.class.getPackage().getName() + ".messages.Balloon"
                                    + packet.getTypeName())
                            .newInstance());
                    if (packet.getFollowTarget() != null) {
                        message.setFollowObject(BaseScreen.getSession().findObject(packet.getFollowTarget()));
                    } else {
                        message.setPosition(packet.getPosition());
                    }
                    message.addBalloonMessage();
                } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
                    e.printStackTrace();
                }
            });
        }
    });

    packets.registerAction(PacketRemoveItem.class, packet -> {
        if (packet.getSender() != null && packet.getSender().equals(getId())) {
            try {
                getRmi().getServer().removeItem(packet.getSender(), packet.getPlayer(), packet.getItemId(),
                        packet.getItemType());
            } catch (RemoteException ex) {
                ex.printStackTrace();
            }
        } else {
            Item foundItem;

            if ((foundItem = BaseScreen.getSession().findItem(packet.getItemId())) != null) {
                foundItem.activate(BaseScreen.getSession().getPlayer(packet.getPlayer()));
                foundItem.getNode().removeItem();
            }
        }
    });

    packets.registerAction(PacketScoreChanged.class, packet -> {
        if (packet.getSender() != null && packet.getSender().equals(getId())) {
            try {
                getRmi().getServer().changeScore(packet.getSender(), packet.getManipulationType(),
                        packet.getChange());
            } catch (RemoteException ex) {
                ex.printStackTrace();
            }
        } else {
            Score currentScore = BaseScreen.getSession().getScore();

            switch (packet.getManipulationType()) {
            case DECREASE:
                currentScore.decrease(packet.getChange());
                break;
            case INCREASE:
                currentScore.increase(packet.getChange());
                break;
            }
        }
    });

    packets.registerFunc(PacketGetHighscores.class, packet -> {
        java.util.Map<String, Integer> returnMap = new HashMap<>();
        try {
            returnMap = getRmi().getServer().getHighscores(packet.getSender());
        } catch (RemoteException ex) {
            Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
        }
        return returnMap;
    });
}

From source file:com.kotcrab.vis.editor.serializer.ColorSerializer.java

License:Apache License

@Override
public Color read(Kryo kryo, Input input, Class<Color> type) {
    Color color = new Color();
    Color.rgba8888ToColor(color, input.readInt());
    return color;
}

From source file:mobi.shad.s3lib.gfx.util.GradientUtil.java

License:Apache License

/**
 * Generuje palet kolorw na podsawie wartoci indeksu koloru
 *
 * @param index - indeks koloru od 0-255
 * @param mode  - tryb//from   w w w. j a v  a 2 s  .  co m
 * @return
 */
public static Color getColorPalleteUncache(float index, int mode) {

    if (index < 0) {
        index = 0.0f;
    } else if (index > 1) {
        index = 1.0f;
    }
    Color color = new Color(Color.WHITE);

    switch (mode) {
    default:
        //
        // Hue
        //
        Color.rgba8888ToColor(color, ColorUtil.HSBtoRGBA(index, 1.0f, 1.0f));
        break;
    case 1:
        //
        // Fire
        //
        Color.rgba8888ToColor(color,
                ColorUtil.HSBtoRGBA(index * 0.26f, 1.0f, (index < 0.5f) ? index * 2 : 1.0f));
        break;
    case 2:
        //
        // Ice
        //
        Color.rgba8888ToColor(color,
                ColorUtil.HSBtoRGBA(index * 0.26f + 0.55f, 1.0f, (index < 0.5f) ? index * 2 : 1.0f));
        break;
    case 3:
        //
        // Ice
        //
        Color.rgba8888ToColor(color,
                ColorUtil.HSBtoRGBA(index * 0.15f + 0.0f, 1.0f, (index < 0.51f) ? index * 2 : 1.0f));
        break;
    case 4:
        color = linearGradientColor(new Color(1.0f, 1.0f, 0.0f, 1.0f), new Color(0.0f, 0.0f, 1.0f, 1.0f),
                new Color(1.0f, 0.0f, 1.0f, 1.0f), index);
        break;
    case 5:
        color = linearGradientColor(new Color(1.0f, 1.0f, 0.5f, 1.0f), new Color(1.0f, 0.5f, 0.0f, 1.0f),
                new Color(0.0f, 0.0f, 1.0f, 1.0f), index);
        break;
    case 6:
        color = linearGradientColor(new Color(1.0f, 0.5f, 0.0f, 1.0f), new Color(0.0f, 0.5f, 1.0f, 1.0f),
                new Color(1.0f, 0.0f, 0.0f, 1.0f), index);
        break;
    case 7:
        color = linearGradientColor(new Color(0.0f, 0.0f, 1.0f, 1.0f), new Color(0.0f, 1.0f, 0.0f, 1.0f),
                new Color(1.0f, 0.0f, 0.0f, 1.0f), index);
        break;
    case 8:
        color = linearGradientColor(new Color(1.0f, 1.0f, 0.0f, 1.0f), new Color(1.0f, 0.0f, 0.0f, 1.0f),
                new Color(1.0f, 1.0f, 1.0f, 1.0f), new Color(1.0f, 0.5f, 0.0f, 1.0f), index);
        break;
    case 9:
        color.r = index;
        color.g = 0;
        color.b = 0;
        break;
    case 10:
        color.r = 0;
        color.g = index;
        color.b = 0;
        break;
    case 11:
        color.r = 0;
        color.g = 0;
        color.b = index;
        break;
    case 12:
        color.r = index;
        color.g = index;
        color.b = 0;
        break;
    case 13:
        color.r = 0;
        color.g = 1 - index;
        color.b = index;
        break;
    case 14:
        color.r = index;
        color.g = index;
        color.b = 1 - index;
        break;
    case 15:
        color.r = 1 - index;
        color.g = index * 0.5f;
        color.b = index;
        break;
    case 16:
        color.r = 1 - index;
        color.g = 1 - index;
        color.b = index;
        break;

    case 17:
        color = linearGradientColor(new Color(0.0f, 0.0f, 0.0f, 1.0f), new Color(0.5f, 0.5f, 0.5f, 1.0f),
                new Color(1.0f, 1.0f, 1.0f, 1.0f), index);
        break;
    case 18:
        color = linearGradientColor(new Color(0.0f, 0.0f, 0.0f, 1.0f), new Color(1.0f, 1.0f, 1.0f, 1.0f),
                new Color(0.0f, 0.0f, 0.0f, 1.0f), index);
        break;
    case 19:
        color = linearGradientColor(new Color(0.0f, 0.0f, 0.0f, 1.0f), new Color(0.25f, 0.25f, 0.25f, 1.0f),
                new Color(1.0f, 1.0f, 1.0f, 1.0f), index);
        break;

    case 20:
        color = linearGradientColor(new Color(0.0f, 0.0f, 0.0f, 1.0f), new Color(1.0f, 0.0f, 0.0f, 1.0f),
                new Color(1.0f, 1.0f, 1.0f, 1.0f), index);
        break;
    case 21:
        color = linearGradientColor(new Color(0.0f, 0.0f, 0.0f, 1.0f), new Color(0.0f, 1.0f, 0.0f, 1.0f),
                new Color(1.0f, 1.0f, 1.0f, 1.0f), index);
        break;
    case 22:
        color = linearGradientColor(new Color(0.0f, 0.0f, 0.0f, 1.0f), new Color(0.0f, 0.0f, 1.0f, 1.0f),
                new Color(1.0f, 1.0f, 1.0f, 1.0f), index);
        break;
    case 23:
        color = linearGradientColor(new Color(0.0f, 0.0f, 0.0f, 1.0f), new Color(1.0f, 1.0f, 0.0f, 1.0f),
                new Color(1.0f, 1.0f, 1.0f, 1.0f), index);
        break;
    case 24:
        color = linearGradientColor(new Color(0.0f, 0.0f, 0.0f, 1.0f), new Color(1.0f, 0.0f, 1.0f, 1.0f),
                new Color(1.0f, 1.0f, 1.0f, 1.0f), index);
        break;
    case 25:
        color = linearGradientColor(new Color(0.0f, 0.0f, 0.0f, 1.0f), new Color(0.0f, 1.0f, 1.0f, 1.0f),
                new Color(1.0f, 1.0f, 1.0f, 1.0f), index);
        break;

    case 26:
        color = linearGradientColor(new Color(0.0f, 0.0f, 0.0f, 1.0f), new Color(1.0f, 0.5f, 0.0f, 1.0f),
                new Color(1.0f, 1.0f, 1.0f, 1.0f), index);
        break;
    case 27:
        color = linearGradientColor(new Color(0.0f, 0.0f, 0.0f, 1.0f), new Color(0.5f, 1.0f, 0.0f, 1.0f),
                new Color(1.0f, 1.0f, 1.0f, 1.0f), index);
        break;
    case 28:
        color = linearGradientColor(new Color(0.0f, 0.0f, 0.0f, 1.0f), new Color(0.0f, 0.5f, 1.0f, 1.0f),
                new Color(1.0f, 1.0f, 1.0f, 1.0f), index);
        break;
    case 29:
        color = linearGradientColor(new Color(0.0f, 0.0f, 0.0f, 1.0f), new Color(1.0f, 0.3f, 0.0f, 1.0f),
                new Color(1.0f, 1.0f, 1.0f, 1.0f), index);
        break;
    case 30:
        color = linearGradientColor(new Color(0.0f, 0.0f, 0.0f, 1.0f), new Color(0.4f, 0.7f, 0.0f, 1.0f),
                new Color(1.0f, 1.0f, 1.0f, 1.0f), index);
        break;
    case 31:
        color = linearGradientColor(new Color(0.0f, 0.0f, 0.0f, 1.0f), new Color(0.0f, 0.5f, 0.0f, 1.0f),
                new Color(1.0f, 1.0f, 1.0f, 1.0f), index);
        break;

    case 32:
        color = linearGradientColor(new Color(0.2f, 0.6f, 1.0f, 1.0f), new Color(1.0f, 1.0f, 1.0f, 1.0f),
                new Color(0.6f, 0.4f, 0.0f, 1.0f), new Color(1.0f, 1.0f, 1.0f, 1.0f), index);
        break;
    case 33:
        color = linearGradientColor(new Color(0.0f, 0.0f, 0.5f, 1.0f), new Color(1.0f, 0.0f, 0.0f, 1.0f),
                new Color(1.0f, 1.0f, 0.0f, 1.0f), index);
        break;
    case 34:
        color = linearGradientColor(new Color(0.7f, 0.4f, 0.2f, 1.0f), new Color(1.0f, 0.8f, 0.6f, 1.0f),
                new Color(0.5f, 0.2f, 0.1f, 1.0f), new Color(1.0f, 0.8f, 0.6f, 1.0f), index);
        break;
    case 35:
        color = linearGradientColor(new Color(1.0f, 0.7f, 0.0f, 1.0f), new Color(0.0f, 0.0f, 0.0f, 1.0f),
                new Color(0.0f, 0.4f, 0.7f, 1.0f), index);
        break;
    case 36:
        color = linearGradientColor(new Color(1.0f, 0.9f, 0.0f, 1.0f), new Color(0.0f, 0.0f, 0.0f, 1.0f),
                new Color(0.5f, 0.1f, 0.5f, 1.0f), index);
        break;
    case 37:
        color = linearGradientColor(new Color(1.0f, 0.2f, 0.2f, 1.0f), new Color(0.0f, 0.0f, 0.0f, 1.0f),
                new Color(0.0f, 0.7f, 0.6f, 1.0f), index);
        break;
    case 38:
        color = linearGradientColor(new Color(1.0f, 0.0f, 0.0f, 1.0f), new Color(0.0f, 0.0f, 1.0f, 1.0f),
                new Color(1.0f, 1.0f, 0.0f, 1.0f), index);
        break;
    case 39:
        color = linearGradientColor(new Color(1.0f, 0.7f, 0.0f, 1.0f), new Color(0.0f, 0.0f, 0.0f, 1.0f),
                new Color(0.0f, 0.8f, 0.4f, 1.0f), index);
        break;
    case 40:
        color = linearGradientColor(new Color(1.0f, 0.0f, 0.0f, 1.0f), new Color(0.0f, 0.0f, 0.0f, 1.0f),
                new Color(0.5f, 0.0f, 1.0f, 1.0f), index);
        break;
    case 41:
        color = linearGradientColor(new Color(0.0f, 0.4f, 1.0f, 1.0f), new Color(0.0f, 0.0f, 0.0f, 1.0f),
                new Color(1.0f, 0.4f, 0.4f, 1.0f), index);
        break;
    case 42:
        color = linearGradientColor(new Color(1.0f, 0.0f, 1.0f, 1.0f), new Color(0.0f, 0.0f, 0.0f, 1.0f),
                new Color(1.0f, 1.0f, 0.0f, 1.0f), index);
        break;

    }
    return color;
}