ui基本完毕,修了一大把的bug

This commit is contained in:
FloatGaming
2026-07-13 02:28:39 +08:00
parent 1e20d73e90
commit fd22501f71
958 changed files with 378289 additions and 41038 deletions
@@ -72,6 +72,7 @@ public class settlementController : MonoBehaviour
public Text mvp_score;
public Image mvp_heroIcon;
public Text mvp_heroName;
public Text legacy_text;
// Documentation text normalized.
[Header("Inspector")]
@@ -643,7 +644,7 @@ public class settlementController : MonoBehaviour
goodHitPercent_Text.text = targetGoodPercent.ToString("F1") + "%";
missHitPercent_Text.text = targetMissPercent.ToString("F1") + "%";
accuracy_Text.text = targetAccuracyPercent.ToString("F3") + "%";
accuracy_Text.text = targetAccuracyPercent.ToString("F1") + "%";
// Timing Statistics
if (earlyHitCount_Text != null) earlyHitCount_Text.text = sm.countEarly.ToString();
@@ -769,6 +770,29 @@ public class settlementController : MonoBehaviour
settlementRewardsGranted = true;
if (GameConfig.autoPlayEnabled)
{
moneyToGive_thisLevel = 0;
if (reward_money_Text != null)
{
reward_money_Text.text = "+0";
}
if (reward_idolEXP_bottle_Text != null)
{
reward_idolEXP_bottle_Text.text = "+0";
}
if (reward_playerEXP_Text != null)
{
reward_playerEXP_Text.text = "+0";
}
RebuildSettlementRewardVisuals(0, 0, 0);
return;
}
int coinReward = Mathf.CeilToInt((targetTotalScore / 10000f) * 0.75f);
int materialReward = Mathf.CeilToInt((targetTotalScore / 10000f) * 0.20f);
int playerExpReward = Mathf.FloorToInt(targetTotalScore / 100000f);
@@ -1142,7 +1166,7 @@ public class settlementController : MonoBehaviour
PrepareTextForCountUp(pmScoreSum_Text, false, 0);
PrepareTextForCountUp(idolScoreSum_Text, false, 0);
PrepareTextForCountUp(accuracy_Text, true, 0f, "F3");
PrepareTextForCountUp(accuracy_Text, true, 0f, "F1");
PrepareTextForCountUp(finalScore_Text, false, 0);
PrepareTextForCountUp(thisLevel_currentPercentage_Text, true, 0f, "F2");
PrepareTextForCountUp(perfectHitCount_Text, false, 0);
@@ -1169,7 +1193,7 @@ public class settlementController : MonoBehaviour
Coroutine scoreBottomIn = null;
Coroutine shenstarsIn = null;
if (scoreBottomRt != null)
scoreBottomIn = StartCoroutine(AnimateAnchoredXAndFade(scoreBottomRt, -1646.9f, -432.4f, introMoveDuration, true));
scoreBottomIn = StartCoroutine(AnimateAnchoredXAndFade(scoreBottomRt, -1646.9f, 0f, introMoveDuration, true));
if (shenstarsRt != null)
shenstarsIn = StartCoroutine(AnimateAnchoredXAndFade(shenstarsRt, -1602.1f, -437.5785f, introMoveDuration, true));
if (scoreBottomIn != null || shenstarsIn != null)
@@ -1182,7 +1206,7 @@ public class settlementController : MonoBehaviour
// score numbers: pm -> idol -> accuracy
yield return StartCoroutine(AnimateIntText(pmScoreSum_Text, targetPmScore, introNumberDuration));
yield return StartCoroutine(AnimateIntText(idolScoreSum_Text, targetIdolScore, introNumberDuration));
yield return StartCoroutine(AnimateFloatPercentText(accuracy_Text, targetAccuracyPercent, introNumberDuration, "F3"));
yield return StartCoroutine(AnimateFloatPercentText(accuracy_Text, targetAccuracyPercent, introNumberDuration, "F1"));
// total + percent after above, and flash once completed
Coroutine totalScoreIn = StartCoroutine(AnimateIntText(finalScore_Text, targetTotalScore, introNumberDuration));
@@ -1287,7 +1311,7 @@ public class settlementController : MonoBehaviour
if (rightBottomRt != null) { SetAnchoredX(rightBottomRt, 1677.75f); SetCanvasAlpha(rightBottomRt, 1f); }
if (quhuiImageTr != null) SetCanvasAlpha(quhuiImageTr, 1f);
if (scoreBottomRt != null) { SetAnchoredX(scoreBottomRt, -432.4f); SetCanvasAlpha(scoreBottomRt, 1f); }
if (scoreBottomRt != null) { SetAnchoredX(scoreBottomRt, 0f); SetCanvasAlpha(scoreBottomRt, 1f); }
if (shenstarsRt != null) { SetAnchoredX(shenstarsRt, -437.5785f); SetCanvasAlpha(shenstarsRt, 1f); }
if (rewardRt != null) { SetAnchoredY(rewardRt, 0f); SetCanvasAlpha(rewardRt, 1f); }
if (lihuiTr != null) SetCanvasAlpha(lihuiTr, 1f);
@@ -1311,7 +1335,7 @@ public class settlementController : MonoBehaviour
if (pmScoreSum_Text != null) { pmScoreSum_Text.text = targetPmScore.ToString(); SetCanvasAlpha(pmScoreSum_Text.transform, 1f); }
if (idolScoreSum_Text != null) { idolScoreSum_Text.text = targetIdolScore.ToString(); SetCanvasAlpha(idolScoreSum_Text.transform, 1f); }
if (accuracy_Text != null) { accuracy_Text.text = targetAccuracyPercent.ToString("F3") + "%"; SetCanvasAlpha(accuracy_Text.transform, 1f); }
if (accuracy_Text != null) { accuracy_Text.text = targetAccuracyPercent.ToString("F1") + "%"; SetCanvasAlpha(accuracy_Text.transform, 1f); }
if (finalScore_Text != null) { finalScore_Text.text = targetTotalScore.ToString(); SetCanvasAlpha(finalScore_Text.transform, 1f); }
if (thisLevel_currentPercentage_Text != null) { thisLevel_currentPercentage_Text.text = targetTotalPercent.ToString("F2") + "%"; SetCanvasAlpha(thisLevel_currentPercentage_Text.transform, 1f); }
@@ -2123,6 +2147,8 @@ public class settlementController : MonoBehaviour
mvp_hero_hd_image.sprite = null;
mvp_hero_hd_image.color = new Color(mvp_hero_hd_image.color.r, mvp_hero_hd_image.color.g, mvp_hero_hd_image.color.b, 0f);
}
// Activate legacy_text when no MVP conditions are met
if (legacy_text != null) legacy_text.gameObject.SetActive(true);
return;
}
@@ -2186,6 +2212,9 @@ public class settlementController : MonoBehaviour
if (mvp_heroIcon != null) mvp_heroIcon.sprite = heroSO.ally_hero_squareProfile;
if (mvp_score != null) mvp_score.text = max.ToString();
// Deactivate legacy_text when MVP is successfully displayed
if (legacy_text != null) legacy_text.gameObject.SetActive(false);
Debug.Log($"[SettlementController] MVP assigned from slot {topIndex+1} with score {max}: {heroSO.ally_heroName}");
}
else
@@ -2197,6 +2226,10 @@ public class settlementController : MonoBehaviour
mvp_hero_hd_image.sprite = null;
mvp_hero_hd_image.color = new Color(mvp_hero_hd_image.color.r, mvp_hero_hd_image.color.g, mvp_hero_hd_image.color.b, 0f);
}
// Activate legacy_text when hero SO is not found
if (legacy_text != null) legacy_text.gameObject.SetActive(true);
Debug.LogWarning("[SettlementController] MVP SO or HD image not found");
}
}