Android Open Source - DolphinOES Sprite Sequence Builder






From Project

Back to project page DolphinOES.

License

The source code is released under:

Apache License

If you think the Android project DolphinOES listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*******************************************************************************
 * Copyright 2015 See AUTHORS file.//from  w  w w .  ja v  a  2  s. co  m
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ******************************************************************************/

package com.sidereal.dolphinoes.behaviors.renderer.spritesequence;

import com.badlogic.gdx.utils.ObjectMap;
import com.badlogic.gdx.utils.ObjectMap.Entry;
import com.sidereal.dolphinoes.architecture.AbstractEvent;
import com.sidereal.dolphinoes.behaviors.renderer.DrawerBuilder;
import com.sidereal.dolphinoes.behaviors.renderer.scml.SCMLBuilder;
import com.sidereal.dolphinoes.behaviors.renderer.scml.SCMLDrawer;

/** Builder for {@link SpriteSequenceDrawer}, which creates animations out of
 * multiple files. For a more cohesive and less memory-intensive applcation use
 * {@link SCMLDrawer}.
 * 
 * @author Claudiu Bele.
 * @see {@link SCMLBuilder} for Spriter-based animations. */
public class SpriteSequenceBuilder extends DrawerBuilder<SpriteSequenceDrawer>
{

  // region fields

  private ObjectMap<String, AbstractEvent> eventsOnStart;
  private ObjectMap<String, AbstractEvent> eventsOnEnd;
  private ObjectMap<String, SpriteSequencePreference> preferences;
  private SpriteSequencePreference defaultPreference;
  private ObjectMap<String, String[]> sequenceFilepaths;
  private String targetSpriteSequence;

  // endregion fields

  // region constructors

  public SpriteSequenceBuilder()
  {

    super();
    eventsOnEnd = new ObjectMap<String, AbstractEvent>();
    eventsOnStart = new ObjectMap<String, AbstractEvent>();
    preferences = new ObjectMap<String, SpriteSequencePreference>();
    sequenceFilepaths = new ObjectMap<String, String[]>();
  }

  // endregion constructors

  // region methods

  @Override
  protected SpriteSequenceDrawer build(String name)
  {

    SpriteSequenceDrawer drawer = new SpriteSequenceDrawer(renderer, name,getUseRealTime());
    for (Entry<String, String[]> entry : sequenceFilepaths.entries())
    {
      drawer.addSpriteSequence(entry.key, entry.value);
    }
    if (defaultPreference != null)
      drawer.setDefaultPreferences(defaultPreference, false);
    for (Entry<String, SpriteSequencePreference> entry : preferences
        .entries())
      drawer.addPreferences(entry.key, entry.value);
    for (Entry<String, AbstractEvent> entry : eventsOnEnd.entries())
      drawer.setEventOnAnimationEnd(entry.key, entry.value);
    for (Entry<String, AbstractEvent> entry : eventsOnStart.entries())
      drawer.setEventOnAnimationStart(entry.key, entry.value);
    if (targetSpriteSequence != null)
      drawer.setSpriteSequence(targetSpriteSequence);

    return drawer;

  }

  public SpriteSequenceBuilder addSpriteSequence(String sequenceName,
      String folder, String[] files, String extension)
  {

    for (int i = 0; i < files.length; i++)
    {
      files[i] = folder + files[i] + extension;
    }
    sequenceFilepaths.put(sequenceName, files);
    return this;
  }

  public SpriteSequenceBuilder addSpriteSequence(String sequenceName,
      String[] files)
  {

    sequenceFilepaths.put(sequenceName, files);
    return this;
  }

  public SpriteSequenceBuilder addSequencePreference(String sequenceName,
      SpriteSequencePreference preference)
  {

    preferences.put(sequenceName, preference);
    return this;
  }

  public SpriteSequenceBuilder setDefaultPreference(
      SpriteSequencePreference preference)
  {

    defaultPreference = preference;
    return this;
  }

  public SpriteSequenceBuilder addEventOnAnimationStart(String sequenceName,
      AbstractEvent event)
  {

    eventsOnStart.put(sequenceName, event);
    return this;
  }

  public SpriteSequenceBuilder addEventOnAnimationEnd(String sequenceName,
      AbstractEvent event)
  {

    eventsOnEnd.put(sequenceName, event);
    return this;
  }

  public SpriteSequenceBuilder setSpriteSequence(String sequenceName)
  {

    this.targetSpriteSequence = sequenceName;
    return this;
  }

  // endregion methods

}




Java Source Code List

com.sidereal.dolphinoes.architecture.AbstractEvent.java
com.sidereal.dolphinoes.architecture.DebugHandler.java
com.sidereal.dolphinoes.architecture.DolphinOES.java
com.sidereal.dolphinoes.architecture.GameBatch.java
com.sidereal.dolphinoes.architecture.GameBehavior.java
com.sidereal.dolphinoes.architecture.GameObject.java
com.sidereal.dolphinoes.architecture.GameScene.java
com.sidereal.dolphinoes.architecture.Module.java
com.sidereal.dolphinoes.architecture.core.Assets.java
com.sidereal.dolphinoes.architecture.core.Configurable.java
com.sidereal.dolphinoes.architecture.core.Debug.java
com.sidereal.dolphinoes.architecture.core.DolphinOESConfiguration.java
com.sidereal.dolphinoes.architecture.core.GameData.java
com.sidereal.dolphinoes.architecture.core.MouseMovedEvent.java
com.sidereal.dolphinoes.architecture.core.Time.java
com.sidereal.dolphinoes.architecture.core.assetload.AssetLoadHandler.java
com.sidereal.dolphinoes.architecture.core.assetload.AssetLoader.java
com.sidereal.dolphinoes.architecture.core.assetload.ClassFileHandleResolver.java
com.sidereal.dolphinoes.architecture.core.assetload.LoadingPercentage.java
com.sidereal.dolphinoes.architecture.core.input.ActionData.java
com.sidereal.dolphinoes.architecture.core.input.ActionEventWrapper.java
com.sidereal.dolphinoes.architecture.core.input.ActionEvent.java
com.sidereal.dolphinoes.architecture.core.input.Input.java
com.sidereal.dolphinoes.architecture.core.input.KeyTypedEvent.java
com.sidereal.dolphinoes.architecture.core.input.ScrollEvent.java
com.sidereal.dolphinoes.architecture.core.input.TouchData.java
com.sidereal.dolphinoes.architecture.core.input.TouchEventWrapper.java
com.sidereal.dolphinoes.architecture.core.input.TouchEvent.java
com.sidereal.dolphinoes.architecture.pos.Position.java
com.sidereal.dolphinoes.architecture.pos.Positions.java
com.sidereal.dolphinoes.backend.ConcreteGametester.java
com.sidereal.dolphinoes.backend.GameTester.java
com.sidereal.dolphinoes.backend.SceneGameTester.java
com.sidereal.dolphinoes.behaviors.audio.AudioListener.java
com.sidereal.dolphinoes.behaviors.audio.AudioPlayer.java
com.sidereal.dolphinoes.behaviors.events.EventTimer.java
com.sidereal.dolphinoes.behaviors.events.RecurringEvent.java
com.sidereal.dolphinoes.behaviors.input.Clickable.java
com.sidereal.dolphinoes.behaviors.particlesystem.ParticleEmitter.java
com.sidereal.dolphinoes.behaviors.particlesystem.ParticleHandler.java
com.sidereal.dolphinoes.behaviors.particlesystem.ParticleSpriteLayout.java
com.sidereal.dolphinoes.behaviors.particlesystem.ParticleSpriteObject.java
com.sidereal.dolphinoes.behaviors.pathfinding.PathfindingHandler.java
com.sidereal.dolphinoes.behaviors.pathfinding.PathfindingMap.java
com.sidereal.dolphinoes.behaviors.pathfinding.PathfindingNode.java
com.sidereal.dolphinoes.behaviors.pathfinding.PathfindingRoute.java
com.sidereal.dolphinoes.behaviors.renderer.DrawerBuilder.java
com.sidereal.dolphinoes.behaviors.renderer.Drawer.java
com.sidereal.dolphinoes.behaviors.renderer.Renderer.java
com.sidereal.dolphinoes.behaviors.renderer.ninepatch.NinepatchBuilder.java
com.sidereal.dolphinoes.behaviors.renderer.ninepatch.NinepatchDrawer.java
com.sidereal.dolphinoes.behaviors.renderer.scml.SCMLBuilder.java
com.sidereal.dolphinoes.behaviors.renderer.scml.SCMLDrawer.java
com.sidereal.dolphinoes.behaviors.renderer.sprite.SpriteBuilder.java
com.sidereal.dolphinoes.behaviors.renderer.sprite.SpriteDrawer.java
com.sidereal.dolphinoes.behaviors.renderer.spritesequence.SpriteSequenceBuilder.java
com.sidereal.dolphinoes.behaviors.renderer.spritesequence.SpriteSequenceDrawer.java
com.sidereal.dolphinoes.behaviors.renderer.spritesequence.SpriteSequencePreference.java
com.sidereal.dolphinoes.behaviors.renderer.texture.TextureBuilder.java
com.sidereal.dolphinoes.behaviors.renderer.texture.TextureDrawer.java
com.sidereal.dolphinoes.behaviors.renderer.tilemap.TileMapBuilder.java
com.sidereal.dolphinoes.behaviors.renderer.tilemap.TileMapDrawer.java
com.sidereal.dolphinoes.behaviors.triggers.Activatable.java
com.sidereal.dolphinoes.behaviors.triggers.Collider.java
com.sidereal.dolphinoes.behaviors.triggers.Hoverable.java
com.sidereal.dolphinoes.ui.MessageBubble.java
com.sidereal.dolphinoes.ui.TextBuilder.java
com.sidereal.dolphinoes.util.BooleanWrapper.java
com.sidereal.dolphinoes.util.DolphinOESException.java
com.sidereal.dolphinoes.util.FloatWrapper.java
com.sidereal.dolphinoes.util.IntWrapper.java
com.sidereal.dolphinoes.util.Utility.java