diff --git a/Editor/BuildingUtils.cs b/Editor/BuildingUtils.cs
index 7dca265..b2acc8d 100644
--- a/Editor/BuildingUtils.cs
+++ b/Editor/BuildingUtils.cs
@@ -1,13 +1,45 @@
using System.Diagnostics;
+using System.Linq;
using UnityEngine;
using UnityEditor;
+using UnityEditor.Build.Player;
using Debug = UnityEngine.Debug;
public static class BuildingUtils
{
+ private const string SteamBuildDefine = "STEAM_BUILD";
+
+ [MenuItem("Tools/PrepareForBuild", priority = -10)]
+ public static void PrepareForBuild()
+ {
+ var namedBuildTarget = UnityEditor.Build.NamedBuildTarget.FromBuildTargetGroup(
+ BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget));
+ var args = PlayerSettings.GetAdditionalCompilerArguments(namedBuildTarget);
+ var argsList = args.ToList();
+ argsList.Remove(SteamBuildDefine);
+ PlayerSettings.SetScriptingDefineSymbols(namedBuildTarget, argsList.ToArray());
+ }
+
+ [MenuItem("Tools/PlatformDefines/Steam", priority = -1)]
+ public static void SetDefinesForSteam()
+ {
+ PrepareForBuild();
+
+ var namedBuildTarget = UnityEditor.Build.NamedBuildTarget.FromBuildTargetGroup(
+ BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget));
+ var args = PlayerSettings.GetAdditionalCompilerArguments(namedBuildTarget);
+ var argsList = args.ToList();
+ argsList.Add(SteamBuildDefine);
+ PlayerSettings.SetScriptingDefineSymbols(namedBuildTarget, argsList.ToArray());
+ }
+
+
[MenuItem("Tools/Build/Steam/Release")]
public static void SteamRelease()
{
+ if(!CanBuild())
+ return;
+
IncreaseBuildNumber();
BuildRelease();
UploadSteam();
@@ -16,6 +48,9 @@ public static class BuildingUtils
[MenuItem("Tools/Build/Steam/Development")]
public static void SteamDevelopment()
{
+ if(!CanBuild())
+ return;
+
IncreaseBuildNumber();
BuildDevelopment();
UploadSteam();
@@ -25,21 +60,54 @@ public static class BuildingUtils
[MenuItem("Tools/Build/All Release")]
public static void BuildRelease()
{
+ if(!CanBuild())
+ return;
BuildWindowsRelease();
}
[MenuItem("Tools/Build/All Development")]
public static void BuildDevelopment()
{
+ if(!CanBuild())
+ return;
BuildWindowsDevelopment();
}
[MenuItem("Tools/Build/Platform/Windows/x64-Development")]
- public static void BuildWindowsDevelopment() => BuildWindows(false);
+ public static void BuildWindowsDevelopment()
+ {
+ if(!CanBuild())
+ return;
+ BuildWindows(false);
+ }
[MenuItem("Tools/Build/Platform/Windows/x64-Release")]
- public static void BuildWindowsRelease() => BuildWindows(true);
+ public static void BuildWindowsRelease()
+ {
+ if(!CanBuild())
+ return;
+ BuildWindows(true);
+ }
+ [MenuItem("Tools/Build/Platform/Android/GooglePlay")]
+ public static void BuildGooglePlay()
+ {
+ IncreaseBuildNumber();
+ PlayerSettings.Android.bundleVersionCode++;
+ EditorUserBuildSettings.buildAppBundle = true;
+
+ var buildPlayerOptions = new BuildPlayerOptions { scenes = new string[EditorBuildSettings.scenes.Length] };
+ for (int i = 0; i < EditorBuildSettings.scenes.Length; i++)
+ {
+ buildPlayerOptions.scenes[i] = EditorBuildSettings.scenes[i].path;
+ }
+
+ buildPlayerOptions.target = BuildTarget.Android;
+ buildPlayerOptions.options = BuildOptions.None;
+ buildPlayerOptions.locationPathName = Application.dataPath +
+ $"/../../{Application.productName}-GooglePlay/{Application.productName}.aab";
+ BuildPipeline.BuildPlayer(buildPlayerOptions);
+ }
private static void BuildWindows(bool release)
{
@@ -81,4 +149,25 @@ public static class BuildingUtils
Debug.Log(process.ExitCode);
process.Close();
}
+
+ private static bool CanBuild()
+ {
+ if (CanBuildUtil())
+ return true;
+ Debug.LogError("Cannot build with defines set in project, please use PrepareForBuild and wait for scripts recompilation");
+ return false;
+ }
+
+ private static bool CanBuildUtil()
+ {
+ var namedBuildTarget = UnityEditor.Build.NamedBuildTarget.FromBuildTargetGroup(
+ BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget));
+ var args = PlayerSettings.GetAdditionalCompilerArguments(namedBuildTarget);
+ var argsList = args.ToList();
+
+ if (argsList.Contains(SteamBuildDefine))
+ return false;
+
+ return true;
+ }
}
\ No newline at end of file
diff --git a/Editor/ToolsWindowBase.cs b/Editor/ToolsWindowBase.cs
index d200732..de000ad 100644
--- a/Editor/ToolsWindowBase.cs
+++ b/Editor/ToolsWindowBase.cs
@@ -34,14 +34,21 @@ namespace NegUtils.Editor
EditorPrefs.SetBool("StartFromSceneIndex0", newVal);
}
- if (startFromSceneIndex0)
+ if (!startFromSceneIndex0)
+ return;
+
+ bool goToCurrentScene = EditorPrefs.GetBool("GoToCurrentSceneAfterPlay");
+ newVal = GUILayout.Toggle(goToCurrentScene, "Go to current scene after play");
+ if (newVal != goToCurrentScene)
{
- bool goToCurrentScene = EditorPrefs.GetBool("GoToCurrentSceneAfterPlay");
- newVal = GUILayout.Toggle(goToCurrentScene, "Go to current scene after play");
- if (newVal != goToCurrentScene)
- {
- EditorPrefs.SetBool("GoToCurrentSceneAfterPlay", newVal);
- }
+ EditorPrefs.SetBool("GoToCurrentSceneAfterPlay", newVal);
+ }
+
+ bool goToFirstScene = EditorPrefs.GetBool("GoToFirstSceneAfterPlay");
+ newVal = GUILayout.Toggle(goToFirstScene, "Go to scene with index 1 after play");
+ if (newVal != goToFirstScene)
+ {
+ EditorPrefs.SetBool("GoToFirstSceneAfterPlay", newVal);
}
}
@@ -90,7 +97,7 @@ namespace NegUtils.Editor
if (EditorPrefs.GetBool("GoToCurrentSceneAfterPlay"))
EditorSceneManager.LoadSceneInPlayMode(EditorPrefs.GetString("LastOpenedScenePath"),
new LoadSceneParameters(LoadSceneMode.Single));
- else
+ else if (EditorPrefs.GetBool("GoToFirstSceneAfterPlay"))
SceneManager.LoadScene(1);
}
break;
diff --git a/NEG/UI/Popup/PopupData.cs b/NEG/UI/Popup/PopupData.cs
index 6bf528a..9aa2462 100644
--- a/NEG/UI/Popup/PopupData.cs
+++ b/NEG/UI/Popup/PopupData.cs
@@ -45,6 +45,10 @@ namespace NEG.UI.Popup
///
/// Invalidate popup, will automatically skip this popup
///
- public virtual void Invalidate() => IsValid = false;
+ public virtual void Invalidate()
+ {
+ IsValid = false;
+ UiManager.Instance.RefreshPopups();
+ }
}
}
\ No newline at end of file
diff --git a/NEG/UI/UiManager.cs b/NEG/UI/UiManager.cs
index f145012..7348c9e 100644
--- a/NEG/UI/UiManager.cs
+++ b/NEG/UI/UiManager.cs
@@ -35,6 +35,8 @@ namespace NEG.UI
///
public IWindow CurrentMainWindow { get; protected set; }
+ public PopupData CurrentPopup => currentShownPopup.data;
+
private IArea currentArea;
private (PopupData data, int priority) currentShownPopup;
protected IDefaultPopup currentDefaultPopup;
@@ -122,6 +124,13 @@ namespace NEG.UI
popupsToShow.Enqueue(data, priority);
UpdatePopupsState(forceShow, priority, data);
}
+
+ public void RefreshPopups()
+ {
+ if(currentShownPopup.data is { IsValid: true })
+ return;
+ UpdatePopupsState(false);
+ }
protected void PopupClosed(PopupData data)
{
@@ -146,11 +155,17 @@ namespace NEG.UI
ShowPopup(data, priority);
return;
}
-
- if(!popupsToShow.TryDequeue(out var d, out int p))
- return;
- ShowPopup(d, p);
+ while (popupsToShow.TryDequeue(out var d, out int p))
+ {
+ if(!d.IsValid)
+ continue;
+ ShowPopup(d, p);
+ return;
+ }
+
+ currentShownPopup.data?.Hide();
+ currentShownPopup.data = null;
}
private void ShowPopup(PopupData data, int priority)
diff --git a/NEG/UI/UnityUi/Buttons/ButtonReaction.cs b/NEG/UI/UnityUi/Buttons/ButtonReaction.cs
index 9e8bf17..1f30b1d 100644
--- a/NEG/UI/UnityUi/Buttons/ButtonReaction.cs
+++ b/NEG/UI/UnityUi/Buttons/ButtonReaction.cs
@@ -6,9 +6,9 @@ namespace NEG.UI.UnityUi.Buttons
[RequireComponent(typeof(BaseButton))]
public abstract class ButtonReaction : MonoBehaviour
{
- private void Awake() => GetComponent().OnButtonPressed += OnClicked;
+ protected virtual void Awake() => GetComponent().OnButtonPressed += OnClicked;
- private void OnDestroy() => GetComponent().OnButtonPressed -= OnClicked;
+ protected virtual void OnDestroy() => GetComponent().OnButtonPressed -= OnClicked;
protected abstract void OnClicked();
}
diff --git a/NEG/UI/UnityUi/CarouselList/CarouselList.cs b/NEG/UI/UnityUi/CarouselList/CarouselList.cs
index 97760de..e787ed1 100644
--- a/NEG/UI/UnityUi/CarouselList/CarouselList.cs
+++ b/NEG/UI/UnityUi/CarouselList/CarouselList.cs
@@ -11,6 +11,7 @@ namespace NEG.UI.UnityUi
[PublicAPI]
public class CarouselList : MonoBehaviour
{
+ public event Action OnSelectedItemChanged;
///
/// Current option
///
@@ -54,6 +55,7 @@ namespace NEG.UI.UnityUi
CurrentOptionId = option;
CurrentOption = options[option];
currentOptionText.text = CurrentOption;
+ OnSelectedItemChanged?.Invoke(CurrentOptionId);
}
///
diff --git a/NEG/UI/UnityUi/Editor.meta b/NEG/UI/UnityUi/Editor.meta
index 3368917..946dc6e 100644
--- a/NEG/UI/UnityUi/Editor.meta
+++ b/NEG/UI/UnityUi/Editor.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: ffc2c67f6a714d441aa9dfd425e5937e
+guid: caeb30c40f1a46041b0ad218cb94902d
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/NEG/UI/UnityUi/Editor/NEG.UI.UnityUi.Editor.asmdef b/NEG/UI/UnityUi/Editor/NEG.UI.UnityUi.Editor.asmdef
index e75674d..538cc41 100644
--- a/NEG/UI/UnityUi/Editor/NEG.UI.UnityUi.Editor.asmdef
+++ b/NEG/UI/UnityUi/Editor/NEG.UI.UnityUi.Editor.asmdef
@@ -10,7 +10,9 @@
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
- "precompiledReferences": [],
+ "precompiledReferences": [
+ ""
+ ],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
diff --git a/NEG/UI/UnityUi/Editor/NEG.UI.UnityUi.Editor.asmdef.meta b/NEG/UI/UnityUi/Editor/NEG.UI.UnityUi.Editor.asmdef.meta
index 3960400..4f9f09d 100644
--- a/NEG/UI/UnityUi/Editor/NEG.UI.UnityUi.Editor.asmdef.meta
+++ b/NEG/UI/UnityUi/Editor/NEG.UI.UnityUi.Editor.asmdef.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: d7c723fd6c577334eb3ec43fa26c4a23
+guid: f8cf2e6d12f27fb47a577cb5a7537ccf
AssemblyDefinitionImporter:
externalObjects: {}
userData:
diff --git a/NEG/UI/UnityUi/MonoUiManager.cs b/NEG/UI/UnityUi/MonoUiManager.cs
index 2dd98ba..13bf73b 100644
--- a/NEG/UI/UnityUi/MonoUiManager.cs
+++ b/NEG/UI/UnityUi/MonoUiManager.cs
@@ -27,6 +27,8 @@ namespace NEG.UI.UnityUi
public KeyBasedFactory BehavioursFactory { get; private set; }
+ //TODO: editor to auto add slots, buttons
+
private readonly MonoDefaultPopup defaultPopupPrefab;
private readonly GameObject canvasPrefab;
diff --git a/NEG/UI/UnityUi/Window/MonoWindow.cs b/NEG/UI/UnityUi/Window/MonoWindow.cs
index c460b5a..f37bc89 100644
--- a/NEG/UI/UnityUi/Window/MonoWindow.cs
+++ b/NEG/UI/UnityUi/Window/MonoWindow.cs
@@ -42,6 +42,8 @@ namespace NEG.UI.UnityUi.Window
gameObject.SetActive(false);
Parent = null;
((ISlotsHolder)this).CloseAllWindows();
+ if(controller != null)
+ controller.OnClosed();
}
private void Awake() => ((IWindow)this).SetClosedState();
diff --git a/NEG/UI/UnityUi/Window/WindowController.cs b/NEG/UI/UnityUi/Window/WindowController.cs
index 8e07abb..6451e30 100644
--- a/NEG/UI/UnityUi/Window/WindowController.cs
+++ b/NEG/UI/UnityUi/Window/WindowController.cs
@@ -11,7 +11,9 @@ namespace NEG.UI.UnityUi.Window
public abstract void SetData(object data);
- public abstract void OnOpened();
+ public virtual void OnOpened() { }
+
+ public virtual void OnClosed() { }
protected virtual void Awake() => window = GetComponent();
}
diff --git a/NEG/UI/UnityUi/WindowSlot/MonoWindowSlot.cs b/NEG/UI/UnityUi/WindowSlot/MonoWindowSlot.cs
index 03e6b55..9c1a910 100644
--- a/NEG/UI/UnityUi/WindowSlot/MonoWindowSlot.cs
+++ b/NEG/UI/UnityUi/WindowSlot/MonoWindowSlot.cs
@@ -1,6 +1,7 @@
using NEG.UI.Area;
using NEG.UI.Window;
using NEG.UI.WindowSlot;
+using System;
using UnityEngine;
using TNRD;
diff --git a/VectorSwizzle.cs b/VectorSwizzle.cs
new file mode 100644
index 0000000..00eb443
--- /dev/null
+++ b/VectorSwizzle.cs
@@ -0,0 +1,587 @@
+using UnityEngine;
+
+namespace NEG.Utils
+{
+
+ /*
+* Vector Swizzle Extensions by Tyler Glaiel
+* Version 1.0
+*/
+
+ public static class Vector2Swizzles
+ {
+ //swizzles of size 2
+ public static Vector2 xx(this Vector2 a) { return new Vector2(a.x, a.x); }
+ public static Vector2 yx(this Vector2 a) { return new Vector2(a.y, a.x); }
+ public static Vector2 xy(this Vector2 a) { return new Vector2(a.x, a.y); }
+
+ public static Vector2 yy(this Vector2 a) { return new Vector2(a.y, a.y); }
+
+ //swizzles of size 3
+ public static Vector3 xxx(this Vector2 a) { return new Vector3(a.x, a.x, a.x); }
+ public static Vector3 yxx(this Vector2 a) { return new Vector3(a.y, a.x, a.x); }
+ public static Vector3 xyx(this Vector2 a) { return new Vector3(a.x, a.y, a.x); }
+ public static Vector3 yyx(this Vector2 a) { return new Vector3(a.y, a.y, a.x); }
+ public static Vector3 xxy(this Vector2 a) { return new Vector3(a.x, a.x, a.y); }
+ public static Vector3 yxy(this Vector2 a) { return new Vector3(a.y, a.x, a.y); }
+ public static Vector3 xyy(this Vector2 a) { return new Vector3(a.x, a.y, a.y); }
+
+ public static Vector3 yyy(this Vector2 a) { return new Vector3(a.y, a.y, a.y); }
+
+ //swizzles of size 4
+ public static Vector4 xxxx(this Vector2 a) { return new Vector4(a.x, a.x, a.x, a.x); }
+ public static Vector4 yxxx(this Vector2 a) { return new Vector4(a.y, a.x, a.x, a.x); }
+ public static Vector4 xyxx(this Vector2 a) { return new Vector4(a.x, a.y, a.x, a.x); }
+ public static Vector4 yyxx(this Vector2 a) { return new Vector4(a.y, a.y, a.x, a.x); }
+ public static Vector4 xxyx(this Vector2 a) { return new Vector4(a.x, a.x, a.y, a.x); }
+ public static Vector4 yxyx(this Vector2 a) { return new Vector4(a.y, a.x, a.y, a.x); }
+ public static Vector4 xyyx(this Vector2 a) { return new Vector4(a.x, a.y, a.y, a.x); }
+ public static Vector4 yyyx(this Vector2 a) { return new Vector4(a.y, a.y, a.y, a.x); }
+ public static Vector4 xxxy(this Vector2 a) { return new Vector4(a.x, a.x, a.x, a.y); }
+ public static Vector4 yxxy(this Vector2 a) { return new Vector4(a.y, a.x, a.x, a.y); }
+ public static Vector4 xyxy(this Vector2 a) { return new Vector4(a.x, a.y, a.x, a.y); }
+ public static Vector4 yyxy(this Vector2 a) { return new Vector4(a.y, a.y, a.x, a.y); }
+ public static Vector4 xxyy(this Vector2 a) { return new Vector4(a.x, a.x, a.y, a.y); }
+ public static Vector4 yxyy(this Vector2 a) { return new Vector4(a.y, a.x, a.y, a.y); }
+ public static Vector4 xyyy(this Vector2 a) { return new Vector4(a.x, a.y, a.y, a.y); }
+ public static Vector4 yyyy(this Vector2 a) { return new Vector4(a.y, a.y, a.y, a.y); }
+ }
+
+ public static class Vector3Swizzles
+ {
+ //swizzles of size 2
+ public static Vector2 xx(this Vector3 a) { return new Vector2(a.x, a.x); }
+ public static Vector2 yx(this Vector3 a) { return new Vector2(a.y, a.x); }
+ public static Vector2 zx(this Vector3 a) { return new Vector2(a.z, a.x); }
+ public static Vector2 xy(this Vector3 a) { return new Vector2(a.x, a.y); }
+ public static Vector2 yy(this Vector3 a) { return new Vector2(a.y, a.y); }
+ public static Vector2 zy(this Vector3 a) { return new Vector2(a.z, a.y); }
+ public static Vector2 xz(this Vector3 a) { return new Vector2(a.x, a.z); }
+ public static Vector2 yz(this Vector3 a) { return new Vector2(a.y, a.z); }
+
+ public static Vector2 zz(this Vector3 a) { return new Vector2(a.z, a.z); }
+
+ //swizzles of size 3
+ public static Vector3 xxx(this Vector3 a) { return new Vector3(a.x, a.x, a.x); }
+ public static Vector3 yxx(this Vector3 a) { return new Vector3(a.y, a.x, a.x); }
+ public static Vector3 zxx(this Vector3 a) { return new Vector3(a.z, a.x, a.x); }
+ public static Vector3 xyx(this Vector3 a) { return new Vector3(a.x, a.y, a.x); }
+ public static Vector3 yyx(this Vector3 a) { return new Vector3(a.y, a.y, a.x); }
+ public static Vector3 zyx(this Vector3 a) { return new Vector3(a.z, a.y, a.x); }
+ public static Vector3 xzx(this Vector3 a) { return new Vector3(a.x, a.z, a.x); }
+ public static Vector3 yzx(this Vector3 a) { return new Vector3(a.y, a.z, a.x); }
+ public static Vector3 zzx(this Vector3 a) { return new Vector3(a.z, a.z, a.x); }
+ public static Vector3 xxy(this Vector3 a) { return new Vector3(a.x, a.x, a.y); }
+ public static Vector3 yxy(this Vector3 a) { return new Vector3(a.y, a.x, a.y); }
+ public static Vector3 zxy(this Vector3 a) { return new Vector3(a.z, a.x, a.y); }
+ public static Vector3 xyy(this Vector3 a) { return new Vector3(a.x, a.y, a.y); }
+ public static Vector3 yyy(this Vector3 a) { return new Vector3(a.y, a.y, a.y); }
+ public static Vector3 zyy(this Vector3 a) { return new Vector3(a.z, a.y, a.y); }
+ public static Vector3 xzy(this Vector3 a) { return new Vector3(a.x, a.z, a.y); }
+ public static Vector3 yzy(this Vector3 a) { return new Vector3(a.y, a.z, a.y); }
+ public static Vector3 zzy(this Vector3 a) { return new Vector3(a.z, a.z, a.y); }
+ public static Vector3 xxz(this Vector3 a) { return new Vector3(a.x, a.x, a.z); }
+ public static Vector3 yxz(this Vector3 a) { return new Vector3(a.y, a.x, a.z); }
+ public static Vector3 zxz(this Vector3 a) { return new Vector3(a.z, a.x, a.z); }
+ public static Vector3 xyz(this Vector3 a) { return new Vector3(a.x, a.y, a.z); }
+ public static Vector3 yyz(this Vector3 a) { return new Vector3(a.y, a.y, a.z); }
+ public static Vector3 zyz(this Vector3 a) { return new Vector3(a.z, a.y, a.z); }
+ public static Vector3 xzz(this Vector3 a) { return new Vector3(a.x, a.z, a.z); }
+ public static Vector3 yzz(this Vector3 a) { return new Vector3(a.y, a.z, a.z); }
+
+ public static Vector3 zzz(this Vector3 a) { return new Vector3(a.z, a.z, a.z); }
+
+ //swizzles of size 4
+ public static Vector4 xxxx(this Vector3 a) { return new Vector4(a.x, a.x, a.x, a.x); }
+ public static Vector4 yxxx(this Vector3 a) { return new Vector4(a.y, a.x, a.x, a.x); }
+ public static Vector4 zxxx(this Vector3 a) { return new Vector4(a.z, a.x, a.x, a.x); }
+ public static Vector4 xyxx(this Vector3 a) { return new Vector4(a.x, a.y, a.x, a.x); }
+ public static Vector4 yyxx(this Vector3 a) { return new Vector4(a.y, a.y, a.x, a.x); }
+ public static Vector4 zyxx(this Vector3 a) { return new Vector4(a.z, a.y, a.x, a.x); }
+ public static Vector4 xzxx(this Vector3 a) { return new Vector4(a.x, a.z, a.x, a.x); }
+ public static Vector4 yzxx(this Vector3 a) { return new Vector4(a.y, a.z, a.x, a.x); }
+ public static Vector4 zzxx(this Vector3 a) { return new Vector4(a.z, a.z, a.x, a.x); }
+ public static Vector4 xxyx(this Vector3 a) { return new Vector4(a.x, a.x, a.y, a.x); }
+ public static Vector4 yxyx(this Vector3 a) { return new Vector4(a.y, a.x, a.y, a.x); }
+ public static Vector4 zxyx(this Vector3 a) { return new Vector4(a.z, a.x, a.y, a.x); }
+ public static Vector4 xyyx(this Vector3 a) { return new Vector4(a.x, a.y, a.y, a.x); }
+ public static Vector4 yyyx(this Vector3 a) { return new Vector4(a.y, a.y, a.y, a.x); }
+ public static Vector4 zyyx(this Vector3 a) { return new Vector4(a.z, a.y, a.y, a.x); }
+ public static Vector4 xzyx(this Vector3 a) { return new Vector4(a.x, a.z, a.y, a.x); }
+ public static Vector4 yzyx(this Vector3 a) { return new Vector4(a.y, a.z, a.y, a.x); }
+ public static Vector4 zzyx(this Vector3 a) { return new Vector4(a.z, a.z, a.y, a.x); }
+ public static Vector4 xxzx(this Vector3 a) { return new Vector4(a.x, a.x, a.z, a.x); }
+ public static Vector4 yxzx(this Vector3 a) { return new Vector4(a.y, a.x, a.z, a.x); }
+ public static Vector4 zxzx(this Vector3 a) { return new Vector4(a.z, a.x, a.z, a.x); }
+ public static Vector4 xyzx(this Vector3 a) { return new Vector4(a.x, a.y, a.z, a.x); }
+ public static Vector4 yyzx(this Vector3 a) { return new Vector4(a.y, a.y, a.z, a.x); }
+ public static Vector4 zyzx(this Vector3 a) { return new Vector4(a.z, a.y, a.z, a.x); }
+ public static Vector4 xzzx(this Vector3 a) { return new Vector4(a.x, a.z, a.z, a.x); }
+ public static Vector4 yzzx(this Vector3 a) { return new Vector4(a.y, a.z, a.z, a.x); }
+ public static Vector4 zzzx(this Vector3 a) { return new Vector4(a.z, a.z, a.z, a.x); }
+ public static Vector4 xxxy(this Vector3 a) { return new Vector4(a.x, a.x, a.x, a.y); }
+ public static Vector4 yxxy(this Vector3 a) { return new Vector4(a.y, a.x, a.x, a.y); }
+ public static Vector4 zxxy(this Vector3 a) { return new Vector4(a.z, a.x, a.x, a.y); }
+ public static Vector4 xyxy(this Vector3 a) { return new Vector4(a.x, a.y, a.x, a.y); }
+ public static Vector4 yyxy(this Vector3 a) { return new Vector4(a.y, a.y, a.x, a.y); }
+ public static Vector4 zyxy(this Vector3 a) { return new Vector4(a.z, a.y, a.x, a.y); }
+ public static Vector4 xzxy(this Vector3 a) { return new Vector4(a.x, a.z, a.x, a.y); }
+ public static Vector4 yzxy(this Vector3 a) { return new Vector4(a.y, a.z, a.x, a.y); }
+ public static Vector4 zzxy(this Vector3 a) { return new Vector4(a.z, a.z, a.x, a.y); }
+ public static Vector4 xxyy(this Vector3 a) { return new Vector4(a.x, a.x, a.y, a.y); }
+ public static Vector4 yxyy(this Vector3 a) { return new Vector4(a.y, a.x, a.y, a.y); }
+ public static Vector4 zxyy(this Vector3 a) { return new Vector4(a.z, a.x, a.y, a.y); }
+ public static Vector4 xyyy(this Vector3 a) { return new Vector4(a.x, a.y, a.y, a.y); }
+ public static Vector4 yyyy(this Vector3 a) { return new Vector4(a.y, a.y, a.y, a.y); }
+ public static Vector4 zyyy(this Vector3 a) { return new Vector4(a.z, a.y, a.y, a.y); }
+ public static Vector4 xzyy(this Vector3 a) { return new Vector4(a.x, a.z, a.y, a.y); }
+ public static Vector4 yzyy(this Vector3 a) { return new Vector4(a.y, a.z, a.y, a.y); }
+ public static Vector4 zzyy(this Vector3 a) { return new Vector4(a.z, a.z, a.y, a.y); }
+ public static Vector4 xxzy(this Vector3 a) { return new Vector4(a.x, a.x, a.z, a.y); }
+ public static Vector4 yxzy(this Vector3 a) { return new Vector4(a.y, a.x, a.z, a.y); }
+ public static Vector4 zxzy(this Vector3 a) { return new Vector4(a.z, a.x, a.z, a.y); }
+ public static Vector4 xyzy(this Vector3 a) { return new Vector4(a.x, a.y, a.z, a.y); }
+ public static Vector4 yyzy(this Vector3 a) { return new Vector4(a.y, a.y, a.z, a.y); }
+ public static Vector4 zyzy(this Vector3 a) { return new Vector4(a.z, a.y, a.z, a.y); }
+ public static Vector4 xzzy(this Vector3 a) { return new Vector4(a.x, a.z, a.z, a.y); }
+ public static Vector4 yzzy(this Vector3 a) { return new Vector4(a.y, a.z, a.z, a.y); }
+ public static Vector4 zzzy(this Vector3 a) { return new Vector4(a.z, a.z, a.z, a.y); }
+ public static Vector4 xxxz(this Vector3 a) { return new Vector4(a.x, a.x, a.x, a.z); }
+ public static Vector4 yxxz(this Vector3 a) { return new Vector4(a.y, a.x, a.x, a.z); }
+ public static Vector4 zxxz(this Vector3 a) { return new Vector4(a.z, a.x, a.x, a.z); }
+ public static Vector4 xyxz(this Vector3 a) { return new Vector4(a.x, a.y, a.x, a.z); }
+ public static Vector4 yyxz(this Vector3 a) { return new Vector4(a.y, a.y, a.x, a.z); }
+ public static Vector4 zyxz(this Vector3 a) { return new Vector4(a.z, a.y, a.x, a.z); }
+ public static Vector4 xzxz(this Vector3 a) { return new Vector4(a.x, a.z, a.x, a.z); }
+ public static Vector4 yzxz(this Vector3 a) { return new Vector4(a.y, a.z, a.x, a.z); }
+ public static Vector4 zzxz(this Vector3 a) { return new Vector4(a.z, a.z, a.x, a.z); }
+ public static Vector4 xxyz(this Vector3 a) { return new Vector4(a.x, a.x, a.y, a.z); }
+ public static Vector4 yxyz(this Vector3 a) { return new Vector4(a.y, a.x, a.y, a.z); }
+ public static Vector4 zxyz(this Vector3 a) { return new Vector4(a.z, a.x, a.y, a.z); }
+ public static Vector4 xyyz(this Vector3 a) { return new Vector4(a.x, a.y, a.y, a.z); }
+ public static Vector4 yyyz(this Vector3 a) { return new Vector4(a.y, a.y, a.y, a.z); }
+ public static Vector4 zyyz(this Vector3 a) { return new Vector4(a.z, a.y, a.y, a.z); }
+ public static Vector4 xzyz(this Vector3 a) { return new Vector4(a.x, a.z, a.y, a.z); }
+ public static Vector4 yzyz(this Vector3 a) { return new Vector4(a.y, a.z, a.y, a.z); }
+ public static Vector4 zzyz(this Vector3 a) { return new Vector4(a.z, a.z, a.y, a.z); }
+ public static Vector4 xxzz(this Vector3 a) { return new Vector4(a.x, a.x, a.z, a.z); }
+ public static Vector4 yxzz(this Vector3 a) { return new Vector4(a.y, a.x, a.z, a.z); }
+ public static Vector4 zxzz(this Vector3 a) { return new Vector4(a.z, a.x, a.z, a.z); }
+ public static Vector4 xyzz(this Vector3 a) { return new Vector4(a.x, a.y, a.z, a.z); }
+ public static Vector4 yyzz(this Vector3 a) { return new Vector4(a.y, a.y, a.z, a.z); }
+ public static Vector4 zyzz(this Vector3 a) { return new Vector4(a.z, a.y, a.z, a.z); }
+ public static Vector4 xzzz(this Vector3 a) { return new Vector4(a.x, a.z, a.z, a.z); }
+ public static Vector4 yzzz(this Vector3 a) { return new Vector4(a.y, a.z, a.z, a.z); }
+ public static Vector4 zzzz(this Vector3 a) { return new Vector4(a.z, a.z, a.z, a.z); }
+ }
+
+ public static class Vector4Swizzles
+ {
+ //swizzles of size 2
+ public static Vector2 xx(this Vector4 a) { return new Vector2(a.x, a.x); }
+ public static Vector2 yx(this Vector4 a) { return new Vector2(a.y, a.x); }
+ public static Vector2 zx(this Vector4 a) { return new Vector2(a.z, a.x); }
+ public static Vector2 wx(this Vector4 a) { return new Vector2(a.w, a.x); }
+ public static Vector2 xy(this Vector4 a) { return new Vector2(a.x, a.y); }
+ public static Vector2 yy(this Vector4 a) { return new Vector2(a.y, a.y); }
+ public static Vector2 zy(this Vector4 a) { return new Vector2(a.z, a.y); }
+ public static Vector2 wy(this Vector4 a) { return new Vector2(a.w, a.y); }
+ public static Vector2 xz(this Vector4 a) { return new Vector2(a.x, a.z); }
+ public static Vector2 yz(this Vector4 a) { return new Vector2(a.y, a.z); }
+ public static Vector2 zz(this Vector4 a) { return new Vector2(a.z, a.z); }
+ public static Vector2 wz(this Vector4 a) { return new Vector2(a.w, a.z); }
+ public static Vector2 xw(this Vector4 a) { return new Vector2(a.x, a.w); }
+ public static Vector2 yw(this Vector4 a) { return new Vector2(a.y, a.w); }
+ public static Vector2 zw(this Vector4 a) { return new Vector2(a.z, a.w); }
+
+ public static Vector2 ww(this Vector4 a) { return new Vector2(a.w, a.w); }
+
+ //swizzles of size 3
+ public static Vector3 xxx(this Vector4 a) { return new Vector3(a.x, a.x, a.x); }
+ public static Vector3 yxx(this Vector4 a) { return new Vector3(a.y, a.x, a.x); }
+ public static Vector3 zxx(this Vector4 a) { return new Vector3(a.z, a.x, a.x); }
+ public static Vector3 wxx(this Vector4 a) { return new Vector3(a.w, a.x, a.x); }
+ public static Vector3 xyx(this Vector4 a) { return new Vector3(a.x, a.y, a.x); }
+ public static Vector3 yyx(this Vector4 a) { return new Vector3(a.y, a.y, a.x); }
+ public static Vector3 zyx(this Vector4 a) { return new Vector3(a.z, a.y, a.x); }
+ public static Vector3 wyx(this Vector4 a) { return new Vector3(a.w, a.y, a.x); }
+ public static Vector3 xzx(this Vector4 a) { return new Vector3(a.x, a.z, a.x); }
+ public static Vector3 yzx(this Vector4 a) { return new Vector3(a.y, a.z, a.x); }
+ public static Vector3 zzx(this Vector4 a) { return new Vector3(a.z, a.z, a.x); }
+ public static Vector3 wzx(this Vector4 a) { return new Vector3(a.w, a.z, a.x); }
+ public static Vector3 xwx(this Vector4 a) { return new Vector3(a.x, a.w, a.x); }
+ public static Vector3 ywx(this Vector4 a) { return new Vector3(a.y, a.w, a.x); }
+ public static Vector3 zwx(this Vector4 a) { return new Vector3(a.z, a.w, a.x); }
+ public static Vector3 wwx(this Vector4 a) { return new Vector3(a.w, a.w, a.x); }
+ public static Vector3 xxy(this Vector4 a) { return new Vector3(a.x, a.x, a.y); }
+ public static Vector3 yxy(this Vector4 a) { return new Vector3(a.y, a.x, a.y); }
+ public static Vector3 zxy(this Vector4 a) { return new Vector3(a.z, a.x, a.y); }
+ public static Vector3 wxy(this Vector4 a) { return new Vector3(a.w, a.x, a.y); }
+ public static Vector3 xyy(this Vector4 a) { return new Vector3(a.x, a.y, a.y); }
+ public static Vector3 yyy(this Vector4 a) { return new Vector3(a.y, a.y, a.y); }
+ public static Vector3 zyy(this Vector4 a) { return new Vector3(a.z, a.y, a.y); }
+ public static Vector3 wyy(this Vector4 a) { return new Vector3(a.w, a.y, a.y); }
+ public static Vector3 xzy(this Vector4 a) { return new Vector3(a.x, a.z, a.y); }
+ public static Vector3 yzy(this Vector4 a) { return new Vector3(a.y, a.z, a.y); }
+ public static Vector3 zzy(this Vector4 a) { return new Vector3(a.z, a.z, a.y); }
+ public static Vector3 wzy(this Vector4 a) { return new Vector3(a.w, a.z, a.y); }
+ public static Vector3 xwy(this Vector4 a) { return new Vector3(a.x, a.w, a.y); }
+ public static Vector3 ywy(this Vector4 a) { return new Vector3(a.y, a.w, a.y); }
+ public static Vector3 zwy(this Vector4 a) { return new Vector3(a.z, a.w, a.y); }
+ public static Vector3 wwy(this Vector4 a) { return new Vector3(a.w, a.w, a.y); }
+ public static Vector3 xxz(this Vector4 a) { return new Vector3(a.x, a.x, a.z); }
+ public static Vector3 yxz(this Vector4 a) { return new Vector3(a.y, a.x, a.z); }
+ public static Vector3 zxz(this Vector4 a) { return new Vector3(a.z, a.x, a.z); }
+ public static Vector3 wxz(this Vector4 a) { return new Vector3(a.w, a.x, a.z); }
+ public static Vector3 xyz(this Vector4 a) { return new Vector3(a.x, a.y, a.z); }
+ public static Vector3 yyz(this Vector4 a) { return new Vector3(a.y, a.y, a.z); }
+ public static Vector3 zyz(this Vector4 a) { return new Vector3(a.z, a.y, a.z); }
+ public static Vector3 wyz(this Vector4 a) { return new Vector3(a.w, a.y, a.z); }
+ public static Vector3 xzz(this Vector4 a) { return new Vector3(a.x, a.z, a.z); }
+ public static Vector3 yzz(this Vector4 a) { return new Vector3(a.y, a.z, a.z); }
+ public static Vector3 zzz(this Vector4 a) { return new Vector3(a.z, a.z, a.z); }
+ public static Vector3 wzz(this Vector4 a) { return new Vector3(a.w, a.z, a.z); }
+ public static Vector3 xwz(this Vector4 a) { return new Vector3(a.x, a.w, a.z); }
+ public static Vector3 ywz(this Vector4 a) { return new Vector3(a.y, a.w, a.z); }
+ public static Vector3 zwz(this Vector4 a) { return new Vector3(a.z, a.w, a.z); }
+ public static Vector3 wwz(this Vector4 a) { return new Vector3(a.w, a.w, a.z); }
+ public static Vector3 xxw(this Vector4 a) { return new Vector3(a.x, a.x, a.w); }
+ public static Vector3 yxw(this Vector4 a) { return new Vector3(a.y, a.x, a.w); }
+ public static Vector3 zxw(this Vector4 a) { return new Vector3(a.z, a.x, a.w); }
+ public static Vector3 wxw(this Vector4 a) { return new Vector3(a.w, a.x, a.w); }
+ public static Vector3 xyw(this Vector4 a) { return new Vector3(a.x, a.y, a.w); }
+ public static Vector3 yyw(this Vector4 a) { return new Vector3(a.y, a.y, a.w); }
+ public static Vector3 zyw(this Vector4 a) { return new Vector3(a.z, a.y, a.w); }
+ public static Vector3 wyw(this Vector4 a) { return new Vector3(a.w, a.y, a.w); }
+ public static Vector3 xzw(this Vector4 a) { return new Vector3(a.x, a.z, a.w); }
+ public static Vector3 yzw(this Vector4 a) { return new Vector3(a.y, a.z, a.w); }
+ public static Vector3 zzw(this Vector4 a) { return new Vector3(a.z, a.z, a.w); }
+ public static Vector3 wzw(this Vector4 a) { return new Vector3(a.w, a.z, a.w); }
+ public static Vector3 xww(this Vector4 a) { return new Vector3(a.x, a.w, a.w); }
+ public static Vector3 yww(this Vector4 a) { return new Vector3(a.y, a.w, a.w); }
+ public static Vector3 zww(this Vector4 a) { return new Vector3(a.z, a.w, a.w); }
+
+ public static Vector3 www(this Vector4 a) { return new Vector3(a.w, a.w, a.w); }
+
+ //swizzles of size 4
+ public static Vector4 xxxx(this Vector4 a) { return new Vector4(a.x, a.x, a.x, a.x); }
+ public static Vector4 yxxx(this Vector4 a) { return new Vector4(a.y, a.x, a.x, a.x); }
+ public static Vector4 zxxx(this Vector4 a) { return new Vector4(a.z, a.x, a.x, a.x); }
+ public static Vector4 wxxx(this Vector4 a) { return new Vector4(a.w, a.x, a.x, a.x); }
+ public static Vector4 xyxx(this Vector4 a) { return new Vector4(a.x, a.y, a.x, a.x); }
+ public static Vector4 yyxx(this Vector4 a) { return new Vector4(a.y, a.y, a.x, a.x); }
+ public static Vector4 zyxx(this Vector4 a) { return new Vector4(a.z, a.y, a.x, a.x); }
+ public static Vector4 wyxx(this Vector4 a) { return new Vector4(a.w, a.y, a.x, a.x); }
+ public static Vector4 xzxx(this Vector4 a) { return new Vector4(a.x, a.z, a.x, a.x); }
+ public static Vector4 yzxx(this Vector4 a) { return new Vector4(a.y, a.z, a.x, a.x); }
+ public static Vector4 zzxx(this Vector4 a) { return new Vector4(a.z, a.z, a.x, a.x); }
+ public static Vector4 wzxx(this Vector4 a) { return new Vector4(a.w, a.z, a.x, a.x); }
+ public static Vector4 xwxx(this Vector4 a) { return new Vector4(a.x, a.w, a.x, a.x); }
+ public static Vector4 ywxx(this Vector4 a) { return new Vector4(a.y, a.w, a.x, a.x); }
+ public static Vector4 zwxx(this Vector4 a) { return new Vector4(a.z, a.w, a.x, a.x); }
+ public static Vector4 wwxx(this Vector4 a) { return new Vector4(a.w, a.w, a.x, a.x); }
+ public static Vector4 xxyx(this Vector4 a) { return new Vector4(a.x, a.x, a.y, a.x); }
+ public static Vector4 yxyx(this Vector4 a) { return new Vector4(a.y, a.x, a.y, a.x); }
+ public static Vector4 zxyx(this Vector4 a) { return new Vector4(a.z, a.x, a.y, a.x); }
+ public static Vector4 wxyx(this Vector4 a) { return new Vector4(a.w, a.x, a.y, a.x); }
+ public static Vector4 xyyx(this Vector4 a) { return new Vector4(a.x, a.y, a.y, a.x); }
+ public static Vector4 yyyx(this Vector4 a) { return new Vector4(a.y, a.y, a.y, a.x); }
+ public static Vector4 zyyx(this Vector4 a) { return new Vector4(a.z, a.y, a.y, a.x); }
+ public static Vector4 wyyx(this Vector4 a) { return new Vector4(a.w, a.y, a.y, a.x); }
+ public static Vector4 xzyx(this Vector4 a) { return new Vector4(a.x, a.z, a.y, a.x); }
+ public static Vector4 yzyx(this Vector4 a) { return new Vector4(a.y, a.z, a.y, a.x); }
+ public static Vector4 zzyx(this Vector4 a) { return new Vector4(a.z, a.z, a.y, a.x); }
+ public static Vector4 wzyx(this Vector4 a) { return new Vector4(a.w, a.z, a.y, a.x); }
+ public static Vector4 xwyx(this Vector4 a) { return new Vector4(a.x, a.w, a.y, a.x); }
+ public static Vector4 ywyx(this Vector4 a) { return new Vector4(a.y, a.w, a.y, a.x); }
+ public static Vector4 zwyx(this Vector4 a) { return new Vector4(a.z, a.w, a.y, a.x); }
+ public static Vector4 wwyx(this Vector4 a) { return new Vector4(a.w, a.w, a.y, a.x); }
+ public static Vector4 xxzx(this Vector4 a) { return new Vector4(a.x, a.x, a.z, a.x); }
+ public static Vector4 yxzx(this Vector4 a) { return new Vector4(a.y, a.x, a.z, a.x); }
+ public static Vector4 zxzx(this Vector4 a) { return new Vector4(a.z, a.x, a.z, a.x); }
+ public static Vector4 wxzx(this Vector4 a) { return new Vector4(a.w, a.x, a.z, a.x); }
+ public static Vector4 xyzx(this Vector4 a) { return new Vector4(a.x, a.y, a.z, a.x); }
+ public static Vector4 yyzx(this Vector4 a) { return new Vector4(a.y, a.y, a.z, a.x); }
+ public static Vector4 zyzx(this Vector4 a) { return new Vector4(a.z, a.y, a.z, a.x); }
+ public static Vector4 wyzx(this Vector4 a) { return new Vector4(a.w, a.y, a.z, a.x); }
+ public static Vector4 xzzx(this Vector4 a) { return new Vector4(a.x, a.z, a.z, a.x); }
+ public static Vector4 yzzx(this Vector4 a) { return new Vector4(a.y, a.z, a.z, a.x); }
+ public static Vector4 zzzx(this Vector4 a) { return new Vector4(a.z, a.z, a.z, a.x); }
+ public static Vector4 wzzx(this Vector4 a) { return new Vector4(a.w, a.z, a.z, a.x); }
+ public static Vector4 xwzx(this Vector4 a) { return new Vector4(a.x, a.w, a.z, a.x); }
+ public static Vector4 ywzx(this Vector4 a) { return new Vector4(a.y, a.w, a.z, a.x); }
+ public static Vector4 zwzx(this Vector4 a) { return new Vector4(a.z, a.w, a.z, a.x); }
+ public static Vector4 wwzx(this Vector4 a) { return new Vector4(a.w, a.w, a.z, a.x); }
+ public static Vector4 xxwx(this Vector4 a) { return new Vector4(a.x, a.x, a.w, a.x); }
+ public static Vector4 yxwx(this Vector4 a) { return new Vector4(a.y, a.x, a.w, a.x); }
+ public static Vector4 zxwx(this Vector4 a) { return new Vector4(a.z, a.x, a.w, a.x); }
+ public static Vector4 wxwx(this Vector4 a) { return new Vector4(a.w, a.x, a.w, a.x); }
+ public static Vector4 xywx(this Vector4 a) { return new Vector4(a.x, a.y, a.w, a.x); }
+ public static Vector4 yywx(this Vector4 a) { return new Vector4(a.y, a.y, a.w, a.x); }
+ public static Vector4 zywx(this Vector4 a) { return new Vector4(a.z, a.y, a.w, a.x); }
+ public static Vector4 wywx(this Vector4 a) { return new Vector4(a.w, a.y, a.w, a.x); }
+ public static Vector4 xzwx(this Vector4 a) { return new Vector4(a.x, a.z, a.w, a.x); }
+ public static Vector4 yzwx(this Vector4 a) { return new Vector4(a.y, a.z, a.w, a.x); }
+ public static Vector4 zzwx(this Vector4 a) { return new Vector4(a.z, a.z, a.w, a.x); }
+ public static Vector4 wzwx(this Vector4 a) { return new Vector4(a.w, a.z, a.w, a.x); }
+ public static Vector4 xwwx(this Vector4 a) { return new Vector4(a.x, a.w, a.w, a.x); }
+ public static Vector4 ywwx(this Vector4 a) { return new Vector4(a.y, a.w, a.w, a.x); }
+ public static Vector4 zwwx(this Vector4 a) { return new Vector4(a.z, a.w, a.w, a.x); }
+ public static Vector4 wwwx(this Vector4 a) { return new Vector4(a.w, a.w, a.w, a.x); }
+ public static Vector4 xxxy(this Vector4 a) { return new Vector4(a.x, a.x, a.x, a.y); }
+ public static Vector4 yxxy(this Vector4 a) { return new Vector4(a.y, a.x, a.x, a.y); }
+ public static Vector4 zxxy(this Vector4 a) { return new Vector4(a.z, a.x, a.x, a.y); }
+ public static Vector4 wxxy(this Vector4 a) { return new Vector4(a.w, a.x, a.x, a.y); }
+ public static Vector4 xyxy(this Vector4 a) { return new Vector4(a.x, a.y, a.x, a.y); }
+ public static Vector4 yyxy(this Vector4 a) { return new Vector4(a.y, a.y, a.x, a.y); }
+ public static Vector4 zyxy(this Vector4 a) { return new Vector4(a.z, a.y, a.x, a.y); }
+ public static Vector4 wyxy(this Vector4 a) { return new Vector4(a.w, a.y, a.x, a.y); }
+ public static Vector4 xzxy(this Vector4 a) { return new Vector4(a.x, a.z, a.x, a.y); }
+ public static Vector4 yzxy(this Vector4 a) { return new Vector4(a.y, a.z, a.x, a.y); }
+ public static Vector4 zzxy(this Vector4 a) { return new Vector4(a.z, a.z, a.x, a.y); }
+ public static Vector4 wzxy(this Vector4 a) { return new Vector4(a.w, a.z, a.x, a.y); }
+ public static Vector4 xwxy(this Vector4 a) { return new Vector4(a.x, a.w, a.x, a.y); }
+ public static Vector4 ywxy(this Vector4 a) { return new Vector4(a.y, a.w, a.x, a.y); }
+ public static Vector4 zwxy(this Vector4 a) { return new Vector4(a.z, a.w, a.x, a.y); }
+ public static Vector4 wwxy(this Vector4 a) { return new Vector4(a.w, a.w, a.x, a.y); }
+ public static Vector4 xxyy(this Vector4 a) { return new Vector4(a.x, a.x, a.y, a.y); }
+ public static Vector4 yxyy(this Vector4 a) { return new Vector4(a.y, a.x, a.y, a.y); }
+ public static Vector4 zxyy(this Vector4 a) { return new Vector4(a.z, a.x, a.y, a.y); }
+ public static Vector4 wxyy(this Vector4 a) { return new Vector4(a.w, a.x, a.y, a.y); }
+ public static Vector4 xyyy(this Vector4 a) { return new Vector4(a.x, a.y, a.y, a.y); }
+ public static Vector4 yyyy(this Vector4 a) { return new Vector4(a.y, a.y, a.y, a.y); }
+ public static Vector4 zyyy(this Vector4 a) { return new Vector4(a.z, a.y, a.y, a.y); }
+ public static Vector4 wyyy(this Vector4 a) { return new Vector4(a.w, a.y, a.y, a.y); }
+ public static Vector4 xzyy(this Vector4 a) { return new Vector4(a.x, a.z, a.y, a.y); }
+ public static Vector4 yzyy(this Vector4 a) { return new Vector4(a.y, a.z, a.y, a.y); }
+ public static Vector4 zzyy(this Vector4 a) { return new Vector4(a.z, a.z, a.y, a.y); }
+ public static Vector4 wzyy(this Vector4 a) { return new Vector4(a.w, a.z, a.y, a.y); }
+ public static Vector4 xwyy(this Vector4 a) { return new Vector4(a.x, a.w, a.y, a.y); }
+ public static Vector4 ywyy(this Vector4 a) { return new Vector4(a.y, a.w, a.y, a.y); }
+ public static Vector4 zwyy(this Vector4 a) { return new Vector4(a.z, a.w, a.y, a.y); }
+ public static Vector4 wwyy(this Vector4 a) { return new Vector4(a.w, a.w, a.y, a.y); }
+ public static Vector4 xxzy(this Vector4 a) { return new Vector4(a.x, a.x, a.z, a.y); }
+ public static Vector4 yxzy(this Vector4 a) { return new Vector4(a.y, a.x, a.z, a.y); }
+ public static Vector4 zxzy(this Vector4 a) { return new Vector4(a.z, a.x, a.z, a.y); }
+ public static Vector4 wxzy(this Vector4 a) { return new Vector4(a.w, a.x, a.z, a.y); }
+ public static Vector4 xyzy(this Vector4 a) { return new Vector4(a.x, a.y, a.z, a.y); }
+ public static Vector4 yyzy(this Vector4 a) { return new Vector4(a.y, a.y, a.z, a.y); }
+ public static Vector4 zyzy(this Vector4 a) { return new Vector4(a.z, a.y, a.z, a.y); }
+ public static Vector4 wyzy(this Vector4 a) { return new Vector4(a.w, a.y, a.z, a.y); }
+ public static Vector4 xzzy(this Vector4 a) { return new Vector4(a.x, a.z, a.z, a.y); }
+ public static Vector4 yzzy(this Vector4 a) { return new Vector4(a.y, a.z, a.z, a.y); }
+ public static Vector4 zzzy(this Vector4 a) { return new Vector4(a.z, a.z, a.z, a.y); }
+ public static Vector4 wzzy(this Vector4 a) { return new Vector4(a.w, a.z, a.z, a.y); }
+ public static Vector4 xwzy(this Vector4 a) { return new Vector4(a.x, a.w, a.z, a.y); }
+ public static Vector4 ywzy(this Vector4 a) { return new Vector4(a.y, a.w, a.z, a.y); }
+ public static Vector4 zwzy(this Vector4 a) { return new Vector4(a.z, a.w, a.z, a.y); }
+ public static Vector4 wwzy(this Vector4 a) { return new Vector4(a.w, a.w, a.z, a.y); }
+ public static Vector4 xxwy(this Vector4 a) { return new Vector4(a.x, a.x, a.w, a.y); }
+ public static Vector4 yxwy(this Vector4 a) { return new Vector4(a.y, a.x, a.w, a.y); }
+ public static Vector4 zxwy(this Vector4 a) { return new Vector4(a.z, a.x, a.w, a.y); }
+ public static Vector4 wxwy(this Vector4 a) { return new Vector4(a.w, a.x, a.w, a.y); }
+ public static Vector4 xywy(this Vector4 a) { return new Vector4(a.x, a.y, a.w, a.y); }
+ public static Vector4 yywy(this Vector4 a) { return new Vector4(a.y, a.y, a.w, a.y); }
+ public static Vector4 zywy(this Vector4 a) { return new Vector4(a.z, a.y, a.w, a.y); }
+ public static Vector4 wywy(this Vector4 a) { return new Vector4(a.w, a.y, a.w, a.y); }
+ public static Vector4 xzwy(this Vector4 a) { return new Vector4(a.x, a.z, a.w, a.y); }
+ public static Vector4 yzwy(this Vector4 a) { return new Vector4(a.y, a.z, a.w, a.y); }
+ public static Vector4 zzwy(this Vector4 a) { return new Vector4(a.z, a.z, a.w, a.y); }
+ public static Vector4 wzwy(this Vector4 a) { return new Vector4(a.w, a.z, a.w, a.y); }
+ public static Vector4 xwwy(this Vector4 a) { return new Vector4(a.x, a.w, a.w, a.y); }
+ public static Vector4 ywwy(this Vector4 a) { return new Vector4(a.y, a.w, a.w, a.y); }
+ public static Vector4 zwwy(this Vector4 a) { return new Vector4(a.z, a.w, a.w, a.y); }
+ public static Vector4 wwwy(this Vector4 a) { return new Vector4(a.w, a.w, a.w, a.y); }
+ public static Vector4 xxxz(this Vector4 a) { return new Vector4(a.x, a.x, a.x, a.z); }
+ public static Vector4 yxxz(this Vector4 a) { return new Vector4(a.y, a.x, a.x, a.z); }
+ public static Vector4 zxxz(this Vector4 a) { return new Vector4(a.z, a.x, a.x, a.z); }
+ public static Vector4 wxxz(this Vector4 a) { return new Vector4(a.w, a.x, a.x, a.z); }
+ public static Vector4 xyxz(this Vector4 a) { return new Vector4(a.x, a.y, a.x, a.z); }
+ public static Vector4 yyxz(this Vector4 a) { return new Vector4(a.y, a.y, a.x, a.z); }
+ public static Vector4 zyxz(this Vector4 a) { return new Vector4(a.z, a.y, a.x, a.z); }
+ public static Vector4 wyxz(this Vector4 a) { return new Vector4(a.w, a.y, a.x, a.z); }
+ public static Vector4 xzxz(this Vector4 a) { return new Vector4(a.x, a.z, a.x, a.z); }
+ public static Vector4 yzxz(this Vector4 a) { return new Vector4(a.y, a.z, a.x, a.z); }
+ public static Vector4 zzxz(this Vector4 a) { return new Vector4(a.z, a.z, a.x, a.z); }
+ public static Vector4 wzxz(this Vector4 a) { return new Vector4(a.w, a.z, a.x, a.z); }
+ public static Vector4 xwxz(this Vector4 a) { return new Vector4(a.x, a.w, a.x, a.z); }
+ public static Vector4 ywxz(this Vector4 a) { return new Vector4(a.y, a.w, a.x, a.z); }
+ public static Vector4 zwxz(this Vector4 a) { return new Vector4(a.z, a.w, a.x, a.z); }
+ public static Vector4 wwxz(this Vector4 a) { return new Vector4(a.w, a.w, a.x, a.z); }
+ public static Vector4 xxyz(this Vector4 a) { return new Vector4(a.x, a.x, a.y, a.z); }
+ public static Vector4 yxyz(this Vector4 a) { return new Vector4(a.y, a.x, a.y, a.z); }
+ public static Vector4 zxyz(this Vector4 a) { return new Vector4(a.z, a.x, a.y, a.z); }
+ public static Vector4 wxyz(this Vector4 a) { return new Vector4(a.w, a.x, a.y, a.z); }
+ public static Vector4 xyyz(this Vector4 a) { return new Vector4(a.x, a.y, a.y, a.z); }
+ public static Vector4 yyyz(this Vector4 a) { return new Vector4(a.y, a.y, a.y, a.z); }
+ public static Vector4 zyyz(this Vector4 a) { return new Vector4(a.z, a.y, a.y, a.z); }
+ public static Vector4 wyyz(this Vector4 a) { return new Vector4(a.w, a.y, a.y, a.z); }
+ public static Vector4 xzyz(this Vector4 a) { return new Vector4(a.x, a.z, a.y, a.z); }
+ public static Vector4 yzyz(this Vector4 a) { return new Vector4(a.y, a.z, a.y, a.z); }
+ public static Vector4 zzyz(this Vector4 a) { return new Vector4(a.z, a.z, a.y, a.z); }
+ public static Vector4 wzyz(this Vector4 a) { return new Vector4(a.w, a.z, a.y, a.z); }
+ public static Vector4 xwyz(this Vector4 a) { return new Vector4(a.x, a.w, a.y, a.z); }
+ public static Vector4 ywyz(this Vector4 a) { return new Vector4(a.y, a.w, a.y, a.z); }
+ public static Vector4 zwyz(this Vector4 a) { return new Vector4(a.z, a.w, a.y, a.z); }
+ public static Vector4 wwyz(this Vector4 a) { return new Vector4(a.w, a.w, a.y, a.z); }
+ public static Vector4 xxzz(this Vector4 a) { return new Vector4(a.x, a.x, a.z, a.z); }
+ public static Vector4 yxzz(this Vector4 a) { return new Vector4(a.y, a.x, a.z, a.z); }
+ public static Vector4 zxzz(this Vector4 a) { return new Vector4(a.z, a.x, a.z, a.z); }
+ public static Vector4 wxzz(this Vector4 a) { return new Vector4(a.w, a.x, a.z, a.z); }
+ public static Vector4 xyzz(this Vector4 a) { return new Vector4(a.x, a.y, a.z, a.z); }
+ public static Vector4 yyzz(this Vector4 a) { return new Vector4(a.y, a.y, a.z, a.z); }
+ public static Vector4 zyzz(this Vector4 a) { return new Vector4(a.z, a.y, a.z, a.z); }
+ public static Vector4 wyzz(this Vector4 a) { return new Vector4(a.w, a.y, a.z, a.z); }
+ public static Vector4 xzzz(this Vector4 a) { return new Vector4(a.x, a.z, a.z, a.z); }
+ public static Vector4 yzzz(this Vector4 a) { return new Vector4(a.y, a.z, a.z, a.z); }
+ public static Vector4 zzzz(this Vector4 a) { return new Vector4(a.z, a.z, a.z, a.z); }
+ public static Vector4 wzzz(this Vector4 a) { return new Vector4(a.w, a.z, a.z, a.z); }
+ public static Vector4 xwzz(this Vector4 a) { return new Vector4(a.x, a.w, a.z, a.z); }
+ public static Vector4 ywzz(this Vector4 a) { return new Vector4(a.y, a.w, a.z, a.z); }
+ public static Vector4 zwzz(this Vector4 a) { return new Vector4(a.z, a.w, a.z, a.z); }
+ public static Vector4 wwzz(this Vector4 a) { return new Vector4(a.w, a.w, a.z, a.z); }
+ public static Vector4 xxwz(this Vector4 a) { return new Vector4(a.x, a.x, a.w, a.z); }
+ public static Vector4 yxwz(this Vector4 a) { return new Vector4(a.y, a.x, a.w, a.z); }
+ public static Vector4 zxwz(this Vector4 a) { return new Vector4(a.z, a.x, a.w, a.z); }
+ public static Vector4 wxwz(this Vector4 a) { return new Vector4(a.w, a.x, a.w, a.z); }
+ public static Vector4 xywz(this Vector4 a) { return new Vector4(a.x, a.y, a.w, a.z); }
+ public static Vector4 yywz(this Vector4 a) { return new Vector4(a.y, a.y, a.w, a.z); }
+ public static Vector4 zywz(this Vector4 a) { return new Vector4(a.z, a.y, a.w, a.z); }
+ public static Vector4 wywz(this Vector4 a) { return new Vector4(a.w, a.y, a.w, a.z); }
+ public static Vector4 xzwz(this Vector4 a) { return new Vector4(a.x, a.z, a.w, a.z); }
+ public static Vector4 yzwz(this Vector4 a) { return new Vector4(a.y, a.z, a.w, a.z); }
+ public static Vector4 zzwz(this Vector4 a) { return new Vector4(a.z, a.z, a.w, a.z); }
+ public static Vector4 wzwz(this Vector4 a) { return new Vector4(a.w, a.z, a.w, a.z); }
+ public static Vector4 xwwz(this Vector4 a) { return new Vector4(a.x, a.w, a.w, a.z); }
+ public static Vector4 ywwz(this Vector4 a) { return new Vector4(a.y, a.w, a.w, a.z); }
+ public static Vector4 zwwz(this Vector4 a) { return new Vector4(a.z, a.w, a.w, a.z); }
+ public static Vector4 wwwz(this Vector4 a) { return new Vector4(a.w, a.w, a.w, a.z); }
+ public static Vector4 xxxw(this Vector4 a) { return new Vector4(a.x, a.x, a.x, a.w); }
+ public static Vector4 yxxw(this Vector4 a) { return new Vector4(a.y, a.x, a.x, a.w); }
+ public static Vector4 zxxw(this Vector4 a) { return new Vector4(a.z, a.x, a.x, a.w); }
+ public static Vector4 wxxw(this Vector4 a) { return new Vector4(a.w, a.x, a.x, a.w); }
+ public static Vector4 xyxw(this Vector4 a) { return new Vector4(a.x, a.y, a.x, a.w); }
+ public static Vector4 yyxw(this Vector4 a) { return new Vector4(a.y, a.y, a.x, a.w); }
+ public static Vector4 zyxw(this Vector4 a) { return new Vector4(a.z, a.y, a.x, a.w); }
+ public static Vector4 wyxw(this Vector4 a) { return new Vector4(a.w, a.y, a.x, a.w); }
+ public static Vector4 xzxw(this Vector4 a) { return new Vector4(a.x, a.z, a.x, a.w); }
+ public static Vector4 yzxw(this Vector4 a) { return new Vector4(a.y, a.z, a.x, a.w); }
+ public static Vector4 zzxw(this Vector4 a) { return new Vector4(a.z, a.z, a.x, a.w); }
+ public static Vector4 wzxw(this Vector4 a) { return new Vector4(a.w, a.z, a.x, a.w); }
+ public static Vector4 xwxw(this Vector4 a) { return new Vector4(a.x, a.w, a.x, a.w); }
+ public static Vector4 ywxw(this Vector4 a) { return new Vector4(a.y, a.w, a.x, a.w); }
+ public static Vector4 zwxw(this Vector4 a) { return new Vector4(a.z, a.w, a.x, a.w); }
+ public static Vector4 wwxw(this Vector4 a) { return new Vector4(a.w, a.w, a.x, a.w); }
+ public static Vector4 xxyw(this Vector4 a) { return new Vector4(a.x, a.x, a.y, a.w); }
+ public static Vector4 yxyw(this Vector4 a) { return new Vector4(a.y, a.x, a.y, a.w); }
+ public static Vector4 zxyw(this Vector4 a) { return new Vector4(a.z, a.x, a.y, a.w); }
+ public static Vector4 wxyw(this Vector4 a) { return new Vector4(a.w, a.x, a.y, a.w); }
+ public static Vector4 xyyw(this Vector4 a) { return new Vector4(a.x, a.y, a.y, a.w); }
+ public static Vector4 yyyw(this Vector4 a) { return new Vector4(a.y, a.y, a.y, a.w); }
+ public static Vector4 zyyw(this Vector4 a) { return new Vector4(a.z, a.y, a.y, a.w); }
+ public static Vector4 wyyw(this Vector4 a) { return new Vector4(a.w, a.y, a.y, a.w); }
+ public static Vector4 xzyw(this Vector4 a) { return new Vector4(a.x, a.z, a.y, a.w); }
+ public static Vector4 yzyw(this Vector4 a) { return new Vector4(a.y, a.z, a.y, a.w); }
+ public static Vector4 zzyw(this Vector4 a) { return new Vector4(a.z, a.z, a.y, a.w); }
+ public static Vector4 wzyw(this Vector4 a) { return new Vector4(a.w, a.z, a.y, a.w); }
+ public static Vector4 xwyw(this Vector4 a) { return new Vector4(a.x, a.w, a.y, a.w); }
+ public static Vector4 ywyw(this Vector4 a) { return new Vector4(a.y, a.w, a.y, a.w); }
+ public static Vector4 zwyw(this Vector4 a) { return new Vector4(a.z, a.w, a.y, a.w); }
+ public static Vector4 wwyw(this Vector4 a) { return new Vector4(a.w, a.w, a.y, a.w); }
+ public static Vector4 xxzw(this Vector4 a) { return new Vector4(a.x, a.x, a.z, a.w); }
+ public static Vector4 yxzw(this Vector4 a) { return new Vector4(a.y, a.x, a.z, a.w); }
+ public static Vector4 zxzw(this Vector4 a) { return new Vector4(a.z, a.x, a.z, a.w); }
+ public static Vector4 wxzw(this Vector4 a) { return new Vector4(a.w, a.x, a.z, a.w); }
+ public static Vector4 xyzw(this Vector4 a) { return new Vector4(a.x, a.y, a.z, a.w); }
+ public static Vector4 yyzw(this Vector4 a) { return new Vector4(a.y, a.y, a.z, a.w); }
+ public static Vector4 zyzw(this Vector4 a) { return new Vector4(a.z, a.y, a.z, a.w); }
+ public static Vector4 wyzw(this Vector4 a) { return new Vector4(a.w, a.y, a.z, a.w); }
+ public static Vector4 xzzw(this Vector4 a) { return new Vector4(a.x, a.z, a.z, a.w); }
+ public static Vector4 yzzw(this Vector4 a) { return new Vector4(a.y, a.z, a.z, a.w); }
+ public static Vector4 zzzw(this Vector4 a) { return new Vector4(a.z, a.z, a.z, a.w); }
+ public static Vector4 wzzw(this Vector4 a) { return new Vector4(a.w, a.z, a.z, a.w); }
+ public static Vector4 xwzw(this Vector4 a) { return new Vector4(a.x, a.w, a.z, a.w); }
+ public static Vector4 ywzw(this Vector4 a) { return new Vector4(a.y, a.w, a.z, a.w); }
+ public static Vector4 zwzw(this Vector4 a) { return new Vector4(a.z, a.w, a.z, a.w); }
+ public static Vector4 wwzw(this Vector4 a) { return new Vector4(a.w, a.w, a.z, a.w); }
+ public static Vector4 xxww(this Vector4 a) { return new Vector4(a.x, a.x, a.w, a.w); }
+ public static Vector4 yxww(this Vector4 a) { return new Vector4(a.y, a.x, a.w, a.w); }
+ public static Vector4 zxww(this Vector4 a) { return new Vector4(a.z, a.x, a.w, a.w); }
+ public static Vector4 wxww(this Vector4 a) { return new Vector4(a.w, a.x, a.w, a.w); }
+ public static Vector4 xyww(this Vector4 a) { return new Vector4(a.x, a.y, a.w, a.w); }
+ public static Vector4 yyww(this Vector4 a) { return new Vector4(a.y, a.y, a.w, a.w); }
+ public static Vector4 zyww(this Vector4 a) { return new Vector4(a.z, a.y, a.w, a.w); }
+ public static Vector4 wyww(this Vector4 a) { return new Vector4(a.w, a.y, a.w, a.w); }
+ public static Vector4 xzww(this Vector4 a) { return new Vector4(a.x, a.z, a.w, a.w); }
+ public static Vector4 yzww(this Vector4 a) { return new Vector4(a.y, a.z, a.w, a.w); }
+ public static Vector4 zzww(this Vector4 a) { return new Vector4(a.z, a.z, a.w, a.w); }
+ public static Vector4 wzww(this Vector4 a) { return new Vector4(a.w, a.z, a.w, a.w); }
+ public static Vector4 xwww(this Vector4 a) { return new Vector4(a.x, a.w, a.w, a.w); }
+ public static Vector4 ywww(this Vector4 a) { return new Vector4(a.y, a.w, a.w, a.w); }
+ public static Vector4 zwww(this Vector4 a) { return new Vector4(a.z, a.w, a.w, a.w); }
+ public static Vector4 wwww(this Vector4 a) { return new Vector4(a.w, a.w, a.w, a.w); }
+ }
+
+ public static class Vector2IntSwizzles
+ {
+ //swizzles of size 2
+ public static Vector2Int xx(this Vector2Int a) { return new Vector2Int(a.x, a.x); }
+ public static Vector2Int yx(this Vector2Int a) { return new Vector2Int(a.y, a.x); }
+ public static Vector2Int xy(this Vector2Int a) { return new Vector2Int(a.x, a.y); }
+
+ public static Vector2Int yy(this Vector2Int a) { return new Vector2Int(a.y, a.y); }
+
+ //swizzles of size 3
+ public static Vector3Int xxx(this Vector2Int a) { return new Vector3Int(a.x, a.x, a.x); }
+ public static Vector3Int yxx(this Vector2Int a) { return new Vector3Int(a.y, a.x, a.x); }
+ public static Vector3Int xyx(this Vector2Int a) { return new Vector3Int(a.x, a.y, a.x); }
+ public static Vector3Int yyx(this Vector2Int a) { return new Vector3Int(a.y, a.y, a.x); }
+ public static Vector3Int xxy(this Vector2Int a) { return new Vector3Int(a.x, a.x, a.y); }
+ public static Vector3Int yxy(this Vector2Int a) { return new Vector3Int(a.y, a.x, a.y); }
+ public static Vector3Int xyy(this Vector2Int a) { return new Vector3Int(a.x, a.y, a.y); }
+ public static Vector3Int yyy(this Vector2Int a) { return new Vector3Int(a.y, a.y, a.y); }
+ }
+
+ public static class Vector3IntSwizzles
+ {
+ //swizzles of size 2
+ public static Vector2Int xx(this Vector3Int a) { return new Vector2Int(a.x, a.x); }
+ public static Vector2Int yx(this Vector3Int a) { return new Vector2Int(a.y, a.x); }
+ public static Vector2Int zx(this Vector3Int a) { return new Vector2Int(a.z, a.x); }
+ public static Vector2Int xy(this Vector3Int a) { return new Vector2Int(a.x, a.y); }
+ public static Vector2Int yy(this Vector3Int a) { return new Vector2Int(a.y, a.y); }
+ public static Vector2Int zy(this Vector3Int a) { return new Vector2Int(a.z, a.y); }
+ public static Vector2Int xz(this Vector3Int a) { return new Vector2Int(a.x, a.z); }
+ public static Vector2Int yz(this Vector3Int a) { return new Vector2Int(a.y, a.z); }
+ public static Vector2Int zz(this Vector3Int a) { return new Vector2Int(a.z, a.z); }
+
+ //swizzles of size 3
+ public static Vector3Int xxx(this Vector3Int a) { return new Vector3Int(a.x, a.x, a.x); }
+ public static Vector3Int yxx(this Vector3Int a) { return new Vector3Int(a.y, a.x, a.x); }
+ public static Vector3Int zxx(this Vector3Int a) { return new Vector3Int(a.z, a.x, a.x); }
+ public static Vector3Int xyx(this Vector3Int a) { return new Vector3Int(a.x, a.y, a.x); }
+ public static Vector3Int yyx(this Vector3Int a) { return new Vector3Int(a.y, a.y, a.x); }
+ public static Vector3Int zyx(this Vector3Int a) { return new Vector3Int(a.z, a.y, a.x); }
+ public static Vector3Int xzx(this Vector3Int a) { return new Vector3Int(a.x, a.z, a.x); }
+ public static Vector3Int yzx(this Vector3Int a) { return new Vector3Int(a.y, a.z, a.x); }
+ public static Vector3Int zzx(this Vector3Int a) { return new Vector3Int(a.z, a.z, a.x); }
+ public static Vector3Int xxy(this Vector3Int a) { return new Vector3Int(a.x, a.x, a.y); }
+ public static Vector3Int yxy(this Vector3Int a) { return new Vector3Int(a.y, a.x, a.y); }
+ public static Vector3Int zxy(this Vector3Int a) { return new Vector3Int(a.z, a.x, a.y); }
+ public static Vector3Int xyy(this Vector3Int a) { return new Vector3Int(a.x, a.y, a.y); }
+ public static Vector3Int yyy(this Vector3Int a) { return new Vector3Int(a.y, a.y, a.y); }
+ public static Vector3Int zyy(this Vector3Int a) { return new Vector3Int(a.z, a.y, a.y); }
+ public static Vector3Int xzy(this Vector3Int a) { return new Vector3Int(a.x, a.z, a.y); }
+ public static Vector3Int yzy(this Vector3Int a) { return new Vector3Int(a.y, a.z, a.y); }
+ public static Vector3Int zzy(this Vector3Int a) { return new Vector3Int(a.z, a.z, a.y); }
+ public static Vector3Int xxz(this Vector3Int a) { return new Vector3Int(a.x, a.x, a.z); }
+ public static Vector3Int yxz(this Vector3Int a) { return new Vector3Int(a.y, a.x, a.z); }
+ public static Vector3Int zxz(this Vector3Int a) { return new Vector3Int(a.z, a.x, a.z); }
+ public static Vector3Int xyz(this Vector3Int a) { return new Vector3Int(a.x, a.y, a.z); }
+ public static Vector3Int yyz(this Vector3Int a) { return new Vector3Int(a.y, a.y, a.z); }
+ public static Vector3Int zyz(this Vector3Int a) { return new Vector3Int(a.z, a.y, a.z); }
+ public static Vector3Int xzz(this Vector3Int a) { return new Vector3Int(a.x, a.z, a.z); }
+ public static Vector3Int yzz(this Vector3Int a) { return new Vector3Int(a.y, a.z, a.z); }
+ public static Vector3Int zzz(this Vector3Int a) { return new Vector3Int(a.z, a.z, a.z); }
+ }
+}
\ No newline at end of file
diff --git a/VectorSwizzle.cs.meta b/VectorSwizzle.cs.meta
new file mode 100644
index 0000000..d6e5d42
--- /dev/null
+++ b/VectorSwizzle.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 1eabc54731364f26a970427687506eea
+timeCreated: 1680871329
\ No newline at end of file