Skip to content

Commit 9ced1f9

Browse files
committed
- add
1 parent c7a9ef1 commit 9ced1f9

21 files changed

+2420
-6
lines changed

README.md

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,29 @@
1+
<p align="left">
2+
<a>
3+
<img alt="Made With Unity" src="https://img.shields.io/badge/made%20with-Unity-57b9d3.svg?logo=Unity">
4+
</a>
5+
<a>
6+
<img alt="License" src="https://img.shields.io/github/license/wolf-package/extensions-unity?logo=github">
7+
</a>
8+
<a>
9+
<img alt="Last Commit" src="https://img.shields.io/github/last-commit/wolf-package/extensions-unity?logo=Mapbox&color=orange">
10+
</a>
11+
<a>
12+
<img alt="Repo Size" src="https://img.shields.io/github/repo-size/wolf-package/extensions-unity?logo=VirtualBox">
13+
</a>
14+
<a>
15+
<img alt="Last Release" src="https://img.shields.io/github/v/release/wolf-package/extensions-unity?include_prereleases&logo=Dropbox&color=yellow">
16+
</a>
17+
</p>
18+
19+
## What
20+
- Some extensions for game unity
21+
122
## How To Install
223

324
### Add the line below to `Packages/manifest.json`
425

5-
for version `x.x.x`
26+
for version `1.0.0`
627
```csharp
7-
"com.virtuesky._package_name_":"https://github.com/VirtueSky/_package_name_.git#x.x.x",
28+
"com.wolf-package.extensions":"https://github.com/wolf-package/extensions-unity.git#1.0.0",
829
```

Runtime.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Runtime/Common.Animancer.cs

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
using System;
2+
3+
#if VIRTUESKY_ANIMANCER
4+
using Animancer;
5+
6+
namespace VirtueSky.Misc
7+
{
8+
public static partial class Common
9+
{
10+
public static AnimancerComponent PlayClip(this AnimancerComponent animancerComponent, ClipTransition clip,
11+
Action _endAnim = null, float _durationFade = .2f, bool isCheckPlayingClip = true,
12+
FadeMode mode = default)
13+
{
14+
if (isCheckPlayingClip)
15+
{
16+
if (!animancerComponent.IsPlaying(clip))
17+
{
18+
Handle();
19+
}
20+
}
21+
else
22+
{
23+
Handle();
24+
}
25+
26+
void Handle()
27+
{
28+
var state = animancerComponent.Play(clip, clip.Clip.length * _durationFade, mode);
29+
if (_endAnim != null)
30+
{
31+
state.Events.OnEnd += OnEndAnim;
32+
33+
void OnEndAnim()
34+
{
35+
state.Events.OnEnd -= OnEndAnim;
36+
_endAnim?.Invoke();
37+
}
38+
}
39+
}
40+
41+
return animancerComponent;
42+
}
43+
44+
// Freeze a single animation on its current frame:
45+
public static AnimancerComponent PauseClip(this AnimancerComponent animancerComponent, ClipTransition clip)
46+
{
47+
animancerComponent.States[clip].IsPlaying = false;
48+
return animancerComponent;
49+
}
50+
51+
// Freeze all animations on their current frame:
52+
public static AnimancerComponent PauseAll(this AnimancerComponent animancerComponent)
53+
{
54+
animancerComponent.Playable.PauseGraph();
55+
return animancerComponent;
56+
}
57+
58+
// Stop a single animation from affecting the character and rewind it to the start:
59+
public static AnimancerComponent StopClip(this AnimancerComponent animancerComponent, ClipTransition clip)
60+
{
61+
animancerComponent.Stop(clip);
62+
63+
// Or you can call it on the state directly:
64+
var state = animancerComponent.States[clip];
65+
state.Stop();
66+
return animancerComponent;
67+
}
68+
69+
// Stop all animations from affecting the character and rewind them to the start:
70+
public static AnimancerComponent StopAll(this AnimancerComponent animancerComponent)
71+
{
72+
animancerComponent.Stop();
73+
return animancerComponent;
74+
}
75+
}
76+
}
77+
#endif

Runtime/Common.Animancer.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Runtime/Common.Colors.cs

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
using UnityEngine;
2+
using UnityEngine.UI;
3+
4+
namespace VirtueSky.Misc
5+
{
6+
public partial class Common
7+
{
8+
public static Color SetAlpha(this Color color, float a)
9+
{
10+
color.a = a;
11+
return color;
12+
}
13+
14+
public static Color SetRed(this Color color, float r)
15+
{
16+
color.r = r;
17+
return color;
18+
}
19+
20+
public static Color SetGreen(this Color color, float g)
21+
{
22+
color.g = g;
23+
return color;
24+
}
25+
26+
public static Color SetBlue(this Color color, float b)
27+
{
28+
color.b = b;
29+
return color;
30+
}
31+
32+
public static Graphic SetAlpha(this Graphic graphic, float a)
33+
{
34+
var colorCache = graphic.color;
35+
colorCache.a = a;
36+
graphic.color = colorCache;
37+
return graphic;
38+
}
39+
40+
public static Graphic SetRed(this Graphic graphic, float r)
41+
{
42+
var colorCache = graphic.color;
43+
colorCache.r = r;
44+
graphic.color = colorCache;
45+
return graphic;
46+
}
47+
48+
public static Graphic SetGreen(this Graphic graphic, float g)
49+
{
50+
var colorCache = graphic.color;
51+
colorCache.g = g;
52+
graphic.color = colorCache;
53+
return graphic;
54+
}
55+
56+
public static Graphic SetBlue(this Graphic graphic, float b)
57+
{
58+
var colorCache = graphic.color;
59+
colorCache.b = b;
60+
graphic.color = colorCache;
61+
return graphic;
62+
}
63+
64+
public static SpriteRenderer SetAlpha(this SpriteRenderer renderer, float a)
65+
{
66+
var colorCache = renderer.color;
67+
colorCache.a = a;
68+
renderer.color = colorCache;
69+
return renderer;
70+
}
71+
72+
public static SpriteRenderer SetRed(this SpriteRenderer renderer, float r)
73+
{
74+
var colorCache = renderer.color;
75+
colorCache.r = r;
76+
renderer.color = colorCache;
77+
return renderer;
78+
}
79+
80+
public static SpriteRenderer SetGreen(this SpriteRenderer renderer, float g)
81+
{
82+
var colorCache = renderer.color;
83+
colorCache.g = g;
84+
renderer.color = colorCache;
85+
return renderer;
86+
}
87+
88+
public static SpriteRenderer SetBlue(this SpriteRenderer renderer, float b)
89+
{
90+
var colorCache = renderer.color;
91+
colorCache.b = b;
92+
renderer.color = colorCache;
93+
return renderer;
94+
}
95+
}
96+
}

Runtime/Common.Colors.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Runtime/Common.Physics.cs

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
using System.Collections.Generic;
2+
using UnityEngine;
3+
4+
5+
namespace VirtueSky.Misc
6+
{
7+
public static partial class Common
8+
{
9+
#region IgnoreCollision
10+
11+
public static void IgnoreCollision(List<Collider> _listCollider, Collider _collider)
12+
{
13+
_listCollider.ForEach(col => { Physics.IgnoreCollision(col, _collider); });
14+
}
15+
16+
public static void IgnoreCollision(Collider _collider, List<Collider> _listCollider)
17+
{
18+
_listCollider.ForEach(col => { Physics.IgnoreCollision(col, _collider); });
19+
}
20+
21+
public static void IgnoreCollision(List<Collider> _listCollider1, List<Collider> _listCollider2)
22+
{
23+
foreach (var VARIABLE1 in _listCollider1)
24+
{
25+
foreach (var VARIABLE2 in _listCollider2)
26+
{
27+
Physics.IgnoreCollision(VARIABLE1, VARIABLE2);
28+
}
29+
}
30+
}
31+
32+
public static void IgnoreCollision2D(List<Collider2D> _listCollider, Collider2D _collider)
33+
{
34+
foreach (var VARIABLE in _listCollider)
35+
{
36+
Physics2D.IgnoreCollision(VARIABLE, _collider);
37+
}
38+
}
39+
40+
public static void IgnoreCollision2D(Collider2D _collider, List<Collider2D> _listCollider)
41+
{
42+
foreach (var VARIABLE in _listCollider)
43+
{
44+
Physics2D.IgnoreCollision(VARIABLE, _collider);
45+
}
46+
}
47+
48+
public static void IgnoreCollision2D(List<Collider2D> _listCollider1, List<Collider2D> _listCollider2)
49+
{
50+
foreach (var VARIABLE1 in _listCollider1)
51+
{
52+
foreach (var VARIABLE2 in _listCollider2)
53+
{
54+
Physics2D.IgnoreCollision(VARIABLE1, VARIABLE2);
55+
}
56+
}
57+
}
58+
59+
#endregion
60+
}
61+
}

Runtime/Common.Physics.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)