feat(battle-engine): full View/VFX/UI/Touch/Story type closure (4254->3916, unmasked)
Generate no-op shells for the entire stop-listed View/Vfx/UI/Touch/Story missing- type closure (~180 types) + 5 copyable engine files. Net-new shells emitted base-less, so override members are stripped via the new --no-override generator flag. SDK/BCL over-reach (Adjust/GZipStream/Socket*) and non-battle Story-world clusters reduced to minimal/empty stubs instead of full-surface. Nested-type closure (BuildInfo/BattleDialog/ ROOM_URI/FuncGetCantAttackText) placed top-level in their decomp namespaces. Clearing the last View CS0115 unmasked the true member-level frontier: 3916 errors, 0 generated/structural errors, now dominated by Unity-type + god-object members. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
180
SVSim.BattleEngine/Engine/PlayerChoiceBraveButtonUI.cs
Normal file
180
SVSim.BattleEngine/Engine/PlayerChoiceBraveButtonUI.cs
Normal file
@@ -0,0 +1,180 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class PlayerChoiceBraveButtonUI : UIBase
|
||||
{
|
||||
private const int CHOICE_BRAVE_BUTTON_HEIGHT = 155;
|
||||
|
||||
private const int CHOICE_BRAVE_BUTTON_WEIGHT = 155;
|
||||
|
||||
private const string CHOICE_BRAVE_BUTTON_ON_SPRITE_NAME = "battle_icon_hero_player_on";
|
||||
|
||||
private const string CHOICE_BRAVE_BUTTON_OFF_SPRITE_NAME = "battle_icon_hero_player_off";
|
||||
|
||||
[SerializeField]
|
||||
private UISprite _choiceBraveButtonSprite;
|
||||
|
||||
[SerializeField]
|
||||
private UILabel _bpLabel;
|
||||
|
||||
[SerializeField]
|
||||
private UIWidget _choiceBraveButtonWidget;
|
||||
|
||||
private bool isFocus;
|
||||
|
||||
private const float HIDE_OFFSET = 450f;
|
||||
|
||||
private const float SHOW_OFFSET_DOWN = 400f;
|
||||
|
||||
private const float SHOW_OFFSET_FORWARD = 50f;
|
||||
|
||||
public Vector3 BPLabelPosition
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!(_bpLabel != null))
|
||||
{
|
||||
return Vector3.zero;
|
||||
}
|
||||
return _bpLabel.transform.position;
|
||||
}
|
||||
}
|
||||
|
||||
public void ShowButton(bool isNewReplay)
|
||||
{
|
||||
if (isNewReplay)
|
||||
{
|
||||
MoveHbpButtonAnchor(isFocus ? Global.PLAYER_CHOICE_BRAVE_BUTTON_POSITION_ZOOM.y : Global.PLAYER_CHOICE_BRAVE_BUTTON_POSITION.y);
|
||||
return;
|
||||
}
|
||||
MoveHbpButtonAnchor(-200f);
|
||||
base.gameObject.SetActive(value: true);
|
||||
iTween.ValueTo(base.gameObject, iTween.Hash("from", -200, "to", Global.PLAYER_CHOICE_BRAVE_BUTTON_POSITION.y, "time", 0.5f, "delay", 0.1f, "onupdate", "MoveHbpButtonAnchor", "easetype", iTween.EaseType.easeInOutExpo));
|
||||
}
|
||||
|
||||
public void HideButton()
|
||||
{
|
||||
Vector3 vector = (isFocus ? Global.PLAYER_CHOICE_BRAVE_BUTTON_POSITION_ZOOM : Global.PLAYER_CHOICE_BRAVE_BUTTON_POSITION);
|
||||
iTween.ValueTo(base.gameObject, iTween.Hash("from", vector.y, "to", -200, "time", 0.5f, "onupdate", "MoveHbpButtonAnchor", "easetype", iTween.EaseType.easeInOutExpo));
|
||||
}
|
||||
|
||||
public Transform GetButtonTransform()
|
||||
{
|
||||
return base.transform;
|
||||
}
|
||||
|
||||
public void EnablePulsateEffect()
|
||||
{
|
||||
GameMgr ins = GameMgr.GetIns();
|
||||
if (!BattleManagerBase.GetIns().BattlePlayer.CanChoiceBrave)
|
||||
{
|
||||
ins.GetEffectMgr().Stop(EffectMgr.EffectType.CMN_UI_HEROSKILL_1);
|
||||
return;
|
||||
}
|
||||
Effect effect = ins.GetEffectMgr().Start(EffectMgr.EffectType.CMN_UI_HEROSKILL_1, GetButtonTransform().position, base.gameObject);
|
||||
if (effect != null)
|
||||
{
|
||||
effect.gameObject.SetLayer(base.gameObject.layer, isSetChildren: true);
|
||||
}
|
||||
}
|
||||
|
||||
public void DisablePulsateEffect()
|
||||
{
|
||||
GameMgr.GetIns().GetEffectMgr().Stop(EffectMgr.EffectType.CMN_UI_HEROSKILL_1);
|
||||
}
|
||||
|
||||
public void UpdatePulsateEffectAndSprite()
|
||||
{
|
||||
if (BattleManagerBase.GetIns().BattlePlayer.CanChoiceBraveThisTurn)
|
||||
{
|
||||
_choiceBraveButtonSprite.spriteName = "battle_icon_hero_player_on";
|
||||
EnablePulsateEffect();
|
||||
}
|
||||
else
|
||||
{
|
||||
_choiceBraveButtonSprite.spriteName = "battle_icon_hero_player_off";
|
||||
DisablePulsateEffect();
|
||||
}
|
||||
}
|
||||
|
||||
public void UpdateActivatingEffect(bool isActivating)
|
||||
{
|
||||
if (isActivating)
|
||||
{
|
||||
Effect effect = GameMgr.GetIns().GetEffectMgr().Start(EffectMgr.EffectType.CMN_UI_HEROSKILL_2, GetButtonTransform().position, base.gameObject);
|
||||
if (effect != null)
|
||||
{
|
||||
effect.gameObject.SetLayer(base.gameObject.layer, isSetChildren: true);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
GameMgr.GetIns().GetEffectMgr().Stop(EffectMgr.EffectType.CMN_UI_HEROSKILL_2);
|
||||
}
|
||||
}
|
||||
|
||||
private int SetYtoBottomAnchor(int posY)
|
||||
{
|
||||
int num = Mathf.FloorToInt(77f);
|
||||
return posY - num;
|
||||
}
|
||||
|
||||
private int SetYtoTopAnchor(int posY)
|
||||
{
|
||||
int num = 77;
|
||||
return posY + num;
|
||||
}
|
||||
|
||||
private float GetCenterAnchorPosY()
|
||||
{
|
||||
float num = 77f;
|
||||
return (float)_choiceBraveButtonWidget.bottomAnchor.absolute + num;
|
||||
}
|
||||
|
||||
public void MoveFocus(float beforePosY, float afterPosY)
|
||||
{
|
||||
if (beforePosY < afterPosY)
|
||||
{
|
||||
if (isFocus)
|
||||
{
|
||||
return;
|
||||
}
|
||||
isFocus = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!isFocus)
|
||||
{
|
||||
return;
|
||||
}
|
||||
isFocus = false;
|
||||
}
|
||||
iTween.ValueTo(base.gameObject, iTween.Hash("from", GetCenterAnchorPosY(), "to", afterPosY, "time", 0.2f, "onupdate", "MoveHbpButtonAnchor", "easetype", iTween.EaseType.easeOutQuad));
|
||||
}
|
||||
|
||||
public void SetHbpButtonAnchor(float posX, float posY, float posZ, GameObject container)
|
||||
{
|
||||
base.transform.localPosition = new Vector3(posX, posY, posZ);
|
||||
_choiceBraveButtonWidget.bottomAnchor.target = container.transform;
|
||||
_choiceBraveButtonWidget.topAnchor.target = container.transform;
|
||||
_choiceBraveButtonWidget.bottomAnchor.relative = 0f;
|
||||
_choiceBraveButtonWidget.bottomAnchor.absolute = SetYtoBottomAnchor((int)posY);
|
||||
_choiceBraveButtonWidget.topAnchor.relative = 0f;
|
||||
_choiceBraveButtonWidget.topAnchor.absolute = SetYtoTopAnchor((int)posY);
|
||||
_choiceBraveButtonWidget.UpdateAnchors();
|
||||
}
|
||||
|
||||
public void MoveHbpButtonAnchor(float posY)
|
||||
{
|
||||
int num = (int)posY;
|
||||
_choiceBraveButtonWidget.bottomAnchor.relative = 0f;
|
||||
_choiceBraveButtonWidget.bottomAnchor.absolute = SetYtoBottomAnchor(num);
|
||||
_choiceBraveButtonWidget.topAnchor.relative = 0f;
|
||||
_choiceBraveButtonWidget.topAnchor.absolute = SetYtoTopAnchor(num);
|
||||
_choiceBraveButtonWidget.UpdateAnchors();
|
||||
}
|
||||
|
||||
public void SetBp(int num)
|
||||
{
|
||||
_bpLabel.text = num.ToString();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user