Skip to content

Commit fd40d9d

Browse files
committed
feat: reduce GC.Alloc()
1 parent d1a23d3 commit fd40d9d

1 file changed

Lines changed: 139 additions & 5 deletions

File tree

Scripts/GameApi/LiteNetLibSyncField.cs

Lines changed: 139 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -408,6 +408,11 @@ internal override void SerializeValue(NetDataWriter writer)
408408
{
409409
writer.Put(_value);
410410
}
411+
412+
protected override bool IsValueChanged(bool oldValue, bool newValue)
413+
{
414+
return oldValue != newValue;
415+
}
411416
}
412417

413418
[Serializable]
@@ -422,6 +427,11 @@ internal override void SerializeElementValue(NetDataWriter writer, bool element)
422427
{
423428
writer.Put(element);
424429
}
430+
431+
protected override bool IsValueChanged(bool[] oldValue, bool[] newValue)
432+
{
433+
return true;
434+
}
425435
}
426436

427437
[Serializable]
@@ -436,6 +446,11 @@ internal override void SerializeValue(NetDataWriter writer)
436446
{
437447
writer.Put(_value);
438448
}
449+
450+
protected override bool IsValueChanged(byte oldValue, byte newValue)
451+
{
452+
return oldValue != newValue;
453+
}
439454
}
440455

441456
[Serializable]
@@ -450,6 +465,11 @@ internal override void SerializeElementValue(NetDataWriter writer, byte element)
450465
{
451466
writer.Put(element);
452467
}
468+
469+
protected override bool IsValueChanged(byte[] oldValue, byte[] newValue)
470+
{
471+
return true;
472+
}
453473
}
454474

455475
[Serializable]
@@ -464,6 +484,11 @@ internal override void SerializeValue(NetDataWriter writer)
464484
{
465485
writer.Put(_value);
466486
}
487+
488+
protected override bool IsValueChanged(char oldValue, char newValue)
489+
{
490+
return oldValue != newValue;
491+
}
467492
}
468493

469494
[Serializable]
@@ -478,6 +503,11 @@ internal override void SerializeElementValue(NetDataWriter writer, char element)
478503
{
479504
writer.Put(element);
480505
}
506+
507+
protected override bool IsValueChanged(char[] oldValue, char[] newValue)
508+
{
509+
return true;
510+
}
481511
}
482512

483513
[Serializable]
@@ -492,6 +522,11 @@ internal override void SerializeValue(NetDataWriter writer)
492522
{
493523
writer.Put(_value);
494524
}
525+
526+
protected override bool IsValueChanged(double oldValue, double newValue)
527+
{
528+
return oldValue != newValue;
529+
}
495530
}
496531

497532
[Serializable]
@@ -506,6 +541,11 @@ internal override void SerializeElementValue(NetDataWriter writer, double elemen
506541
{
507542
writer.Put(element);
508543
}
544+
545+
protected override bool IsValueChanged(double[] oldValue, double[] newValue)
546+
{
547+
return true;
548+
}
509549
}
510550

511551
[Serializable]
@@ -520,6 +560,11 @@ internal override void SerializeValue(NetDataWriter writer)
520560
{
521561
writer.Put(_value);
522562
}
563+
564+
protected override bool IsValueChanged(float oldValue, float newValue)
565+
{
566+
return oldValue != newValue;
567+
}
523568
}
524569

525570
[Serializable]
@@ -534,6 +579,11 @@ internal override void SerializeElementValue(NetDataWriter writer, float element
534579
{
535580
writer.Put(element);
536581
}
582+
583+
protected override bool IsValueChanged(float[] oldValue, float[] newValue)
584+
{
585+
return true;
586+
}
537587
}
538588

539589
[Serializable]
@@ -548,6 +598,11 @@ internal override void SerializeValue(NetDataWriter writer)
548598
{
549599
writer.PutPackedInt(_value);
550600
}
601+
602+
protected override bool IsValueChanged(int oldValue, int newValue)
603+
{
604+
return oldValue != newValue;
605+
}
551606
}
552607

553608
[Serializable]
@@ -562,6 +617,11 @@ internal override void SerializeElementValue(NetDataWriter writer, int element)
562617
{
563618
writer.PutPackedInt(element);
564619
}
620+
621+
protected override bool IsValueChanged(int[] oldValue, int[] newValue)
622+
{
623+
return true;
624+
}
565625
}
566626

567627
[Serializable]
@@ -576,6 +636,11 @@ internal override void SerializeValue(NetDataWriter writer)
576636
{
577637
writer.PutPackedLong(_value);
578638
}
639+
640+
protected override bool IsValueChanged(long oldValue, long newValue)
641+
{
642+
return oldValue != newValue;
643+
}
579644
}
580645

581646
[Serializable]
@@ -590,6 +655,11 @@ internal override void SerializeElementValue(NetDataWriter writer, long element)
590655
{
591656
writer.PutPackedLong(element);
592657
}
658+
659+
protected override bool IsValueChanged(long[] oldValue, long[] newValue)
660+
{
661+
return true;
662+
}
593663
}
594664

595665
[Serializable]
@@ -604,6 +674,11 @@ internal override void SerializeValue(NetDataWriter writer)
604674
{
605675
writer.Put(_value);
606676
}
677+
678+
protected override bool IsValueChanged(object oldValue, object newValue)
679+
{
680+
return oldValue != newValue;
681+
}
607682
}
608683

609684
[Serializable]
@@ -618,6 +693,11 @@ internal override void SerializeElementValue(NetDataWriter writer, sbyte element
618693
{
619694
writer.Put(element);
620695
}
696+
697+
protected override bool IsValueChanged(object oldValue, object newValue)
698+
{
699+
return true;
700+
}
621701
}
622702

623703
[Serializable]
@@ -632,6 +712,11 @@ internal override void SerializeValue(NetDataWriter writer)
632712
{
633713
writer.PutPackedShort(_value);
634714
}
715+
716+
protected override bool IsValueChanged(object oldValue, object newValue)
717+
{
718+
return oldValue != newValue;
719+
}
635720
}
636721

637722
[Serializable]
@@ -646,6 +731,11 @@ internal override void SerializeElementValue(NetDataWriter writer, short element
646731
{
647732
writer.PutPackedShort(element);
648733
}
734+
735+
protected override bool IsValueChanged(object oldValue, object newValue)
736+
{
737+
return true;
738+
}
649739
}
650740

651741
[Serializable]
@@ -660,6 +750,11 @@ internal override void SerializeValue(NetDataWriter writer)
660750
{
661751
writer.Put(_value);
662752
}
753+
754+
protected override bool IsValueChanged(object oldValue, object newValue)
755+
{
756+
return oldValue != newValue;
757+
}
663758
}
664759

665760
[Serializable]
@@ -674,6 +769,11 @@ internal override void SerializeElementValue(NetDataWriter writer, string elemen
674769
{
675770
writer.Put(element);
676771
}
772+
773+
protected override bool IsValueChanged(object oldValue, object newValue)
774+
{
775+
return true;
776+
}
677777
}
678778

679779
[Serializable]
@@ -688,6 +788,11 @@ internal override void SerializeValue(NetDataWriter writer)
688788
{
689789
writer.PutPackedUInt(_value);
690790
}
791+
792+
protected override bool IsValueChanged(object oldValue, object newValue)
793+
{
794+
return oldValue != newValue;
795+
}
691796
}
692797

693798
[Serializable]
@@ -702,6 +807,11 @@ internal override void SerializeElementValue(NetDataWriter writer, uint element)
702807
{
703808
writer.PutPackedUInt(element);
704809
}
810+
811+
protected override bool IsValueChanged(object oldValue, object newValue)
812+
{
813+
return true;
814+
}
705815
}
706816

707817
[Serializable]
@@ -716,6 +826,11 @@ internal override void SerializeValue(NetDataWriter writer)
716826
{
717827
writer.PutPackedULong(_value);
718828
}
829+
830+
protected override bool IsValueChanged(object oldValue, object newValue)
831+
{
832+
return oldValue != newValue;
833+
}
719834
}
720835

721836
[Serializable]
@@ -730,6 +845,11 @@ internal override void SerializeElementValue(NetDataWriter writer, ulong element
730845
{
731846
writer.PutPackedULong(element);
732847
}
848+
849+
protected override bool IsValueChanged(object oldValue, object newValue)
850+
{
851+
return true;
852+
}
733853
}
734854

735855
[Serializable]
@@ -744,6 +864,11 @@ internal override void SerializeValue(NetDataWriter writer)
744864
{
745865
writer.PutPackedUShort(_value);
746866
}
867+
868+
protected override bool IsValueChanged(object oldValue, object newValue)
869+
{
870+
return oldValue != newValue;
871+
}
747872
}
748873

749874
[Serializable]
@@ -758,11 +883,20 @@ internal override void SerializeElementValue(NetDataWriter writer, ushort elemen
758883
{
759884
writer.PutPackedUShort(element);
760885
}
886+
887+
protected override bool IsValueChanged(object oldValue, object newValue)
888+
{
889+
return true;
890+
}
761891
}
762892

763893
[Serializable]
764894
public class SyncFieldColor : LiteNetLibSyncField<Color>
765895
{
896+
protected override bool IsValueChanged(Color oldValue, Color newValue)
897+
{
898+
return oldValue.r != newValue.r || oldValue.g != newValue.g || oldValue.b != newValue.b || oldValue.a != newValue.a;
899+
}
766900
}
767901

768902
[Serializable]
@@ -878,7 +1012,7 @@ public class SyncFieldDirectionVector2 : SyncFieldNetSerializableStruct<Directio
8781012
{
8791013
protected override bool IsValueChanged(DirectionVector2 oldValue, DirectionVector2 newValue)
8801014
{
881-
return Value.x != newValue.x || Value.y != newValue.y;
1015+
return oldValue.x != newValue.x || oldValue.y != newValue.y;
8821016
}
8831017
}
8841018

@@ -887,7 +1021,7 @@ public class SyncFieldDirectionVector3 : SyncFieldNetSerializableStruct<Directio
8871021
{
8881022
protected override bool IsValueChanged(DirectionVector3 oldValue, DirectionVector3 newValue)
8891023
{
890-
return Value.x != newValue.x || Value.y != newValue.y || Value.z != newValue.z;
1024+
return oldValue.x != newValue.x || oldValue.y != newValue.y || oldValue.z != newValue.z;
8911025
}
8921026
}
8931027

@@ -896,7 +1030,7 @@ public class SyncFieldHalfPrecision : SyncFieldNetSerializableStruct<HalfPrecisi
8961030
{
8971031
protected override bool IsValueChanged(HalfPrecision oldValue, HalfPrecision newValue)
8981032
{
899-
return Value.halfValue != newValue.halfValue;
1033+
return oldValue.halfValue != newValue.halfValue;
9001034
}
9011035
}
9021036

@@ -905,7 +1039,7 @@ public class SyncFieldHalfVector2 : SyncFieldNetSerializableStruct<HalfVector2>
9051039
{
9061040
protected override bool IsValueChanged(HalfVector2 oldValue, HalfVector2 newValue)
9071041
{
908-
return Value.x != newValue.x || Value.y != newValue.y;
1042+
return oldValue.x != newValue.x || oldValue.y != newValue.y;
9091043
}
9101044
}
9111045

@@ -914,7 +1048,7 @@ public class SyncFieldHalfVector3 : SyncFieldNetSerializableStruct<HalfVector3>
9141048
{
9151049
protected override bool IsValueChanged(HalfVector3 oldValue, HalfVector3 newValue)
9161050
{
917-
return Value.x != newValue.x || Value.y != newValue.y || Value.z != newValue.z;
1051+
return oldValue.x != newValue.x || oldValue.y != newValue.y || oldValue.z != newValue.z;
9181052
}
9191053
}
9201054
#endregion

0 commit comments

Comments
 (0)