Prevent SkillHolder tapping into SkillData for each getSkill call.

This commit is contained in:
MobiusDevelopment 2019-11-03 18:25:56 +00:00
parent cf5297282a
commit eec2b16df0
17 changed files with 217 additions and 29 deletions

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId; private final int _skillId;
private final int _skillLevel; private final int _skillLevel;
private final int _skillSubLevel; private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel) public SkillHolder(int skillId, int skillLevel)
{ {
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = 0; _skillSubLevel = 0;
_skill = null;
} }
public SkillHolder(int skillId, int skillLevel, int skillSubLevel) public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = skillSubLevel; _skillSubLevel = skillSubLevel;
_skill = null;
} }
public SkillHolder(Skill skill) public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId(); _skillId = skill.getId();
_skillLevel = skill.getLevel(); _skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel(); _skillSubLevel = skill.getSubLevel();
_skill = skill;
} }
public int getSkillId() public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill() public Skill getSkill()
{ {
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel); if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
} }
@Override @Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId; private final int _skillId;
private final int _skillLevel; private final int _skillLevel;
private final int _skillSubLevel; private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel) public SkillHolder(int skillId, int skillLevel)
{ {
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = 0; _skillSubLevel = 0;
_skill = null;
} }
public SkillHolder(int skillId, int skillLevel, int skillSubLevel) public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = skillSubLevel; _skillSubLevel = skillSubLevel;
_skill = null;
} }
public SkillHolder(Skill skill) public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId(); _skillId = skill.getId();
_skillLevel = skill.getLevel(); _skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel(); _skillSubLevel = skill.getSubLevel();
_skill = skill;
} }
public int getSkillId() public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill() public Skill getSkill()
{ {
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel); if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
} }
@Override @Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId; private final int _skillId;
private final int _skillLevel; private final int _skillLevel;
private final int _skillSubLevel; private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel) public SkillHolder(int skillId, int skillLevel)
{ {
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = 0; _skillSubLevel = 0;
_skill = null;
} }
public SkillHolder(int skillId, int skillLevel, int skillSubLevel) public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = skillSubLevel; _skillSubLevel = skillSubLevel;
_skill = null;
} }
public SkillHolder(Skill skill) public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId(); _skillId = skill.getId();
_skillLevel = skill.getLevel(); _skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel(); _skillSubLevel = skill.getSubLevel();
_skill = skill;
} }
public int getSkillId() public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill() public Skill getSkill()
{ {
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel); if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
} }
@Override @Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId; private final int _skillId;
private final int _skillLevel; private final int _skillLevel;
private final int _skillSubLevel; private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel) public SkillHolder(int skillId, int skillLevel)
{ {
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = 0; _skillSubLevel = 0;
_skill = null;
} }
public SkillHolder(int skillId, int skillLevel, int skillSubLevel) public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = skillSubLevel; _skillSubLevel = skillSubLevel;
_skill = null;
} }
public SkillHolder(Skill skill) public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId(); _skillId = skill.getId();
_skillLevel = skill.getLevel(); _skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel(); _skillSubLevel = skill.getSubLevel();
_skill = skill;
} }
public int getSkillId() public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill() public Skill getSkill()
{ {
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel); if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
} }
@Override @Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId; private final int _skillId;
private final int _skillLevel; private final int _skillLevel;
private final int _skillSubLevel; private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel) public SkillHolder(int skillId, int skillLevel)
{ {
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = 0; _skillSubLevel = 0;
_skill = null;
} }
public SkillHolder(int skillId, int skillLevel, int skillSubLevel) public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = skillSubLevel; _skillSubLevel = skillSubLevel;
_skill = null;
} }
public SkillHolder(Skill skill) public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId(); _skillId = skill.getId();
_skillLevel = skill.getLevel(); _skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel(); _skillSubLevel = skill.getSubLevel();
_skill = skill;
} }
public int getSkillId() public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill() public Skill getSkill()
{ {
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel); if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
} }
@Override @Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId; private final int _skillId;
private final int _skillLevel; private final int _skillLevel;
private final int _skillSubLevel; private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel) public SkillHolder(int skillId, int skillLevel)
{ {
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = 0; _skillSubLevel = 0;
_skill = null;
} }
public SkillHolder(int skillId, int skillLevel, int skillSubLevel) public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = skillSubLevel; _skillSubLevel = skillSubLevel;
_skill = null;
} }
public SkillHolder(Skill skill) public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId(); _skillId = skill.getId();
_skillLevel = skill.getLevel(); _skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel(); _skillSubLevel = skill.getSubLevel();
_skill = skill;
} }
public int getSkillId() public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill() public Skill getSkill()
{ {
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel); if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
} }
@Override @Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId; private final int _skillId;
private final int _skillLevel; private final int _skillLevel;
private final int _skillSubLevel; private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel) public SkillHolder(int skillId, int skillLevel)
{ {
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = 0; _skillSubLevel = 0;
_skill = null;
} }
public SkillHolder(int skillId, int skillLevel, int skillSubLevel) public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = skillSubLevel; _skillSubLevel = skillSubLevel;
_skill = null;
} }
public SkillHolder(Skill skill) public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId(); _skillId = skill.getId();
_skillLevel = skill.getLevel(); _skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel(); _skillSubLevel = skill.getSubLevel();
_skill = skill;
} }
public int getSkillId() public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill() public Skill getSkill()
{ {
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel); if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
} }
@Override @Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId; private final int _skillId;
private final int _skillLevel; private final int _skillLevel;
private final int _skillSubLevel; private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel) public SkillHolder(int skillId, int skillLevel)
{ {
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = 0; _skillSubLevel = 0;
_skill = null;
} }
public SkillHolder(int skillId, int skillLevel, int skillSubLevel) public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = skillSubLevel; _skillSubLevel = skillSubLevel;
_skill = null;
} }
public SkillHolder(Skill skill) public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId(); _skillId = skill.getId();
_skillLevel = skill.getLevel(); _skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel(); _skillSubLevel = skill.getSubLevel();
_skill = skill;
} }
public int getSkillId() public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill() public Skill getSkill()
{ {
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel); if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
} }
@Override @Override

View File

@ -26,18 +26,21 @@ import org.l2jmobius.gameserver.model.skills.Skill;
public class SkillHolder public class SkillHolder
{ {
private final int _skillId; private final int _skillId;
private final int _skillLvl; private final int _skillLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLvl) public SkillHolder(int skillId, int skillLevel)
{ {
_skillId = skillId; _skillId = skillId;
_skillLvl = skillLvl; _skillLevel = skillLevel;
_skill = null;
} }
public SkillHolder(Skill skill) public SkillHolder(Skill skill)
{ {
_skillId = skill.getId(); _skillId = skill.getId();
_skillLvl = skill.getLevel(); _skillLevel = skill.getLevel();
_skill = skill;
} }
public int getSkillId() public int getSkillId()
@ -47,17 +50,48 @@ public class SkillHolder
public int getSkillLevel() public int getSkillLevel()
{ {
return _skillLvl; return _skillLevel;
} }
public Skill getSkill() public Skill getSkill()
{ {
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLvl, 1)); if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1));
}
return _skill;
}
@Override
public boolean equals(Object obj)
{
if (this == obj)
{
return true;
}
if (!(obj instanceof SkillHolder))
{
return false;
}
final SkillHolder holder = (SkillHolder) obj;
return (holder.getSkillId() == _skillId) && (holder.getSkillLevel() == _skillLevel);
}
@Override
public int hashCode()
{
final int prime = 31;
int result = 1;
result = (prime * result) + _skillId;
result = (prime * result) + _skillLevel;
return result;
} }
@Override @Override
public String toString() public String toString()
{ {
return "[SkillId: " + _skillId + " Level: " + _skillLvl + "]"; return "[SkillId: " + _skillId + " Level: " + _skillLevel + "]";
} }
} }

View File

@ -26,18 +26,21 @@ import org.l2jmobius.gameserver.model.skills.Skill;
public class SkillHolder public class SkillHolder
{ {
private final int _skillId; private final int _skillId;
private final int _skillLvl; private final int _skillLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLvl) public SkillHolder(int skillId, int skillLevel)
{ {
_skillId = skillId; _skillId = skillId;
_skillLvl = skillLvl; _skillLevel = skillLevel;
_skill = null;
} }
public SkillHolder(Skill skill) public SkillHolder(Skill skill)
{ {
_skillId = skill.getId(); _skillId = skill.getId();
_skillLvl = skill.getLevel(); _skillLevel = skill.getLevel();
_skill = skill;
} }
public int getSkillId() public int getSkillId()
@ -47,17 +50,48 @@ public class SkillHolder
public int getSkillLevel() public int getSkillLevel()
{ {
return _skillLvl; return _skillLevel;
} }
public Skill getSkill() public Skill getSkill()
{ {
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLvl, 1)); if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1));
}
return _skill;
}
@Override
public boolean equals(Object obj)
{
if (this == obj)
{
return true;
}
if (!(obj instanceof SkillHolder))
{
return false;
}
final SkillHolder holder = (SkillHolder) obj;
return (holder.getSkillId() == _skillId) && (holder.getSkillLevel() == _skillLevel);
}
@Override
public int hashCode()
{
final int prime = 31;
int result = 1;
result = (prime * result) + _skillId;
result = (prime * result) + _skillLevel;
return result;
} }
@Override @Override
public String toString() public String toString()
{ {
return "[SkillId: " + _skillId + " Level: " + _skillLvl + "]"; return "[SkillId: " + _skillId + " Level: " + _skillLevel + "]";
} }
} }

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId; private final int _skillId;
private final int _skillLevel; private final int _skillLevel;
private final int _skillSubLevel; private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel) public SkillHolder(int skillId, int skillLevel)
{ {
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = 0; _skillSubLevel = 0;
_skill = null;
} }
public SkillHolder(int skillId, int skillLevel, int skillSubLevel) public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = skillSubLevel; _skillSubLevel = skillSubLevel;
_skill = null;
} }
public SkillHolder(Skill skill) public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId(); _skillId = skill.getId();
_skillLevel = skill.getLevel(); _skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel(); _skillSubLevel = skill.getSubLevel();
_skill = skill;
} }
public int getSkillId() public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill() public Skill getSkill()
{ {
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel); if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
} }
@Override @Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId; private final int _skillId;
private final int _skillLevel; private final int _skillLevel;
private final int _skillSubLevel; private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel) public SkillHolder(int skillId, int skillLevel)
{ {
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = 0; _skillSubLevel = 0;
_skill = null;
} }
public SkillHolder(int skillId, int skillLevel, int skillSubLevel) public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = skillSubLevel; _skillSubLevel = skillSubLevel;
_skill = null;
} }
public SkillHolder(Skill skill) public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId(); _skillId = skill.getId();
_skillLevel = skill.getLevel(); _skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel(); _skillSubLevel = skill.getSubLevel();
_skill = skill;
} }
public int getSkillId() public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill() public Skill getSkill()
{ {
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel); if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
} }
@Override @Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId; private final int _skillId;
private final int _skillLevel; private final int _skillLevel;
private final int _skillSubLevel; private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel) public SkillHolder(int skillId, int skillLevel)
{ {
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = 0; _skillSubLevel = 0;
_skill = null;
} }
public SkillHolder(int skillId, int skillLevel, int skillSubLevel) public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = skillSubLevel; _skillSubLevel = skillSubLevel;
_skill = null;
} }
public SkillHolder(Skill skill) public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId(); _skillId = skill.getId();
_skillLevel = skill.getLevel(); _skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel(); _skillSubLevel = skill.getSubLevel();
_skill = skill;
} }
public int getSkillId() public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill() public Skill getSkill()
{ {
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel); if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
} }
@Override @Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId; private final int _skillId;
private final int _skillLevel; private final int _skillLevel;
private final int _skillSubLevel; private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel) public SkillHolder(int skillId, int skillLevel)
{ {
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = 0; _skillSubLevel = 0;
_skill = null;
} }
public SkillHolder(int skillId, int skillLevel, int skillSubLevel) public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = skillSubLevel; _skillSubLevel = skillSubLevel;
_skill = null;
} }
public SkillHolder(Skill skill) public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId(); _skillId = skill.getId();
_skillLevel = skill.getLevel(); _skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel(); _skillSubLevel = skill.getSubLevel();
_skill = skill;
} }
public int getSkillId() public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill() public Skill getSkill()
{ {
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel); if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
} }
@Override @Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId; private final int _skillId;
private final int _skillLevel; private final int _skillLevel;
private final int _skillSubLevel; private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel) public SkillHolder(int skillId, int skillLevel)
{ {
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = 0; _skillSubLevel = 0;
_skill = null;
} }
public SkillHolder(int skillId, int skillLevel, int skillSubLevel) public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = skillSubLevel; _skillSubLevel = skillSubLevel;
_skill = null;
} }
public SkillHolder(Skill skill) public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId(); _skillId = skill.getId();
_skillLevel = skill.getLevel(); _skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel(); _skillSubLevel = skill.getSubLevel();
_skill = skill;
} }
public int getSkillId() public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill() public Skill getSkill()
{ {
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel); if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
} }
@Override @Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId; private final int _skillId;
private final int _skillLevel; private final int _skillLevel;
private final int _skillSubLevel; private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel) public SkillHolder(int skillId, int skillLevel)
{ {
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = 0; _skillSubLevel = 0;
_skill = null;
} }
public SkillHolder(int skillId, int skillLevel, int skillSubLevel) public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = skillSubLevel; _skillSubLevel = skillSubLevel;
_skill = null;
} }
public SkillHolder(Skill skill) public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId(); _skillId = skill.getId();
_skillLevel = skill.getLevel(); _skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel(); _skillSubLevel = skill.getSubLevel();
_skill = skill;
} }
public int getSkillId() public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill() public Skill getSkill()
{ {
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel); if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
} }
@Override @Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId; private final int _skillId;
private final int _skillLevel; private final int _skillLevel;
private final int _skillSubLevel; private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel) public SkillHolder(int skillId, int skillLevel)
{ {
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = 0; _skillSubLevel = 0;
_skill = null;
} }
public SkillHolder(int skillId, int skillLevel, int skillSubLevel) public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId; _skillId = skillId;
_skillLevel = skillLevel; _skillLevel = skillLevel;
_skillSubLevel = skillSubLevel; _skillSubLevel = skillSubLevel;
_skill = null;
} }
public SkillHolder(Skill skill) public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId(); _skillId = skill.getId();
_skillLevel = skill.getLevel(); _skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel(); _skillSubLevel = skill.getSubLevel();
_skill = skill;
} }
public int getSkillId() public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill() public Skill getSkill()
{ {
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel); if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
} }
@Override @Override