/*
* Copyright 2015 Demigods RPG
* Copyright 2015 Alexander Chauncey
* Copyright 2015 Alex Bennett
*
* 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.demigodsrpg.aspect;
import com.demigodsrpg.aspect.bloodlust.BloodlustAspectHero;
import com.demigodsrpg.aspect.bloodlust.BloodlustAspectI;
import com.demigodsrpg.aspect.bloodlust.BloodlustAspectII;
import com.demigodsrpg.aspect.bloodlust.BloodlustAspectIII;
import com.demigodsrpg.aspect.crafting.CraftingAspectI;
import com.demigodsrpg.aspect.demon.DemonAspectHero;
import com.demigodsrpg.aspect.demon.DemonAspectI;
import com.demigodsrpg.aspect.demon.DemonAspectII;
import com.demigodsrpg.aspect.fire.FireAspectI;
import com.demigodsrpg.aspect.lightning.LightningAspectI;
import com.demigodsrpg.aspect.lightning.LightningAspectII;
import com.demigodsrpg.aspect.magnetism.MagnetismAspectHero;
import com.demigodsrpg.aspect.water.WaterAspectHero;
import com.demigodsrpg.aspect.water.WaterAspectI;
public class Aspects {
// -- PUBLIC RELEASE -- //
public static final MagnetismAspectHero MAGNETISM_ASPECT_HERO = new MagnetismAspectHero();
public static final LightningAspectI LIGHTNING_ASPECT_I = new LightningAspectI();
public static final LightningAspectII LIGHTNING_ASPECT_II = new LightningAspectII();
public static final FireAspectI FIRE_ASPECT_I = new FireAspectI();
public static final WaterAspectHero WATER_ASPECT_HERO = new WaterAspectHero();
public static final WaterAspectI WATER_ASPECT_I = new WaterAspectI();
public static final BloodlustAspectHero BLOODLUST_ASPECT_HERO = new BloodlustAspectHero();
public static final BloodlustAspectI BLOODLUST_ASPECT_I = new BloodlustAspectI();
public static final BloodlustAspectII BLOODLUST_ASPECT_II = new BloodlustAspectII();
public static final BloodlustAspectIII BLOODLUST_ASPECT_III = new BloodlustAspectIII();
public static final CraftingAspectI CRAFTING_ASPECT_I = new CraftingAspectI();
// -- EXPANSION 1 -- //
public static final DemonAspectHero DEMON_ASPECT_HERO = new DemonAspectHero();
public static final DemonAspectI DEMON_ASPECT_I = new DemonAspectI();
public static final DemonAspectII DEMON_ASPECT_II = new DemonAspectII();
// -- ASPECT LIST -- //
private static final Aspect[] aspectList = new Aspect[]{
// Magnetism Aspect
MAGNETISM_ASPECT_HERO,
// Lightning Aspect
LIGHTNING_ASPECT_I, LIGHTNING_ASPECT_II,
// Fire Aspect
FIRE_ASPECT_I,
// Water Aspect
WATER_ASPECT_HERO, WATER_ASPECT_I,
// Bloodlust Aspect
BLOODLUST_ASPECT_HERO, BLOODLUST_ASPECT_I, BLOODLUST_ASPECT_II, BLOODLUST_ASPECT_III,
// Crafting Aspect
CRAFTING_ASPECT_I,
};
// -- PRIVATE CONSTRUCTOR -- //
private Aspects() {
}
// -- HELPER METHODS -- //
public static Aspect[] values() {
return aspectList;
}
public static Aspect valueOf(final String name) {
if (name != null) {
for (Aspect aspect : aspectList) {
if (aspect.name().equalsIgnoreCase(name)) {
return aspect;
}
}
}
return null;
}
public static Aspect fromId(int id) {
for (Aspect aspect : aspectList) {
if (aspect.getId() == id) {
return aspect;
}
}
return null;
}
}