Merge remote-tracking branch 'origin/main' into better-ui-manager

This commit is contained in:
Hubert Mattusch 2023-05-19 21:05:52 +02:00
commit 4239816cd8
15 changed files with 737 additions and 21 deletions

View File

@ -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;
}
}

View File

@ -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;

View File

@ -45,6 +45,10 @@ namespace NEG.UI.Popup
/// <summary>
/// Invalidate popup, <see cref="UiManager"/> will automatically skip this popup
/// </summary>
public virtual void Invalidate() => IsValid = false;
public virtual void Invalidate()
{
IsValid = false;
UiManager.Instance.RefreshPopups();
}
}
}

View File

@ -35,6 +35,8 @@ namespace NEG.UI
/// </summary>
public IWindow CurrentMainWindow { get; protected set; }
public PopupData CurrentPopup => currentShownPopup.data;
private IArea currentArea;
private (PopupData data, int priority) currentShownPopup;
protected IDefaultPopup currentDefaultPopup;
@ -123,6 +125,13 @@ namespace NEG.UI
UpdatePopupsState(forceShow, priority, data);
}
public void RefreshPopups()
{
if(currentShownPopup.data is { IsValid: true })
return;
UpdatePopupsState(false);
}
protected void PopupClosed(PopupData data)
{
if (currentShownPopup.data != data)
@ -147,10 +156,16 @@ namespace NEG.UI
return;
}
if(!popupsToShow.TryDequeue(out var d, out int p))
return;
while (popupsToShow.TryDequeue(out var d, out int p))
{
if(!d.IsValid)
continue;
ShowPopup(d, p);
return;
}
ShowPopup(d, p);
currentShownPopup.data?.Hide();
currentShownPopup.data = null;
}
private void ShowPopup(PopupData data, int priority)

View File

@ -6,9 +6,9 @@ namespace NEG.UI.UnityUi.Buttons
[RequireComponent(typeof(BaseButton))]
public abstract class ButtonReaction : MonoBehaviour
{
private void Awake() => GetComponent<BaseButton>().OnButtonPressed += OnClicked;
protected virtual void Awake() => GetComponent<BaseButton>().OnButtonPressed += OnClicked;
private void OnDestroy() => GetComponent<BaseButton>().OnButtonPressed -= OnClicked;
protected virtual void OnDestroy() => GetComponent<BaseButton>().OnButtonPressed -= OnClicked;
protected abstract void OnClicked();
}

View File

@ -11,6 +11,7 @@ namespace NEG.UI.UnityUi
[PublicAPI]
public class CarouselList : MonoBehaviour
{
public event Action<int> OnSelectedItemChanged;
/// <summary>
/// Current option
/// </summary>
@ -54,6 +55,7 @@ namespace NEG.UI.UnityUi
CurrentOptionId = option;
CurrentOption = options[option];
currentOptionText.text = CurrentOption;
OnSelectedItemChanged?.Invoke(CurrentOptionId);
}
/// <summary>

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: ffc2c67f6a714d441aa9dfd425e5937e
guid: caeb30c40f1a46041b0ad218cb94902d
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -10,7 +10,9 @@
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"precompiledReferences": [
""
],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: d7c723fd6c577334eb3ec43fa26c4a23
guid: f8cf2e6d12f27fb47a577cb5a7537ccf
AssemblyDefinitionImporter:
externalObjects: {}
userData:

View File

@ -27,6 +27,8 @@ namespace NEG.UI.UnityUi
public KeyBasedFactory<string, ButtonElementBehaviour> BehavioursFactory { get; private set; }
//TODO: editor to auto add slots, buttons
private readonly MonoDefaultPopup defaultPopupPrefab;
private readonly GameObject canvasPrefab;

View File

@ -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();

View File

@ -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<MonoWindow>();
}

View File

@ -1,6 +1,7 @@
using NEG.UI.Area;
using NEG.UI.Window;
using NEG.UI.WindowSlot;
using System;
using UnityEngine;
using TNRD;

587
VectorSwizzle.cs Normal file
View File

@ -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); }
}
}

3
VectorSwizzle.cs.meta Normal file
View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 1eabc54731364f26a970427687506eea
timeCreated: 1680871329