Commit 6e4db9fa authored by SherryChaos's avatar SherryChaos

new card particle effects

parent b5b6fdcd
MDPro3 v1.1.3更新: MDPro3 v1.1.3更新:
1.现在能设置决斗开始时是否自动加速了。 1.现在能设置决斗开始时是否自动加速了。
2.现在能显示已知盖卡了,设置中可以关闭。 2.现在能显示已知盖卡了,设置中可以关闭。
3.修复SelectSum消息中,可选卡片数量为1时,点击不可选卡片会导致游戏无法继续的错误。 3.新增 [超融合] [技能抽取] [无限泡影] [闪电风暴] [效果遮蒙者]特效。
4.修复上版本中,更改设置中的[画面质量]导致游戏背景异常的错误。 4.修复SelectSum消息中,可选卡片数量为1时,点击不可选卡片会导致游戏无法继续的错误。
5.修复部分情况下立绘为空白的错误。 5.修复上版本中,更改设置中的[画面质量]导致游戏背景异常的错误。
6.修复弹窗确认卡片时,使用快捷键关闭弹窗时游戏无法继续的错误。 6.修复部分情况下立绘为空白的错误。
7.修复弹窗确认卡片时,使用快捷键关闭弹窗时游戏无法继续的错误。
MDPro3 v1.1.2更新: MDPro3 v1.1.2更新:
1.现在房主能在房间中添加AI进行游戏了。 1.现在房主能在房间中添加AI进行游戏了。
......
...@@ -40464,7 +40464,7 @@ RectTransform: ...@@ -40464,7 +40464,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -0.000030517578} m_AnchoredPosition: {x: 0, y: 0.000030517578}
m_SizeDelta: {x: 0, y: 300} m_SizeDelta: {x: 0, y: 300}
m_Pivot: {x: 0.5, y: 1} m_Pivot: {x: 0.5, y: 1}
--- !u!114 &702608002 --- !u!114 &702608002
...@@ -63165,7 +63165,7 @@ RectTransform: ...@@ -63165,7 +63165,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0.000030517578} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 300} m_SizeDelta: {x: 0, y: 300}
m_Pivot: {x: 0.5, y: 1} m_Pivot: {x: 0.5, y: 1}
--- !u!1 &1117266860 --- !u!1 &1117266860
...@@ -1210,7 +1210,7 @@ MonoBehaviour: ...@@ -1210,7 +1210,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Material: {fileID: 0} m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1} m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1 m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1 m_Maskable: 1
m_OnCullStateChanged: m_OnCullStateChanged:
...@@ -1422,7 +1422,7 @@ MonoBehaviour: ...@@ -1422,7 +1422,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Material: {fileID: 0} m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1} m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1 m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1 m_Maskable: 1
m_OnCullStateChanged: m_OnCullStateChanged:
......
...@@ -905,6 +905,7 @@ namespace MDPro3 ...@@ -905,6 +905,7 @@ namespace MDPro3
foreach (var card in Program.I().ocgcore.cards) foreach (var card in Program.I().ocgcore.cards)
card.RemoveTarget(this); card.RemoveTarget(this);
disabled = false; disabled = false;
setOverTurn = false;
RefreshData(); RefreshData();
} }
...@@ -955,6 +956,8 @@ namespace MDPro3 ...@@ -955,6 +956,8 @@ namespace MDPro3
CreateModel(); CreateModel();
ModelAt(p); ModelAt(p);
ShowFaceDownCardOrNot(NeedShowFaceDownCard()); ShowFaceDownCardOrNot(NeedShowFaceDownCard());
if (IsFaceDownOnSpellZone())
setOverTurn = true;
} }
return 0; return 0;
} }
...@@ -2823,6 +2826,7 @@ namespace MDPro3 ...@@ -2823,6 +2826,7 @@ namespace MDPro3
} }
int setTurn = 0; int setTurn = 0;
public bool setOverTurn;
public void ShowFaceDownCardOrNot(bool show) public void ShowFaceDownCardOrNot(bool show)
{ {
if (model == null) if (model == null)
...@@ -2871,6 +2875,7 @@ namespace MDPro3 ...@@ -2871,6 +2875,7 @@ namespace MDPro3
return; return;
manager.GetElement("EffectDisquiet").SetActive(true); manager.GetElement("EffectDisquiet").SetActive(true);
setOverTurn = true;
} }
#endregion #endregion
......
...@@ -790,9 +790,13 @@ namespace MDPro3 ...@@ -790,9 +790,13 @@ namespace MDPro3
allPackages.Clear(); allPackages.Clear();
AudioManager.ResetSESource(); AudioManager.ResetSESource();
foreach (GameObject gameObject in allGameObjects) foreach (var o in turnEndDeleteObjects)
Destroy(gameObject); Destroy(o);
turnEndDeleteObjects.Clear();
foreach (var o in allGameObjects)
Destroy(o);
allGameObjects.Clear(); allGameObjects.Clear();
foreach (var card in cards) foreach (var card in cards)
card.Dispose(); card.Dispose();
cards.Clear(); cards.Clear();
...@@ -864,11 +868,6 @@ namespace MDPro3 ...@@ -864,11 +868,6 @@ namespace MDPro3
//ABLoader.LoadFromFolder("5c2f34a0");//assets/resourcesassetbundle/duel/timeline/duel/universal/attack/attackredeyes/attackredebless.prefab //ABLoader.LoadFromFolder("5c2f34a0");//assets/resourcesassetbundle/duel/timeline/duel/universal/attack/attackredeyes/attackredebless.prefab
//ABLoader.LoadFromFolder("fbf001db");//assets/resourcesassetbundle/duel/timeline/duel/universal/attack/attackredeyes/attackrededummycardset.prefab //ABLoader.LoadFromFolder("fbf001db");//assets/resourcesassetbundle/duel/timeline/duel/universal/attack/attackredeyes/attackrededummycardset.prefab
//ABLoader.LoadFromFolder("MasterDuel/Timeline/Summon/SummonFusion/Fusion07445TrailFieldCard01");
//ABLoader.LoadFromFolder("MasterDuel/Timeline/Summon/SummonFusion/SummonFusion07445ShowUnitCard01");
//ABLoader.LoadFromFolder("MasterDuel/Timeline/Summon/SummonFusion/SummonFusion07445ShowUnitCard08");
//ABLoader.LoadFromFolder("MasterDuel/Timeline/Summon/SummonFusion/SummonFusion07445ShowUnitCardNum");
#region Attack Line #region Attack Line
if (attackLine == null) if (attackLine == null)
{ {
...@@ -1383,6 +1382,7 @@ namespace MDPro3 ...@@ -1383,6 +1382,7 @@ namespace MDPro3
public DuelPhase phase = DuelPhase.Draw; public DuelPhase phase = DuelPhase.Draw;
public delegate void ResponseHandler(byte[] buffer); public delegate void ResponseHandler(byte[] buffer);
public List<GameObject> allGameObjects = new List<GameObject>(); public List<GameObject> allGameObjects = new List<GameObject>();
List<GameObject> turnEndDeleteObjects = new List<GameObject>();
public static bool messagePass; public static bool messagePass;
public static bool pause; public static bool pause;
...@@ -3771,7 +3771,117 @@ namespace MDPro3 ...@@ -3771,7 +3771,117 @@ namespace MDPro3
} }
} }
else else
{
if(code == 82732705)//技能抽取
{
if(card.model == null)
{
messagePass = true;
return;
}
AudioManager.PlaySE("SE_EV_SKILLDRAIN");
var effArea = ABLoader.LoadFromFolder("MasterDuel/Effects/MagicTrapEffects/fxp_05740_Area", "fxp_05740_Area", true);
var effCard = ABLoader.LoadFromFolder("MasterDuel/Effects/MagicTrapEffects/fxp_05740_Card", "fxp_05740_Card", true);
effCard.SetActive(false);
effCard.transform.position = card.model.transform.position;
DOTween.To(v => { }, 0, 0, 0.5f).OnComplete(() =>
{
effCard.SetActive(true);
});
DOTween.To(v => { }, 0, 0, 1.5f).OnComplete(() =>
{
Destroy(effArea);
Destroy(effCard);
messagePass = true;
});
}
else if(code == 10045474)//无限泡影
{
if (card.effectTargets.Count == 0 || card.effectTargets[0].model == null)
{
messagePass = true; messagePass = true;
return;
}
var time = 1.5f;
AudioManager.PlaySE("SE_EV_INFINITE_IMPERMANENCE");
var effCard = ABLoader.LoadFromFolder("MasterDuel/Effects/MagicTrapEffects/fxp_13631_Card", "fxp_13631_Card", true);
effCard.transform.position = card.effectTargets[0].model.transform.position;
if((card.effectTargets[0].p.position & (uint)CardPosition.Attack) > 0)
Destroy(effCard.transform.GetChild(0).GetChild(1).gameObject);
else
Destroy(effCard.transform.GetChild(0).GetChild(0).gameObject);
if (card.setOverTurn)
{
GameObject effArea = ABLoader.LoadFromFolder("MasterDuel/Effects/MagicTrapEffects/fxp_13631_Area", "fxp_13631_Area", true);
GameObject effAreaLoop = ABLoader.LoadFromFolder("MasterDuel/Effects/MagicTrapEffects/fxp_13631_Area_Loop", "fxp_13631_Area_Loop", true);
foreach(var place in Program.I().ocgcore.places)
{
if (place.InTheSameLine(card.p))
{
var area = Instantiate(effArea);
area.transform.position = place.transform.position;
Destroy(area, time);
var loop = Instantiate(effAreaLoop);
loop.transform.SetParent(place.transform, false);
if ((place.p.location & (uint)CardLocation.MonsterZone) > 0)
loop.transform.localScale = new Vector3(1f, 1f, 1.1f);
allGameObjects.Add(loop);
turnEndDeleteObjects.Add(loop);
}
}
Destroy(effArea);
Destroy(effAreaLoop);
}
DOTween.To(v => { }, 0, 0, time).OnComplete(() =>
{
Destroy(effCard);
messagePass = true;
});
}
else if (code == 14532163)//闪电风暴
{
var eff = ABLoader.LoadFromFolder("MasterDuel/Effects/MagicTrapEffects/fxp_14876", "fxp_14876", true);
if (card.p.controller == 0)
{
AudioManager.PlaySE("SE_EV_LIGHTNINGSTORM_P");
Destroy(eff.transform.GetChild(0).GetChild(0).GetChild(2).gameObject);
}
else
{
AudioManager.PlaySE("SE_EV_LIGHTNINGSTORM_R");
Destroy(eff.transform.GetChild(0).GetChild(0).GetChild(0).gameObject);
}
DOTween.To(v => { }, 0, 0, 1f).OnComplete(() =>
{
Destroy(eff);
messagePass = true;
});
}
else if (code == 97268402)//效果遮蒙者
{
if (card.effectTargets.Count == 0 || card.effectTargets[0].model == null)
{
messagePass = true;
return;
}
AudioManager.PlaySE("SE_EV_EFFECT_VEILER");
var eff = ABLoader.LoadFromFolder("MasterDuel/Effects/MonsterEffectProcess/fxp_mep08933_01", "fxp_mep08933_01", true);
eff.transform.position = card.effectTargets[0].model.transform.position;
DOTween.To(v => { }, 0, 0, 1f).OnComplete(() =>
{
Destroy(eff);
messagePass = true;
});
}
else
messagePass = true;
}
} }
else else
messagePass = true; messagePass = true;
...@@ -4607,6 +4717,9 @@ namespace MDPro3 ...@@ -4607,6 +4717,9 @@ namespace MDPro3
PhaseButtonHandler.SetTextMain(""); PhaseButtonHandler.SetTextMain("");
foreach (var c in cards) foreach (var c in cards)
c.ShowDisquiet(); c.ShowDisquiet();
foreach(var o in turnEndDeleteObjects)
Destroy(o);
turnEndDeleteObjects.Clear();
break; break;
case GameMessage.NewPhase: case GameMessage.NewPhase:
attackLine.SetActive(false); attackLine.SetActive(false);
......
...@@ -579,5 +579,20 @@ namespace MDPro3.UI ...@@ -579,5 +579,20 @@ namespace MDPro3.UI
else else
disable.SetActive(false); disable.SetActive(false);
} }
public bool InTheSameLine(GPS gps)
{
if ((gps.location & ((uint)CardLocation.Deck + (uint)CardLocation.Extra)) > 0)
return false;
if ((p.location & ((uint)CardLocation.Deck + (uint)CardLocation.Extra)) > 0)
return false;
if ((p.sequence == gps.sequence) && (p.controller == gps.controller))
return true;
if ((p.sequence == (4 - gps.sequence)) && (p.controller != gps.controller))
return true;
return false;
}
} }
} }
...@@ -56,8 +56,8 @@ public class AssetBundleRobber : MonoBehaviour ...@@ -56,8 +56,8 @@ public class AssetBundleRobber : MonoBehaviour
masterDuelAssetBundlePath = masterDuelWindowsAssetBundlePath; masterDuelAssetBundlePath = masterDuelWindowsAssetBundlePath;
workingPlace = windowsWorkingPlace; workingPlace = windowsWorkingPlace;
//masterDuelAssetBundlePath = masterDuelAndroidAssetBundlePath; masterDuelAssetBundlePath = masterDuelAndroidAssetBundlePath;
//workingPlace = androindWorkingPlace; workingPlace = androindWorkingPlace;
fullCopy = true; fullCopy = true;
//fullCopy = false; //fullCopy = false;
...@@ -66,7 +66,22 @@ public class AssetBundleRobber : MonoBehaviour ...@@ -66,7 +66,22 @@ public class AssetBundleRobber : MonoBehaviour
//StartCoroutine(RefreshFileResources()); //StartCoroutine(RefreshFileResources());
Copy("ecf3e547");//Fusion07445TrailFieldCard01 Copy("b9f86e1a");//Effects/Hit/Eff_Duel_HitEffect_00
Copy("20f13fa0");//Effects/Hit/Eff_Duel_HitEffect_03
Copy("ac8758eb");//Effects/MagicTrapEffects/fxp_05740_Area
Copy("6d07fd50");//Effects/MagicTrapEffects/fxp_05740_Card
Copy("1670a856");//Effects/MagicTrapEffects/fxp_13631_Area_Loop
Copy("6b1dcc84");//Effects/MagicTrapEffects/fxp_13631_Area
Copy("aa9d693f");//Effects/MagicTrapEffects/fxp_13631_Card
Copy("55f66563");//Effects/MagicTrapEffects/fxp_14876
Copy("138f1dcd");//Effects/MonsterEffectProcess/fxp_mep08933_01
Copy("1d6fc525");//Effects/Sacrifice/fxp_Sacrifice_fsn_001
Copy("1bd494f3");//Effects/Sacrifice/fxp_Sacrifice_fsn_ef07445_001
Copy("e93b1e20");//Effects/Sacrifice/fxp_Sacrifice_rtl_001
} }
void Copy(string path) void Copy(string path)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment