Skip to content

Instantly share code, notes, and snippets.

@iwaken71
Last active October 13, 2023 06:43
Show Gist options
  • Save iwaken71/7615effb5fd0707c428bcb19216c9429 to your computer and use it in GitHub Desktop.
Save iwaken71/7615effb5fd0707c428bcb19216c9429 to your computer and use it in GitHub Desktop.
using {/Fortnite.com/Devices }
using {/Fortnite.com/UI}
using {/UnrealEngine.com/Temporary/UI}
using {/UnrealEngine.com/Temporary/SpatialMath}
using {/Verse.org/Assets}
using {/Verse.org/Simulation}
using {/Verse.org/Colors}
ui_practive<public> := module:
ui_practice_device<public> := class(creative_device):
var WidgetClassPerPlayer: [player]MyWidgetClass = map{}
InitializeUI<public>():void=
AllPlayers := GetPlayspace().GetPlayers()
for(Player : AllPlayers):
if(WClass := WidgetClassPerPlayer[Player]):
Print("Exist")
else if(WClass := set WidgetClassPerPlayer[Player] = MyWidgetClass{}):
WClass.AddUI(Player)
UpdateText<public>(Text:string):void=
AllPlayers := GetPlayspace().GetPlayers()
for(Player : AllPlayers):
if(WClass := WidgetClassPerPlayer[Player]):
WClass.UpdateText(Text)
UpdateTexture<public>(Texture:texture):void=
AllPlayers := GetPlayspace().GetPlayers()
for(Player : AllPlayers):
if(WClass := WidgetClassPerPlayer[Player]):
WClass.UpdateTexture(Texture)
MyWidgetClass := class:
TextToMessage<localizes>(NewText:string):message = "{NewText}"
ImageSize:vector2 = vector2{X := 128.0, Y := 128.0}
SlideSize:vector2 = vector2{X := 320.0, Y := 180.0}
var TextWidget: text_block = text_block{}
var SlideTextureWidget:texture_block = texture_block{DefaultImage := Textures.Slide01}
UpdateText(NewText:string):void=
TextWidget.SetText(TextToMessage(NewText))
UpdateTexture(NewTexture:texture):void=
SlideTextureWidget.SetImage(NewTexture)
AddUI(Agent:agent):void=
if(Player := player[Agent], PlayerUI := GetPlayerUI[Player]):
Widget:canvas = CreateWidget(Agent)
PlayerUI.AddWidget(Widget)
CreateWidget(Agent:agent):canvas=
set TextWidget = text_block{DefaultTextColor := NamedColors.White, DefaultText := TextToMessage("現在スライド1枚目")}
set SlideTextureWidget = texture_block{DefaultImage := Textures.Slide01, DefaultDesiredSize := SlideSize}
MyCanvas: canvas = canvas:
Slots := array:
canvas_slot:
Anchors := anchors{Minimum := vector2{X:=0.5, Y:=0.9}, Maximum := vector2{X:=0.5, Y:=0.9}}
Offsets := margin{Top := 0.0,Left := 0.0, Right := 0.0, Bottom := 100.0}
Alignment := vector2{X:=0.5, Y:=1.0}
SizeToContent := true
Widget := SlideTextureWidget
canvas_slot:
Anchors := anchors{Minimum := vector2{X:=0.5, Y:=1.0}, Maximum := vector2{X:=0.5, Y:=1.0}}
Offsets := margin{Top := 0.0,Left := 0.0, Right := 0.0, Bottom := 64.0}
Alignment := vector2{X:=0.5, Y:=1.0}
SizeToContent := true
Widget := TextWidget
return MyCanvas
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment