New Version 1.42

Moving cam replay.
Fixed the bugs.

New Version 1.42

Moving cam replay.
Fixed the bugs.

New Version 1.42

Moving cam replay,
Fixed the bugs.
This commit is contained in:
SkunkStudios 2025-01-29 09:54:37 +07:00
parent dcb7df5fd1
commit 1c033119df
7079 changed files with 186851 additions and 48991 deletions

View file

@ -0,0 +1,154 @@
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
namespace TMPro
{
public class FastAction
{
LinkedList<System.Action> delegates = new LinkedList<System.Action>();
Dictionary<System.Action, LinkedListNode<System.Action>> lookup = new Dictionary<System.Action, LinkedListNode<System.Action>>();
public void Add(System.Action rhs)
{
if (lookup.ContainsKey(rhs)) return;
lookup[rhs] = delegates.AddLast(rhs);
}
public void Remove(System.Action rhs)
{
LinkedListNode<System.Action> node;
if (lookup.TryGetValue(rhs, out node))
{
lookup.Remove(rhs);
delegates.Remove(node);
}
}
public void Call()
{
var node = delegates.First;
while (node != null)
{
node.Value();
node = node.Next;
}
}
}
public class FastAction<A>
{
LinkedList<System.Action<A>> delegates = new LinkedList<System.Action<A>>();
Dictionary<System.Action<A>, LinkedListNode<System.Action<A>>> lookup = new Dictionary<System.Action<A>, LinkedListNode<System.Action<A>>>();
public void Add(System.Action<A> rhs)
{
if (lookup.ContainsKey(rhs)) return;
lookup[rhs] = delegates.AddLast(rhs);
}
public void Remove(System.Action<A> rhs)
{
LinkedListNode<System.Action<A>> node;
if (lookup.TryGetValue(rhs, out node))
{
lookup.Remove(rhs);
delegates.Remove(node);
}
}
public void Call(A a)
{
var node = delegates.First;
while (node != null)
{
node.Value(a);
node = node.Next;
}
}
}
public class FastAction<A, B>
{
LinkedList<System.Action<A, B>> delegates = new LinkedList<System.Action<A, B>>();
Dictionary<System.Action<A, B>, LinkedListNode<System.Action<A, B>>> lookup = new Dictionary<System.Action<A, B>, LinkedListNode<System.Action<A, B>>>();
public void Add(System.Action<A, B> rhs)
{
if (lookup.ContainsKey(rhs)) return;
lookup[rhs] = delegates.AddLast(rhs);
}
public void Remove(System.Action<A, B> rhs)
{
LinkedListNode<System.Action<A, B>> node;
if (lookup.TryGetValue(rhs, out node))
{
lookup.Remove(rhs);
delegates.Remove(node);
}
}
public void Call(A a, B b)
{
var node = delegates.First;
while (node != null)
{
node.Value(a, b);
node = node.Next;
}
}
}
public class FastAction<A, B, C>
{
LinkedList<System.Action<A, B, C>> delegates = new LinkedList<System.Action<A, B, C>>();
Dictionary<System.Action<A, B, C>, LinkedListNode<System.Action<A, B, C>>> lookup = new Dictionary<System.Action<A, B, C>, LinkedListNode<System.Action<A, B, C>>>();
public void Add(System.Action<A, B, C> rhs)
{
if (lookup.ContainsKey(rhs)) return;
lookup[rhs] = delegates.AddLast(rhs);
}
public void Remove(System.Action<A, B, C> rhs)
{
LinkedListNode<System.Action<A, B, C>> node;
if (lookup.TryGetValue(rhs, out node))
{
lookup.Remove(rhs);
delegates.Remove(node);
}
}
public void Call(A a, B b, C c)
{
var node = delegates.First;
while (node != null)
{
node.Value(a, b, c);
node = node.Next;
}
}
}
}