Synchronized createPlayer within Client and ServerEntityFactory

This commit is contained in:
Collin Smith 2019-12-18 01:12:27 -08:00
parent 026a43fb06
commit afd1f2839b
3 changed files with 25 additions and 8 deletions

View File

@ -39,6 +39,7 @@ import com.riiablo.engine.server.component.CofReference;
import com.riiablo.engine.server.component.CofTransforms;
import com.riiablo.engine.server.component.DS1ObjectWrapper;
import com.riiablo.engine.server.component.Interactable;
import com.riiablo.engine.server.component.MapWrapper;
import com.riiablo.engine.server.component.Missile;
import com.riiablo.engine.server.component.Monster;
import com.riiablo.engine.server.component.MovementModes;
@ -117,10 +118,7 @@ public class ClientEntityFactory extends EntityFactory {
mCofAlphas.create(id);
mCofTransforms.create(id);
MovementModes movementModes = mMovementModes.create(id);
movementModes.NU = Engine.Player.MODE_TN;
movementModes.WL = Engine.Player.MODE_TW;
movementModes.RN = Engine.Player.MODE_RN;
mMovementModes.create(id).set(Engine.Player.MODE_TN, Engine.Player.MODE_TW, Engine.Player.MODE_RN);
mAnimationWrapper.create(id);
mBBoxWrapper.create(id).box = mAnimationWrapper.get(id).animation.getBox();
@ -132,6 +130,10 @@ public class ClientEntityFactory extends EntityFactory {
mNetworked.create(id);
mZoneAware.create(id);
MapWrapper mapWrapper = mMapWrapper.create(id);
mapWrapper.map = map;
mapWrapper.zone = zone;
cofs.setMode(id, Engine.Player.MODE_TN, true);
cofs.setWClass(id, Engine.WEAPON_HTH, true);
return id;
@ -264,10 +266,7 @@ public class ClientEntityFactory extends EntityFactory {
mCofAlphas.create(id);
mCofTransforms.create(id);
MovementModes movementModes = mMovementModes.create(id);
movementModes.NU = Engine.Monster.MODE_NU;
movementModes.WL = Engine.Monster.MODE_WL;
movementModes.RN = Engine.Monster.MODE_RN;
mMovementModes.create(id).set(Engine.Monster.MODE_NU, Engine.Monster.MODE_WL, Engine.Monster.MODE_RN);
mAnimationWrapper.create(id);
mBBoxWrapper.create(id).box = mAnimationWrapper.get(id).animation.getBox();

View File

@ -19,12 +19,15 @@ import com.riiablo.engine.server.component.CofReference;
import com.riiablo.engine.server.component.CofTransforms;
import com.riiablo.engine.server.component.DS1ObjectWrapper;
import com.riiablo.engine.server.component.MapWrapper;
import com.riiablo.engine.server.component.MovementModes;
import com.riiablo.engine.server.component.Networked;
import com.riiablo.engine.server.component.Object;
import com.riiablo.engine.server.component.Player;
import com.riiablo.engine.server.component.Position;
import com.riiablo.engine.server.component.Running;
import com.riiablo.engine.server.component.Size;
import com.riiablo.engine.server.component.Velocity;
import com.riiablo.engine.server.component.ZoneAware;
import com.riiablo.item.Item;
import com.riiablo.map.DS1;
import com.riiablo.map.Map;
@ -49,6 +52,9 @@ public class ServerEntityFactory extends EntityFactory {
protected ComponentMapper<Networked> mNetworked;
protected ComponentMapper<MapWrapper> mMapWrapper;
protected ComponentMapper<DS1ObjectWrapper> mDS1ObjectWrapper;
protected ComponentMapper<MovementModes> mMovementModes;
protected ComponentMapper<Size> mSize;
protected ComponentMapper<ZoneAware> mZoneAware;
protected CofManager cofs;
protected ObjectInitializer objectInitializer;
@ -66,8 +72,13 @@ public class ServerEntityFactory extends EntityFactory {
mCofAlphas.create(id);
mCofTransforms.create(id);
mMovementModes.create(id).set(Engine.Player.MODE_TN, Engine.Player.MODE_TW, Engine.Player.MODE_RN);
mSize.create(id).size = Size.MEDIUM;
mRunning.create(id);
mNetworked.create(id);
mZoneAware.create(id);
MapWrapper mapWrapper = mMapWrapper.create(id);
mapWrapper.map = map;

View File

@ -10,4 +10,11 @@ public class MovementModes extends Component {
public byte NU;
public byte WL;
public byte RN;
public MovementModes set(byte NU, byte WL, byte RN) {
this.NU = NU;
this.WL = WL;
this.RN = RN;
return this;
}
}