emoteconstructor.c 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. class EmoteConstructor
  2. {
  3. bool ConstructEmotes(PlayerBase player, out map<int, ref EmoteBase> emoteMap)
  4. {
  5. TTypenameArray emote_array_names = new TTypenameArray;
  6. RegisterEmotes(emote_array_names);
  7. Sort(emote_array_names,emote_array_names.Count());
  8. emoteMap = new map<int, ref EmoteBase>;
  9. ref EmoteBase new_emote;
  10. for (int i = 0; i < emote_array_names.Count(); i++)
  11. {
  12. new_emote = EmoteBase.Cast(emote_array_names[i].Spawn());
  13. if (new_emote)
  14. {
  15. if (new_emote.GetID() < 0)
  16. {
  17. ErrorEx("Emote " + emote_array_names[i].ToString() + " has an invalid ID, registation failed!");
  18. return false;
  19. }
  20. else if (emoteMap.Contains(new_emote.GetID()))
  21. {
  22. ErrorEx("Emote " + emote_array_names[i].ToString() + " has a duplicate ID, registation failed!");
  23. return false;
  24. }
  25. else
  26. {
  27. new_emote.SetOwnerPlayer(player);
  28. emoteMap.Insert(new_emote.GetID(), new_emote);
  29. }
  30. }
  31. }
  32. return true;
  33. }
  34. void RegisterEmotes(TTypenameArray emotes)
  35. {
  36. emotes.Insert(EmoteGreeting);
  37. emotes.Insert(EmoteSOS);
  38. emotes.Insert(EmoteHeart);
  39. emotes.Insert(EmoteTaunt);
  40. emotes.Insert(EmoteLyingDown);
  41. emotes.Insert(EmoteTauntKiss);
  42. emotes.Insert(EmotePoint);
  43. emotes.Insert(EmoteTauntElbow);
  44. emotes.Insert(EmoteThumb);
  45. emotes.Insert(EmoteThumbDown);
  46. emotes.Insert(EmoteThroat);
  47. emotes.Insert(EmoteDance);
  48. emotes.Insert(EmoteSalute);
  49. emotes.Insert(EmoteTimeout);
  50. //emotes.Insert(EmoteDabbing);
  51. emotes.Insert(EmoteFacepalm);
  52. emotes.Insert(EmoteClap);
  53. emotes.Insert(EmoteSilent);
  54. emotes.Insert(EmoteWatching);
  55. emotes.Insert(EmoteHold);
  56. emotes.Insert(EmoteListening);
  57. emotes.Insert(EmotePointSelf);
  58. emotes.Insert(EmoteLookAtMe);
  59. emotes.Insert(EmoteTauntThink);
  60. emotes.Insert(EmoteMove);
  61. emotes.Insert(EmoteGetDown);
  62. emotes.Insert(EmoteCome);
  63. emotes.Insert(EmoteSurrender); //exception, partially handled in EmoteManager directly (..)
  64. emotes.Insert(EmoteCampfireSit);
  65. emotes.Insert(EmoteSitA);
  66. emotes.Insert(EmoteSitB);
  67. emotes.Insert(EmoteRPSRandom);
  68. emotes.Insert(EmoteRPSRock);
  69. emotes.Insert(EmoteRPSPaper);
  70. emotes.Insert(EmoteRPSScisors);
  71. emotes.Insert(EmoteNod);
  72. emotes.Insert(EmoteShake);
  73. emotes.Insert(EmoteShrug);
  74. emotes.Insert(EmoteSuicide);
  75. emotes.Insert(EmoteVomit);
  76. }
  77. }