syntax = "proto3";

import "ProtEntityType.proto";
import "MotionInfo.proto";
import "PropValue.proto";
import "AbilitySyncStateInfo.proto";
import "AnimatorParameterValueInfo.proto";
import "EntityRendererChangedInfo.proto";
import "SceneEntityAiInfo.proto";
import "SceneAvatarInfo.proto";
import "SceneMonsterInfo.proto";
import "SceneNpcInfo.proto";
import "SceneGadgetInfo.proto";

message SceneEntityInfo {
	oneof Entity {
		SceneAvatarInfo avatar = 10;
		SceneMonsterInfo monster = 11;
		SceneNpcInfo npc = 12;
		SceneGadgetInfo gadget = 13;
	}
	ProtEntityType entityType = 1;
	uint32 entityId = 2;
	string name = 3;
	MotionInfo motionInfo = 4;
	map<uint32, PropValue> propMap = 5;
	map<uint32, float> fightPropMap = 6;
	uint32 lifeState = 7;
	AbilitySyncStateInfo abilityInfo = 8;
	map<int32, AnimatorParameterValueInfo> animatorParaMap = 9;
	EntityRendererChangedInfo rendererChangedInfo = 14;
	SceneEntityAiInfo aiInfo = 15;
}
