public static ObjectData CreateBattleItem(int itemId, CreatureCampType camp, Vector3 initialPosition) { var worldMgr = WorldManager.Instance; var objData = worldMgr.PoolMgr.GetObjData(); var itemInfo = worldMgr.BattleItemConfig.Get(itemId); var resourceData = objData.AddData <ResourceData>(); resourceData.resource = itemInfo.Value.resource; resourceData.initialPosition = initialPosition; var resourceStateData = objData.AddData <ResourceStateData>(); resourceStateData.isGameObject = true; resourceStateData.isInstantiated = false; resourceStateData.name = itemInfo.Value.itemName; var creatureStateData = objData.AddData <CreatureStateData>(); creatureStateData.type = CreatureType.BattleItem; creatureStateData.campType = camp; creatureStateData.stateType = CreatureStateType.Load; var attackData = objData.AddData <ResourceAttackData>(); var effect = worldMgr.BuffConfig.GetEffect(itemInfo.Value.attackId); attackData.effect = effect.Value; objData.SetDirty(); return(objData); }
public static ObjectData CreateActor(int actorId, CreatureCampType camp, Vector3 initialPosition) { var worldMgr = WorldManager.Instance; var objData = worldMgr.PoolMgr.GetObjData(); var actorInfo = worldMgr.ActorConfig.Get(actorId); var actorData = objData.AddData <ActorData>(); actorData.actorId = actorId; var actorAttackData = objData.AddData <ActorAttackData>(); var skillInfo = worldMgr.SkillConfig.GetSkillInfo(actorInfo.Value.defaultSkillId); actorAttackData.defaultSkill = skillInfo.Value; AddSkill(objData, actorAttackData.defaultSkill); var actorAttributeData = objData.AddData <ActorAttributeData>(); actorAttributeData.baseAttribute = actorInfo.Value.attributeInfo; var physics2DData = objData.AddData <Physics2DData>(); physics2DData.gravity = 10; physics2DData.airFriction = actorInfo.Value.airFriction; physics2DData.mass = actorInfo.Value.mass; var directionData = objData.AddData <DirectionData>(); directionData.direction.x = 1; objData.AddData <ActorController2DData>(); objData.AddData <ActorJumpData>(); objData.AddData <ServerData>(); objData.AddData <SpeedData>(); objData.AddData <ServerJoyStickData>(); objData.AddData <ActorSyncData>(); objData.AddData <ActorBuffData>(); objData.AddData <ResourceHurtData>(); var resourceData = objData.AddData <ResourceData>(); resourceData.resource = actorInfo.Value.resourceName; resourceData.initialPosition = initialPosition; var resourceStateData = objData.AddData <ResourceStateData>(); resourceStateData.isGameObject = true; resourceStateData.isInstantiated = false; resourceStateData.name = actorInfo.Value.actorName; var creatureStateData = objData.AddData <CreatureStateData>(); creatureStateData.type = CreatureType.Actor; creatureStateData.campType = camp; creatureStateData.stateType = CreatureStateType.Load; if (camp == CreatureCampType.Player) { objData.AddData <ClientJoyStickData>(); objData.AddData <FollowCameraData>(); } objData.SetDirty(); return(objData); }
public override void Clear() { type = CreatureType.None; campType = CreatureCampType.None; stateType = CreatureStateType.None; }