Newer
Older
CactusServer / src / main / java / cactusServer / entities / Player.java
package cactusServer.entities;

import cactusServer.models.Instances;
import framework.model3D.Position3D;

public class Player extends Entity{
	private String instanceURI;
	private String characterURI;
	private String areaURI;
	private Position3D position;
	private Angle angle;
	private CameraState cameraState;
	private EmoteState emoteState;

	private Player() {
		// JSONDecode時の呼び出し用
	}
	
	public Player(String instanceURI, String characterURI, CameraState cameraState, EmoteState.EmoteType animationClassToStart) {
		setInstanceURI(instanceURI);
		setCharacterURI(characterURI);
		setCameraState(cameraState);
		setEmoteState(new EmoteState(animationClassToStart));
	}

	public String getInstanceURI() {
		return instanceURI;
	}
	
	public String getCharacterURI() {
		return characterURI;
	}

	public String getAreaURI() {
		return areaURI;
	}

	public Position3D getPosition() {
		return position;
	}
	
	public Angle getAngle() {
		return angle;
	}

	public CameraState getCameraState() {
		return cameraState;
	}

	public EmoteState getEmoteState() {
		return emoteState;
	}
	
	public void setInstanceURI(String instanceURI) {
		this.instanceURI = instanceURI;
	}

	public void setCharacterURI(String characterURI) {
		this.characterURI = characterURI;
	}

	public void setPosition(Position3D position) {
		this.position = position;
	}

	public void setAngle(Angle angle) {
		this.angle = angle;
	}

	public void setCameraState(CameraState cameraState) {
		this.cameraState = cameraState;
	}
	
	public void setEmoteState(EmoteState emoteState) {
		this.emoteState = emoteState;
	}
	
	public void setanimationClassToStart(EmoteState.EmoteType animationClassToStart) {
		setEmoteState(new EmoteState(animationClassToStart));
	}
	
	public void updateEmoteType(EmoteState.EmoteType animationClassToStart) {
		this.emoteState.setEmoteType(animationClassToStart);
	}
}