전직 에러 수정, 휘몰아치는 파도는 캐릭터가 바라보는 방향으로 수정

This commit is contained in:
Ino 2024-12-25 10:44:44 +09:00
parent 69495c5058
commit f450a08ab4
17 changed files with 57 additions and 44 deletions

View File

@ -44,11 +44,4 @@ classconfig 에 의해 정해짐
스킬 미리 로드 스킬 미리 로드
//1. 로비에 벽 추가 (추가 후 컬링 적용)
//2. 기본 스킬 구성 변경 및 펫(박쥐) 변경
3. 조작 관련 버그 수정
암튼 위 3가지만 수정하고 빌드 마무리하면 될 것 같습니다
조작 관련 버그는 모바일 환경에서만 그런건지는 모르겠는데 이동중에 카메라 회전하면
다시 캐릭터가 원래 위치로 막 돌아가는 현상이 있더라고요
+@로 공격할 때 미끄러지면서 나아가는 것도요

View File

@ -133771,6 +133771,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Pierce: 0 m_Pierce: 0
str_HitEffect: str_HitEffect:
m_distance: 1.5
gos_effect: gos_effect:
- {fileID: 3630125633165480175} - {fileID: 3630125633165480175}
- {fileID: 3636810399003602678} - {fileID: 3636810399003602678}
@ -148813,7 +148814,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4453321064166218, guid: 9c1140a4748eb1542bc76f156e936e7b, type: 3} - target: {fileID: 4453321064166218, guid: 9c1140a4748eb1542bc76f156e936e7b, type: 3}
propertyPath: m_LocalPosition.y propertyPath: m_LocalPosition.y
value: -0.5 value: -0.8
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4453321064166218, guid: 9c1140a4748eb1542bc76f156e936e7b, type: 3} - target: {fileID: 4453321064166218, guid: 9c1140a4748eb1542bc76f156e936e7b, type: 3}
propertyPath: m_LocalPosition.z propertyPath: m_LocalPosition.z
@ -148954,7 +148955,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4453321064166218, guid: 9c1140a4748eb1542bc76f156e936e7b, type: 3} - target: {fileID: 4453321064166218, guid: 9c1140a4748eb1542bc76f156e936e7b, type: 3}
propertyPath: m_LocalPosition.y propertyPath: m_LocalPosition.y
value: -0.5 value: -0.8
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4453321064166218, guid: 9c1140a4748eb1542bc76f156e936e7b, type: 3} - target: {fileID: 4453321064166218, guid: 9c1140a4748eb1542bc76f156e936e7b, type: 3}
propertyPath: m_LocalPosition.z propertyPath: m_LocalPosition.z
@ -149095,7 +149096,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4453321064166218, guid: 9c1140a4748eb1542bc76f156e936e7b, type: 3} - target: {fileID: 4453321064166218, guid: 9c1140a4748eb1542bc76f156e936e7b, type: 3}
propertyPath: m_LocalPosition.y propertyPath: m_LocalPosition.y
value: -0.5 value: -0.8
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4453321064166218, guid: 9c1140a4748eb1542bc76f156e936e7b, type: 3} - target: {fileID: 4453321064166218, guid: 9c1140a4748eb1542bc76f156e936e7b, type: 3}
propertyPath: m_LocalPosition.z propertyPath: m_LocalPosition.z
@ -149236,7 +149237,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4453321064166218, guid: 9c1140a4748eb1542bc76f156e936e7b, type: 3} - target: {fileID: 4453321064166218, guid: 9c1140a4748eb1542bc76f156e936e7b, type: 3}
propertyPath: m_LocalPosition.y propertyPath: m_LocalPosition.y
value: -0.5 value: -0.8
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4453321064166218, guid: 9c1140a4748eb1542bc76f156e936e7b, type: 3} - target: {fileID: 4453321064166218, guid: 9c1140a4748eb1542bc76f156e936e7b, type: 3}
propertyPath: m_LocalPosition.z propertyPath: m_LocalPosition.z
@ -149377,7 +149378,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4453321064166218, guid: 9c1140a4748eb1542bc76f156e936e7b, type: 3} - target: {fileID: 4453321064166218, guid: 9c1140a4748eb1542bc76f156e936e7b, type: 3}
propertyPath: m_LocalPosition.y propertyPath: m_LocalPosition.y
value: -0.5 value: -0.8
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4453321064166218, guid: 9c1140a4748eb1542bc76f156e936e7b, type: 3} - target: {fileID: 4453321064166218, guid: 9c1140a4748eb1542bc76f156e936e7b, type: 3}
propertyPath: m_LocalPosition.z propertyPath: m_LocalPosition.z

View File

@ -646,17 +646,17 @@ public class Actor : MyCoroutine
protected virtual void Projectile_To_Target(string _proj) protected virtual void Projectile_To_Target(string _proj)
{ {
Reset_AttackCoolTime(); Reset_AttackCoolTime();
ProjectileInfo.Ins.Shoot_Projectile(_proj, this, m_Target, 1f, Get_ProjectileStartPos() ); ProjectileInfo.Ins.Shoot_Projectile(_proj, this, m_Target, 1f, Get_CenterPositionFoward() );
} }
protected virtual void Projectile_To_Target2(string _proj) protected virtual void Projectile_To_Target2(string _proj)
{ {
Reset_AttackCoolTime(); Reset_AttackCoolTime();
ProjectileInfo.Ins.Shoot_Projectile(_proj, this, m_Target, 1f, Get_ProjectileStartPos()); ProjectileInfo.Ins.Shoot_Projectile(_proj, this, m_Target, 1f, Get_CenterPositionFoward());
} }
protected virtual void Projectile_To_Target3(string _proj) protected virtual void Projectile_To_Target3(string _proj)
{ {
Reset_AttackCoolTime(); Reset_AttackCoolTime();
ProjectileInfo.Ins.Shoot_Projectile(_proj, this, m_Target, 1f, Get_ProjectileStartPos()); ProjectileInfo.Ins.Shoot_Projectile(_proj, this, m_Target, 1f, Get_CenterPositionFoward());
} }
protected virtual void Heal_To_Target() { } protected virtual void Heal_To_Target() { }
protected virtual void Set_Script() { } protected virtual void Set_Script() { }
@ -816,8 +816,8 @@ public class Actor : MyCoroutine
return new Vector3(transform.position.x, transform.position.y + ObjSize.y * 0.5f, transform.position.z); return new Vector3(transform.position.x, transform.position.y + ObjSize.y * 0.5f, transform.position.z);
} }
public Vector3 Get_Top_postion() { return tf_HUD_Dmg.position; } public Vector3 Get_Top_postion() { return tf_HUD_Dmg.position; }
public Vector3 Get_ProjectileStartPos() { return Get_Center_position() + transform.forward; } public Vector3 Get_CenterPositionFoward(float dist = 1f) { return Get_Center_position() + transform.forward * dist; }
public Vector3 Get_PositionFoward() { return Get_position() + transform.forward; } public Vector3 Get_PositionFoward(float dist = 1f) { return Get_position() + transform.forward * dist; }
public float Get_ScaleSizeDist() { return transform.localScale.x > 2f ? ObjSize.z * 0.5f : 0f; } public float Get_ScaleSizeDist() { return transform.localScale.x > 2f ? ObjSize.z * 0.5f : 0f; }
public ActorStatInfo Get_StatInfo() { return m_Stat; } public ActorStatInfo Get_StatInfo() { return m_Stat; }
public double Get_HP() { return m_Stat.Get_Stat(eStat.HP); } public double Get_HP() { return m_Stat.Get_Stat(eStat.HP); }
@ -1798,7 +1798,8 @@ public class Actor : MyCoroutine
if (SettingsMain.Ins) SettingsMain.Ins.Add_Event(System.Reflection.MethodBase.GetCurrentMethod().Name, 1, a); if (SettingsMain.Ins) SettingsMain.Ins.Add_Event(System.Reflection.MethodBase.GetCurrentMethod().Name, 1, a);
#endif #endif
Shoot_Skill(); Shoot_Skill();
m_NavMeshAgent.isStopped = false; if (m_NavMeshAgent.isOnNavMesh)
m_NavMeshAgent.isStopped = false;
} }
public virtual void Indicator(int a) public virtual void Indicator(int a)
{ {

View File

@ -51,7 +51,7 @@ public class BossMobActor : MobActor
{ // 데미지 투사체 생성 { // 데미지 투사체 생성
m_animation.speed = m_attackspeed; m_animation.speed = m_attackspeed;
var startpos = Get_ProjectileStartPos(); var startpos = Get_CenterPositionFoward();
if (ProjectileInfo.Ins) if (ProjectileInfo.Ins)
{ {
if (index == 0) if (index == 0)

View File

@ -469,7 +469,7 @@ public class MobActor : Actor
{ {
base.Projectile(s); base.Projectile(s);
if (ProjectileInfo.Ins) if (ProjectileInfo.Ins)
ProjectileInfo.Ins.Shoot_Projectile(m_MonsterTableData.s_Porjectile1, this, m_Target, 1f, Get_ProjectileStartPos(), ProjectileInfo.Ins.Shoot_Projectile(m_MonsterTableData.s_Porjectile1, this, m_Target, 1f, Get_CenterPositionFoward(),
m_MonsterTableData.f_ProjectileLifeTime1); m_MonsterTableData.f_ProjectileLifeTime1);
} }

View File

@ -252,7 +252,7 @@ public class MyActor : Actor
base.Projectile(s); base.Projectile(s);
if (ProjectileInfo.Ins) if (ProjectileInfo.Ins)
{ {
var startpos = Get_ProjectileStartPos(); var startpos = Get_CenterPositionFoward();
var lifeTime = table_effectlist.Ins.Get_Data(s).f_ProjectileLifeTime; var lifeTime = table_effectlist.Ins.Get_Data(s).f_ProjectileLifeTime;
ProjectileInfo.Ins.Shoot_Projectile(s, this, m_Target, 1f, startpos, lifeTime); ProjectileInfo.Ins.Shoot_Projectile(s, this, m_Target, 1f, startpos, lifeTime);
} }

View File

@ -28,7 +28,7 @@ public class WizardActor : PCActor
void Shoot_MagicMissile() void Shoot_MagicMissile()
{ {
ProjectileInfo.Ins.Shoot_Projectile("MagicMissile", this, m_Target, m_DamageRate, Get_ProjectileStartPos(), 10f); ProjectileInfo.Ins.Shoot_Projectile("MagicMissile", this, m_Target, m_DamageRate, Get_CenterPositionFoward(), 10f);
#if UNITY_EDITOR #if UNITY_EDITOR
if (UnityEngine.SceneManagement.SceneManager.GetActiveScene().name == "StatTest") return; if (UnityEngine.SceneManagement.SceneManager.GetActiveScene().name == "StatTest") return;
#endif #endif

View File

@ -155,15 +155,15 @@ public class PetActor : MyActor
protected override void Projectile_To_Target(string _proj) protected override void Projectile_To_Target(string _proj)
{ {
ProjectileInfo.Ins.Shoot_Projectile(_proj, this, m_Target, 1f, Get_ProjectileStartPos()); ProjectileInfo.Ins.Shoot_Projectile(_proj, this, m_Target, 1f, Get_CenterPositionFoward());
} }
protected override void Projectile_To_Target2(string _proj) protected override void Projectile_To_Target2(string _proj)
{ {
ProjectileInfo.Ins.Shoot_Projectile(_proj, this, m_Target, 1f, Get_ProjectileStartPos()); ProjectileInfo.Ins.Shoot_Projectile(_proj, this, m_Target, 1f, Get_CenterPositionFoward());
} }
protected override void Projectile_To_Target3(string _proj) protected override void Projectile_To_Target3(string _proj)
{ {
ProjectileInfo.Ins.Shoot_Projectile(_proj, this, m_Target, 1f, Get_ProjectileStartPos()); ProjectileInfo.Ins.Shoot_Projectile(_proj, this, m_Target, 1f, Get_CenterPositionFoward());
} }
PetActor LinkPet; PetActor LinkPet;

View File

@ -154,10 +154,10 @@ public class ProjectileBase : MonoBehaviour
switch (_data.eStartPos) switch (_data.eStartPos)
{ {
case eProjectileStartPos.Shooter: transform.position = _data.shooter.Get_ProjectileStartPos(); break; case eProjectileStartPos.Shooter: transform.position = _data.shooter.Get_CenterPositionFoward(); break;
case eProjectileStartPos.ShooterCenter: transform.position = _data.shooter.Get_ProjectileStartPos(); break; case eProjectileStartPos.ShooterCenter: transform.position = _data.shooter.Get_CenterPositionFoward(); break;
default: transform.position = _data.target.Get_ProjectileStartPos(); break; default: transform.position = _data.target.Get_CenterPositionFoward(); break;
case eProjectileStartPos.TargetCenter: transform.position = _data.target.Get_ProjectileStartPos(); break; case eProjectileStartPos.TargetCenter: transform.position = _data.target.Get_CenterPositionFoward(); break;
case eProjectileStartPos.Custom: transform.position = _data.v3_StartPos; break; case eProjectileStartPos.Custom: transform.position = _data.v3_StartPos; break;
} }
@ -183,6 +183,12 @@ public class ProjectileBase : MonoBehaviour
transform.eulerAngles = _data.shooter.transform.eulerAngles; transform.eulerAngles = _data.shooter.transform.eulerAngles;
} }
protected void LookAt_ShooterFoward()
{
transform.rotation = m_ProjectTileData.shooter.transform.rotation;
transform.eulerAngles = new Vector3(0f, transform.eulerAngles.y);
}
/// <summary> /// <summary>
/// 쿨타임을 감소시킨다. f_ExtraValue1 값을 사용한다. /// 쿨타임을 감소시킨다. f_ExtraValue1 값을 사용한다.
/// </summary> /// </summary>

View File

@ -3,7 +3,7 @@ public class Skill_IceBolt : ProjectileTest
public override void Set(ProjectileData _data) public override void Set(ProjectileData _data)
{ {
_data.eStartPos = eProjectileStartPos.Custom; _data.eStartPos = eProjectileStartPos.Custom;
_data.v3_StartPos = _data.shooter.Get_ProjectileStartPos(); _data.v3_StartPos = _data.shooter.Get_CenterPositionFoward();
base.Set(_data); base.Set(_data);
// 공속이 추가로 감소 // 공속이 추가로 감소

View File

@ -6,7 +6,7 @@ public class Skill_ShieldAttack : ProjectileBase
public override void Set(ProjectileData _data) public override void Set(ProjectileData _data)
{ {
_data.eStartPos = eProjectileStartPos.Custom; _data.eStartPos = eProjectileStartPos.Custom;
_data.v3_StartPos = _data.shooter.Get_ProjectileStartPos(); _data.v3_StartPos = _data.shooter.Get_CenterPositionFoward();
base.Set(_data); base.Set(_data);
if (IsStep(1)) m_ProjectTileData.CC_AddTime = Get_AwakenData(1, 1); if (IsStep(1)) m_ProjectTileData.CC_AddTime = Get_AwakenData(1, 1);
if (IsStep(2)) m_ProjectTileData.CC_AddDmg = Get_AwakenData(2, 1); if (IsStep(2)) m_ProjectTileData.CC_AddDmg = Get_AwakenData(2, 1);

View File

@ -3,13 +3,18 @@ using UnityEngine;
public class Skill_StraightBurst : ProjectileBase public class Skill_StraightBurst : ProjectileBase
{ {
[Header("캐릭터와의 거리")]
public float m_distance = 1.5f;
public GameObject[] gos_effect, go_hiteffect; public GameObject[] gos_effect, go_hiteffect;
public override void Set(ProjectileData _data) public override void Set(ProjectileData _data)
{ {
_data.eStartPos = eProjectileStartPos.Shooter; _data.eStartPos = eProjectileStartPos.Custom;
_data.LookTarget = false; _data.v3_StartPos = _data.shooter.Get_CenterPositionFoward(m_distance);
base.Set(_data); base.Set(_data);
LookAt_ShooterFoward();
DSUtil.InActivateGameObjects(gos_effect); DSUtil.InActivateGameObjects(gos_effect);
DSUtil.InActivateGameObjects(go_hiteffect); DSUtil.InActivateGameObjects(go_hiteffect);

View File

@ -3,19 +3,20 @@ using UnityEngine;
public class Skill_Tornado : ProjectileBase public class Skill_Tornado : ProjectileBase
{ {
[Header("캐릭터와의 거리")]
public float m_distance = 1.5f;
public override void Set(ProjectileData _data) public override void Set(ProjectileData _data)
{ {
_data.eStartPos = eProjectileStartPos.Custom; _data.eStartPos = eProjectileStartPos.Custom;
_data.v3_StartPos = _data.shooter.Get_position() + (_data.shooter.transform.forward * 1.5f); _data.v3_StartPos = _data.shooter.Get_PositionFoward(m_distance);
base.Set(_data); base.Set(_data);
LookAt_ShooterFoward();
m_ProjectTileData.CC_AddVal1 = IsStep(1) ? Get_AwakenData(1, 1) : 0; m_ProjectTileData.CC_AddVal1 = IsStep(1) ? Get_AwakenData(1, 1) : 0;
m_ProjectTileData.CC_AddVal2 = IsStep(2) ? Get_AwakenData(2, 1) : 0; m_ProjectTileData.CC_AddVal2 = IsStep(2) ? Get_AwakenData(2, 1) : 0;
m_ProjectTileData.CC_AddDmg = IsStep(3) ? Get_AwakenData(3, 1) : 0; m_ProjectTileData.CC_AddDmg = IsStep(3) ? Get_AwakenData(3, 1) : 0;
transform.rotation = _data.shooter.transform.rotation;
transform.eulerAngles = new Vector3(0f, transform.eulerAngles.y);
StartCoroutine(Co_Updata()); StartCoroutine(Co_Updata());
} }

View File

@ -1953,14 +1953,20 @@ public partial class ServerData
} }
public bool IsObtainItem(int id) public bool IsObtainItem(int id)
{ {
var itemdata = table_itemlist.Ins.Get_Data(id);
var key = Get_Key(id); var key = Get_Key(id);
if (Item.ContainsKey(key)) return true; if (Item.ContainsKey(key)) return true;
else if (Equipment.ContainsKey(key)) return true; else if (Equipment.ContainsKey(key)) return true;
else if (Enchant.ContainsKey(key)) return true; else if (Enchant.ContainsKey(key)) return true;
else if (Pet.ContainsKey(key)) return true; else if (Pet.ContainsKey(key)) return true;
else if (Relic.ContainsKey(key)) return true; else if (Relic.ContainsKey(key)) return true;
else if (itemdata.e_ItemType == eItem.PC) return PC.IsObtainPC(id); else
{
var itemdata = table_itemlist.Ins.Get_Data(id);
if (!DSUtil.CheckNull(itemdata))
{
if (itemdata.e_ItemType == eItem.PC) return PC.IsObtainPC(id);
}
}
return false; return false;
} }
public bool IsEquipItem(int id, int preset = 0) public bool IsEquipItem(int id, int preset = 0)

View File

@ -59,14 +59,14 @@ public class PCJobUI_OpenCondition : MonoBehaviour
if (sdata.PC.IsObtainPC(m_ClassId)) return false; if (sdata.PC.IsObtainPC(m_ClassId)) return false;
// linkedId1 확인 // linkedId1 확인
if (!sdata.IsObtainItem(m_Data.n_linkedClass1)) if (m_Data.n_linkedClass1 > 0 && !sdata.IsObtainItem(m_Data.n_linkedClass1))
{ {
if (showtoast) ToastUI.Ins.Set(254); if (showtoast) ToastUI.Ins.Set(254);
return false; return false;
} }
// linkedId2 확인 // linkedId2 확인
if (!sdata.IsObtainItem(m_Data.n_linkedClass2)) if (m_Data.n_linkedClass2 > 0 && !sdata.IsObtainItem(m_Data.n_linkedClass2))
{ {
if (showtoast) ToastUI.Ins.Set(254); if (showtoast) ToastUI.Ins.Set(254);
return false; return false;

View File

@ -184,7 +184,7 @@
"url": "https://packages.unity.com" "url": "https://packages.unity.com"
}, },
"com.unity.services.core": { "com.unity.services.core": {
"version": "1.12.5", "version": "1.14.0",
"depth": 1, "depth": 1,
"source": "registry", "source": "registry",
"dependencies": { "dependencies": {

View File

@ -79,7 +79,7 @@ PlayerSettings:
androidAutoRotationBehavior: 1 androidAutoRotationBehavior: 1
defaultIsNativeResolution: 1 defaultIsNativeResolution: 1
macRetinaSupport: 1 macRetinaSupport: 1
runInBackground: 0 runInBackground: 1
captureSingleScreen: 0 captureSingleScreen: 0
muteOtherAudioSources: 0 muteOtherAudioSources: 0
Prepare IOS For Recording: 0 Prepare IOS For Recording: 0
@ -140,7 +140,7 @@ PlayerSettings:
loadStoreDebugModeEnabled: 0 loadStoreDebugModeEnabled: 0
visionOSBundleVersion: 1.0 visionOSBundleVersion: 1.0
tvOSBundleVersion: 1.0 tvOSBundleVersion: 1.0
bundleVersion: 0.0.1 bundleVersion: 9.9.9
preloadedAssets: [] preloadedAssets: []
metroInputSource: 0 metroInputSource: 0
wsaTransparentSwapchain: 0 wsaTransparentSwapchain: 0