Skip to content
This repository was archived by the owner on Jul 18, 2019. It is now read-only.

Commit feae168

Browse files
author
nrzull
committed
move customization render methods to lobby service
1 parent 515317a commit feae168

File tree

2 files changed

+65
-56
lines changed

2 files changed

+65
-56
lines changed

client/csharp/Character/Lobby/Creator/Service.cs

Lines changed: 23 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,6 @@ static void CustomizeFaceFeature(string key, float value)
165165
}
166166
}
167167

168-
169-
170168
static void CustomizeHeadOverlay(string key, int value)
171169
{
172170
foreach (var field in HeadOverlays.GetType().GetFields())
@@ -176,73 +174,41 @@ static void CustomizeHeadOverlay(string key, int value)
176174
var headOverlay = (Schemes.HeadOverlay)field.GetValue(HeadOverlays);
177175

178176
headOverlay.Current = value;
179-
RenderHeadOverlay(headOverlay);
177+
178+
Lobby.Service.RenderHeadOverlay(new Shared.Schemes.HeadOverlay
179+
{
180+
Index = headOverlay.Index,
181+
Value = headOverlay.Values.ElementAt(headOverlay.Current)
182+
});
183+
180184
break;
181185
}
182186
}
183187

184-
static void RenderHeadOverlay(Schemes.HeadOverlay headOverlay)
185-
{
186-
RAGE.Elements.Player.LocalPlayer.SetHeadOverlay(headOverlay.Index, headOverlay.Values.ElementAt(headOverlay.Current), 1);
187-
}
188-
189188
static void CustomizeSex(string sex)
190189
{
191190
Sex.Current = sex;
192-
RenderSex();
191+
Lobby.Service.RenderSex(Sex.Current);
193192
Reset(sex: false);
194193
SendInitialDataToUi(sex: false);
195194
}
196195

197-
static void RenderSex()
198-
{
199-
if (Sex.Current == "male")
200-
{
201-
RAGE.Elements.Player.LocalPlayer.Model = RAGE.Game.Misc.GetHashKey("mp_m_freemode_01");
202-
}
203-
else
204-
{
205-
RAGE.Elements.Player.LocalPlayer.Model = RAGE.Game.Misc.GetHashKey("mp_f_freemode_01");
206-
}
207-
}
208-
209196
static void CustomizeHair(int value)
210197
{
211198
Hair.Current = value;
212-
RenderHair();
213-
}
214-
215-
static void RenderHair()
216-
{
217-
RAGE.Elements.Player.LocalPlayer.SetComponentVariation(Hair.Index, Hair.Values[Hair.Current], 0, 0);
199+
Lobby.Service.RenderHair(Hair.Values[Hair.Current]);
218200
}
219201

220202
static void CustomizeColor(int value)
221203
{
222204
Color.Current = value;
223-
RenderColor();
224-
}
225-
226-
static void RenderColor()
227-
{
228-
RAGE.Elements.Player.LocalPlayer.SetHairColor(Color.Values[Color.Current], 0);
229-
230-
RAGE.Elements.Player.LocalPlayer.SetHeadOverlayColor(HeadOverlays.FacialHair.Index, 1, Color.Values[Color.Current], 0);
231-
232-
RAGE.Elements.Player.LocalPlayer.SetHeadOverlayColor(HeadOverlays.ChestHair.Index, 1, Color.Values[Color.Current], 0);
233-
234-
RAGE.Elements.Player.LocalPlayer.SetHeadOverlayColor(HeadOverlays.Eyebrows.Index, 1, Color.Values[Color.Current], 0);
205+
Lobby.Service.RenderColor(Color.Values[Color.Current]);
235206
}
236207

237208
static void CustomizeEyeColor(int value)
238209
{
239210
EyeColor.Current = value;
240-
RenderEyeColor();
241-
}
242-
243-
static void RenderEyeColor()
244-
{
245-
RAGE.Elements.Player.LocalPlayer.SetEyeColor(EyeColor.Values[EyeColor.Current]);
211+
Lobby.Service.RenderEyeColor(EyeColor.Current);
246212
}
247213

248214
static void CustomizeBlendData(string key, dynamic value)
@@ -251,12 +217,7 @@ static void CustomizeBlendData(string key, dynamic value)
251217
if (key == "mother") BlendData.SetMother((int)value);
252218
if (key == "shape-mix") BlendData.SetShapeMix((float)value);
253219
if (key == "skin-mix") BlendData.SetSkinMix((float)value);
254-
RenderBlendData();
255-
}
256-
257-
static void RenderBlendData()
258-
{
259-
RAGE.Elements.Player.LocalPlayer.SetHeadBlendData(BlendData.Current.Item1, BlendData.Current.Item2, BlendData.Current.Item3, BlendData.Current.Item4, BlendData.Current.Item5, BlendData.Current.Item6, BlendData.Current.Item7, BlendData.Current.Item8, BlendData.Current.Item9, BlendData.Current.Item10);
220+
Lobby.Service.RenderBlendData(BlendData.Current);
260221
}
261222

262223
static void Reset(bool sex = true)
@@ -270,7 +231,7 @@ static void Reset(bool sex = true)
270231
if (sex)
271232
{
272233
Sex = new Schemes.Sex { };
273-
RenderSex();
234+
Lobby.Service.RenderSex(Sex.Current);
274235
}
275236

276237
Schemes.Hair TargetHair;
@@ -285,7 +246,7 @@ static void Reset(bool sex = true)
285246
Values = TargetHair.Values
286247
};
287248

288-
RenderBlendData();
249+
Lobby.Service.RenderBlendData(BlendData.Current);
289250

290251
foreach (var item in FaceFeatures.GetType().GetFields())
291252
{
@@ -302,11 +263,17 @@ static void Reset(bool sex = true)
302263
{
303264
var headOverlay = (Schemes.HeadOverlay)item.GetValue(HeadOverlays);
304265

305-
RenderHeadOverlay(headOverlay);
266+
267+
Lobby.Service.RenderHeadOverlay(new Shared.Schemes.HeadOverlay
268+
{
269+
Index = headOverlay.Index,
270+
Value = headOverlay.Values.ElementAt(headOverlay.Current)
271+
});
306272
}
307273

308-
RenderHair();
309-
RenderColor();
274+
Lobby.Service.RenderHair(Hair.Values[Hair.Current]);
275+
Lobby.Service.RenderColor(Color.Values[Color.Current]);
276+
Lobby.Service.RenderEyeColor(EyeColor.Current);
310277
}
311278
}
312279
}

client/csharp/Character/Lobby/Service.cs

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,5 +41,47 @@ public static void RenderFaceFeature(Shared.Schemes.FaceFeature faceFeature)
4141
{
4242
RAGE.Elements.Player.LocalPlayer.SetFaceFeature(faceFeature.Index, faceFeature.Value);
4343
}
44+
45+
public static void RenderHeadOverlay(Shared.Schemes.HeadOverlay headOverlay)
46+
{
47+
RAGE.Elements.Player.LocalPlayer.SetHeadOverlay(headOverlay.Index, headOverlay.Value, 1);
48+
}
49+
50+
public static void RenderSex(string sex)
51+
{
52+
if (sex == "male")
53+
{
54+
RAGE.Elements.Player.LocalPlayer.Model = RAGE.Game.Misc.GetHashKey("mp_m_freemode_01");
55+
}
56+
else
57+
{
58+
RAGE.Elements.Player.LocalPlayer.Model = RAGE.Game.Misc.GetHashKey("mp_f_freemode_01");
59+
}
60+
}
61+
62+
public static void RenderBlendData((int, int, int, int, int, int, float, float, float, bool) data)
63+
{
64+
RAGE.Elements.Player.LocalPlayer.SetHeadBlendData(data.Item1, data.Item2, data.Item3, data.Item4, data.Item5, data.Item6, data.Item7, data.Item8, data.Item9, data.Item10);
65+
}
66+
67+
public static void RenderEyeColor(int color)
68+
{
69+
RAGE.Elements.Player.LocalPlayer.SetEyeColor(color);
70+
}
71+
72+
public static void RenderHair(int value)
73+
{
74+
RAGE.Elements.Player.LocalPlayer.SetComponentVariation(2, value, 0, 0);
75+
}
76+
77+
public static void RenderColor(int color)
78+
{
79+
var player = RAGE.Elements.Player.LocalPlayer;
80+
81+
player.SetHairColor(color, 0);
82+
player.SetHeadOverlayColor(1, 1, color, 0);
83+
player.SetHeadOverlayColor(2, 1, color, 0);
84+
player.SetHeadOverlayColor(10, 1, color, 0);
85+
}
4486
}
4587
}

0 commit comments

Comments
 (0)