Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
MDPro3
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
JQY
MDPro3
Commits
f71e0957
"include/svn:/svn.code.sf.net/p/irrlicht/code/trunk@4969" did not exist on "ea6ee609eea07ce5cdc0771a96842604e69ac73d"
Commit
f71e0957
authored
Aug 16, 2025
by
SherryChaos
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update SpriteScaler.cs
parent
e6fe0e0d
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
177 additions
and
76 deletions
+177
-76
Assets/Scripts/MDPro3/Managers/BackgroundManager.cs
Assets/Scripts/MDPro3/Managers/BackgroundManager.cs
+6
-1
Assets/Scripts/MDPro3/Managers/TimeLineManager.cs
Assets/Scripts/MDPro3/Managers/TimeLineManager.cs
+0
-1
Assets/Scripts/MDPro3/Servant/CutinViewer.cs
Assets/Scripts/MDPro3/Servant/CutinViewer.cs
+0
-11
Assets/Scripts/MDPro3/Servant/OcgCore.cs
Assets/Scripts/MDPro3/Servant/OcgCore.cs
+2
-1
Assets/Scripts/MasterDuel/YgomSystem/Effect/SpriteScaler.cs
Assets/Scripts/MasterDuel/YgomSystem/Effect/SpriteScaler.cs
+169
-62
No files found.
Assets/Scripts/MDPro3/Managers/BackgroundManager.cs
View file @
f71e0957
...
@@ -4,6 +4,7 @@ using MDPro3.UI;
...
@@ -4,6 +4,7 @@ using MDPro3.UI;
using
System.Collections
;
using
System.Collections
;
using
System.IO
;
using
System.IO
;
using
static
UnityEngine
.
UI
.
Image
;
using
static
UnityEngine
.
UI
.
Image
;
using
YgomSystem.Effect
;
namespace
MDPro3
namespace
MDPro3
{
{
...
@@ -79,7 +80,11 @@ namespace MDPro3
...
@@ -79,7 +80,11 @@ namespace MDPro3
var
endString
=
id
.
ToString
(
"D4"
);
var
endString
=
id
.
ToString
(
"D4"
);
back
=
ABLoader
.
LoadFromFolder
(
"MasterDuel/Background/Back"
+
endString
,
"Background"
+
endString
,
true
);
back
=
ABLoader
.
LoadFromFolder
(
"MasterDuel/Background/Back"
+
endString
,
"Background"
+
endString
,
true
);
back
.
transform
.
GetChild
(
0
).
gameObject
.
AddComponent
<
AutoScale
>();
if
(
back
.
transform
.
GetChild
(
0
).
gameObject
.
TryGetComponent
<
SpriteScaler
>(
out
var
spriteScaler
))
{
spriteScaler
.
isApplyOnUpdate
=
true
;
spriteScaler
.
SetFitMode
(
SpriteScaler
.
FitMode
.
FitHighestResolutionMaintainAspectRatio
);
}
Tools
.
ChangeLayer
(
back
,
"2D"
);
Tools
.
ChangeLayer
(
back
,
"2D"
);
back
.
transform
.
SetParent
(
transform
,
false
);
back
.
transform
.
SetParent
(
transform
,
false
);
...
...
Assets/Scripts/MDPro3/Managers/TimeLineManager.cs
View file @
f71e0957
...
@@ -433,7 +433,6 @@ namespace MDPro3
...
@@ -433,7 +433,6 @@ namespace MDPro3
DoWhenStop
(
summon
);
DoWhenStop
(
summon
);
var
manager
=
summon
.
GetComponent
<
ElementObjectManager
>();
var
manager
=
summon
.
GetComponent
<
ElementObjectManager
>();
currentSyncManager
=
manager
;
currentSyncManager
=
manager
;
manager
.
GetElement
(
"BlackNormal"
).
AddComponent
<
AutoScaleOnce
>();
var
subManager
=
manager
.
GetElement
<
ElementObjectManager
>(
"SummonLinkpostLink"
);
var
subManager
=
manager
.
GetElement
<
ElementObjectManager
>(
"SummonLinkpostLink"
);
dummyCard
=
subManager
.
GetElement
(
"DummyCardLink"
);
dummyCard
=
subManager
.
GetElement
(
"DummyCardLink"
);
...
...
Assets/Scripts/MDPro3/Servant/CutinViewer.cs
View file @
f71e0957
...
@@ -270,17 +270,6 @@ namespace MDPro3.Servant
...
@@ -270,17 +270,6 @@ namespace MDPro3.Servant
else
//4
else
//4
back
=
ABLoader
.
LoadFromFile
(
"MasterDuel/Timeline/Summon/SummonMonster/04BackEff/SummonMonster_Bgdve_S2"
,
true
);
back
=
ABLoader
.
LoadFromFile
(
"MasterDuel/Timeline/Summon/SummonMonster/04BackEff/SummonMonster_Bgdve_S2"
,
true
);
back
.
transform
.
SetParent
(
Program
.
instance
.
container_2D
,
false
);
back
.
transform
.
SetParent
(
Program
.
instance
.
container_2D
,
false
);
Transform
eff_flame
=
back
.
transform
.
Find
(
"Eff_Flame"
);
eff_flame
.
localScale
=
new
Vector3
(
2.76f
,
1.55f
,
1f
);
eff_flame
.
gameObject
.
AddComponent
<
AutoScaleOnce
>();
Transform
eff_bg00
=
back
.
transform
.
Find
(
"Eff_Bg00"
);
eff_bg00
.
localScale
=
new
Vector3
(
250f
,
25f
,
1f
);
Transform
flame_re
=
back
.
transform
.
Find
(
"flame_re"
);
if
(
flame_re
==
null
)
flame_re
=
back
.
transform
.
Find
(
"Eff_group/flame_re"
);
if
(
flame_re
==
null
)
flame_re
=
back
.
transform
.
Find
(
"Eff_Flame01_re"
);
flame_re
.
gameObject
.
AddComponent
<
AutoScaleOnce
>();
Destroy
(
back
,
CUTIN_PLAY_TIME
);
Destroy
(
back
,
CUTIN_PLAY_TIME
);
//Name Bar
//Name Bar
...
...
Assets/Scripts/MDPro3/Servant/OcgCore.cs
View file @
f71e0957
...
@@ -2643,7 +2643,8 @@ namespace MDPro3.Servant
...
@@ -2643,7 +2643,8 @@ namespace MDPro3.Servant
var
mono
=
myDeck
.
gameObject
.
AddComponent
<
DoWhenPlayableDirectorStop
>();
var
mono
=
myDeck
.
gameObject
.
AddComponent
<
DoWhenPlayableDirectorStop
>();
mono
.
action
=
()
=>
mono
.
action
=
()
=>
{
{
var
effect
=
ABLoader
.
LoadFromFile
(
"MasterDuel/Timeline/DuelText/DuelTextStart"
,
true
);
//var effect = ABLoader.LoadFromFile("MasterDuel/Timeline/DuelText/DuelTextStart", true);
var
effect
=
Instantiate
(
container
.
duelTextStart
);
var
mono
=
effect
.
AddComponent
<
DoWhenPlayableDirectorStop
>();
var
mono
=
effect
.
AddComponent
<
DoWhenPlayableDirectorStop
>();
mono
.
action
=
()
=>
mono
.
action
=
()
=>
{
{
...
...
Assets/Scripts/MasterDuel/YgomSystem/Effect/SpriteScaler.cs
View file @
f71e0957
using
MDPro3
;
using
System.Collections
;
using
System.Runtime.CompilerServices
;
using
System.Runtime.CompilerServices
;
using
UnityEngine
;
using
UnityEngine
;
...
@@ -49,16 +51,19 @@ namespace YgomSystem.Effect
...
@@ -49,16 +51,19 @@ namespace YgomSystem.Effect
private
bool
applyOnCustomSize
;
private
bool
applyOnCustomSize
;
private
bool
m_ScaleYtoZ
;
private
Vector2
appliedScreenSize
;
private
Vector2
appliedScreenSize
;
public
bool
isApplyOnUpdate
public
bool
isApplyOnUpdate
{
{
get
get
{
{
return
fals
e
;
return
applyOnUpdat
e
;
}
}
set
set
{
{
applyOnUpdate
=
value
;
}
}
}
}
...
@@ -66,7 +71,7 @@ namespace YgomSystem.Effect
...
@@ -66,7 +71,7 @@ namespace YgomSystem.Effect
{
{
get
get
{
{
return
false
;
return
_useDirectSizeSetting
;
}
}
set
set
{
{
...
@@ -77,7 +82,7 @@ namespace YgomSystem.Effect
...
@@ -77,7 +82,7 @@ namespace YgomSystem.Effect
{
{
get
get
{
{
return
default
(
Vector2
)
;
return
_directSizeSetting
;
}
}
set
set
{
{
...
@@ -88,7 +93,7 @@ namespace YgomSystem.Effect
...
@@ -88,7 +93,7 @@ namespace YgomSystem.Effect
{
{
get
get
{
{
return
false
;
return
_changePosition
;
}
}
set
set
{
{
...
@@ -99,7 +104,7 @@ namespace YgomSystem.Effect
...
@@ -99,7 +104,7 @@ namespace YgomSystem.Effect
{
{
get
get
{
{
return
false
;
return
_isUseFixedDepth
;
}
}
set
set
{
{
...
@@ -110,87 +115,187 @@ namespace YgomSystem.Effect
...
@@ -110,87 +115,187 @@ namespace YgomSystem.Effect
{
{
get
get
{
{
return
0f
;
return
_fixedDepth
;
}
}
set
set
{
{
}
}
}
}
public
Camera
viewCamera
public
Camera
viewCamera
{
get
;
private
set
;
}
public
bool
scaleYtoZ
{
{
[
CompilerGenerated
]
get
get
{
{
return
null
;
return
m_ScaleYtoZ
;
}
}
[
CompilerGenerated
]
set
private
set
{
{
}
}
}
}
public
void
SetFitMode
(
FitMode
fitMode
)
public
void
SetFitMode
(
FitMode
fitMode
)
{
{
this
.
fitMode
=
fitMode
;
}
}
public
void
Setup
(
Camera
view_camera
)
public
FitMode
GetFitMode
(
)
{
{
return
fitMode
;
}
}
private
void
Awake
()
public
Sprite
TryGetTargetSprite
()
{
{
Apply
();
if
(
targetSprite
!=
null
)
return
targetSprite
.
sprite
;
return
null
;
}
}
p
ublic
void
Apply
()
p
rivate
void
OnEnable
()
{
{
var
widthScale
=
transform
.
localScale
.
x
;
StartCoroutine
(
SetupAsync
());
var
heightScale
=
transform
.
localScale
.
y
;
var
z
=
transform
.
localScale
.
z
;
if
(
fitMode
==
FitMode
.
FitWidth
)
{
var
x
=
widthScale
*
(
Screen
.
width
*
9f
/
(
Screen
.
height
*
16f
));
transform
.
localScale
=
new
Vector3
(
x
,
heightScale
,
z
);
}
}
else
if
(
fitMode
==
FitMode
.
FitHeight
)
private
IEnumerator
SetupAsync
()
{
{
var
y
=
heightScale
*
(
Screen
.
height
*
16f
/
(
Screen
.
width
*
9f
));
if
(
targetSprite
==
null
)
targetSprite
=
GetComponent
<
SpriteRenderer
>();
transform
.
localScale
=
new
Vector3
(
widthScale
,
y
,
z
);
var
originalColor
=
targetSprite
.
color
;
targetSprite
.
color
=
Color
.
clear
;
// Wait for the next frame to ensure script changes are ready.
yield
return
null
;
targetSprite
.
color
=
originalColor
;
Camera
viewCamera
=
gameObject
.
layer
switch
{
3
=>
Program
.
instance
.
camera_
.
camera2D
,
16
=>
Program
.
instance
.
camera_
.
cameraDuelOverlay3D
,
17
=>
Program
.
instance
.
camera_
.
cameraDuelOverlayEffect3D
,
18
=>
Program
.
instance
.
camera_
.
cameraDuelOverlay2D
,
19
=>
Program
.
instance
.
camera_
.
cameraDuelOverlayEffect2D
,
_
=>
Program
.
instance
.
camera_
.
cameraMain
,
};
Setup
(
viewCamera
);
}
}
else
if
(
fitMode
==
FitMode
.
FitWidthMaintainAspectRatio
)
{
public
void
Setup
(
Camera
view_camera
)
if
(
name
==
"SpliteDummy"
||
name
==
"White"
)
{
{
var
x
=
widthScale
*
(
Screen
.
width
*
9f
/
(
Screen
.
height
*
16f
))
;
viewCamera
=
view_camera
;
transform
.
localScale
=
new
Vector3
(
x
,
heightScale
*
x
/
widthScale
,
z
);
Apply
(
);
}
}
else
if
(
name
==
"Black"
)
public
void
Apply
()
{
{
widthScale
=
15f
*
(
Screen
.
width
*
9f
/
(
Screen
.
height
*
16f
));
if
(
viewCamera
==
null
)
transform
.
localScale
=
new
Vector3
(
widthScale
,
widthScale
,
z
);
return
;
}
}
if
(
_changePosition
)
else
if
(
fitMode
==
FitMode
.
FitHeightMaintainAspectRatio
)
transform
.
position
=
viewCamera
.
ViewportToWorldPoint
(
new
Vector3
(
0.5f
,
0.5f
,
_fixedDepth
));
//float depth = _isUseFixedDepth ? _fixedDepth : viewCamera.WorldToScreenPoint(transform.position).z;
float
depth
=
viewCamera
.
WorldToScreenPoint
(
transform
.
position
).
z
;
float
screenWidth
;
float
screenHeight
;
if
(
viewCamera
.
orthographic
)
{
{
Debug
.
Log
(
"mark: FitMode.FitHeightMaintainAspectRatio"
);
Vector3
bottomLeft
=
viewCamera
.
ViewportToWorldPoint
(
new
Vector3
(
0
,
0
,
depth
));
//heightScale = 6f;
Vector3
topRight
=
viewCamera
.
ViewportToWorldPoint
(
new
Vector3
(
1
,
1
,
depth
));
//transform.localScale = new Vector3(heightScale, heightScale, z);
screenWidth
=
topRight
.
x
-
bottomLeft
.
x
;
screenHeight
=
topRight
.
y
-
bottomLeft
.
y
;
}
}
else
if
(
fitMode
==
FitMode
.
FitWidthHeight
)
else
{
{
var
x
=
heightScale
*
Screen
.
width
/
Screen
.
height
;
float
halfFOV
=
viewCamera
.
fieldOfView
*
0.5f
*
Mathf
.
Deg2Rad
;
transform
.
localScale
=
new
Vector3
(
x
*
1.1f
,
heightScale
,
z
);
screenHeight
=
2f
*
depth
*
Mathf
.
Tan
(
halfFOV
);
if
(
transform
.
parent
!=
null
&&
transform
.
parent
.
name
.
StartsWith
(
"Ef04678"
))
screenWidth
=
screenHeight
*
viewCamera
.
aspect
;
transform
.
localScale
=
new
Vector3
(
x
*
2f
,
heightScale
*
2f
,
z
);
}
}
Apply
(
screenWidth
,
screenHeight
);
}
}
public
void
Apply
(
float
screenWidth
,
float
screenHeight
)
public
void
Apply
(
float
screenWidth
,
float
screenHeight
)
{
{
if
(
isApplied
&&
appliedScreenSize
.
x
==
screenWidth
&&
appliedScreenSize
.
y
==
screenHeight
)
return
;
if
(
targetSprite
==
null
)
targetSprite
=
GetComponent
<
SpriteRenderer
>();
if
(
targetMask
==
null
)
targetMask
=
GetComponent
<
SpriteMask
>();
Sprite
sprite
=
TryGetTargetSprite
();
if
(
sprite
==
null
)
return
;
Vector2
spriteSize
=
sprite
.
rect
.
size
/
sprite
.
pixelsPerUnit
;
Vector2
targetSize
=
Vector2
.
zero
;
if
(
_useDirectSizeSetting
)
{
targetSize
=
_directSizeSetting
;
}
else
{
switch
(
fitMode
)
{
case
FitMode
.
None
:
targetSize
=
spriteSize
;
break
;
case
FitMode
.
FitWidth
:
targetSize
=
new
Vector2
(
screenWidth
,
spriteSize
.
y
);
break
;
case
FitMode
.
FitHeight
:
targetSize
=
new
Vector2
(
spriteSize
.
x
,
screenHeight
);
break
;
case
FitMode
.
FitWidthMaintainAspectRatio
:
float
widthScale
=
screenWidth
/
spriteSize
.
x
;
targetSize
=
spriteSize
*
widthScale
;
break
;
case
FitMode
.
FitHeightMaintainAspectRatio
:
float
heightScale
=
screenHeight
/
spriteSize
.
y
;
targetSize
=
spriteSize
*
heightScale
;
break
;
case
FitMode
.
FitWidthHeight
:
targetSize
=
new
Vector2
(
screenWidth
,
screenHeight
);
break
;
case
FitMode
.
FitHighestResolutionMaintainAspectRatio
:
float
maxScale
=
Mathf
.
Max
(
screenWidth
/
spriteSize
.
x
,
screenHeight
/
spriteSize
.
y
);
targetSize
=
spriteSize
*
maxScale
;
break
;
case
FitMode
.
FitLowestResolutionMaintainAspectRatio
:
float
minScale
=
Mathf
.
Min
(
screenWidth
/
spriteSize
.
x
,
screenHeight
/
spriteSize
.
y
);
targetSize
=
spriteSize
*
minScale
;
break
;
default
:
targetSize
=
spriteSize
;
break
;
}
}
Vector3
newScale
=
new
(
targetSize
.
x
/
spriteSize
.
x
,
targetSize
.
y
/
spriteSize
.
y
,
1f
);
newScale
+=
offsetScale
;
if
(
m_ScaleYtoZ
)
newScale
.
z
=
newScale
.
y
;
transform
.
localScale
=
newScale
;
isApplied
=
true
;
appliedScreenSize
=
new
Vector2
(
screenWidth
,
screenHeight
);
Debug
.
Log
(
$"SpriteScaler applied:
{
gameObject
.
name
}
, Camera:
{
viewCamera
}
, Mode:
{
fitMode
}
, Scale:
{
transform
.
localScale
}
, Screen Size:
{
appliedScreenSize
}
"
);
}
}
public
void
Reapply
()
public
void
Reapply
()
{
{
isApplied
=
false
;
Apply
();
}
}
private
void
OnDestroy
()
private
void
OnDestroy
()
...
@@ -199,6 +304,8 @@ namespace YgomSystem.Effect
...
@@ -199,6 +304,8 @@ namespace YgomSystem.Effect
private
void
Update
()
private
void
Update
()
{
{
if
(
applyOnUpdate
&&
viewCamera
!=
null
)
Apply
();
}
}
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment