component PresetAvatarView { public PresetAvatarView() { int PresetAvatarCount = hsPlayerGetPresetAvatarCount(); _CreatePresetAvatarList(false, PresetAvatarCount, 5, 162, 182); _CreatePresetAvatarList(true, PresetAvatarCount, 4, 267, 300); } void _CreatePresetAvatarList(bool IsPortrait, int PresetAvatarCount, int MaxColCount, int XOffset, int YOffset) { string layerName = "config_avatar_List"; for(int AvatarID = 0; AvatarID < PresetAvatarCount; AvatarID++) { int col = AvatarID / MaxColCount; int row = AvatarID - col * MaxColCount; string AvatarList = "AvatarList%d" %AvatarID; string PresetAvatarSelectmark = "PresetAvatarSelectmark%d" %AvatarID; string ThumbnailURI; if(system.IsLangJA()) { ThumbnailURI = hsPlayerGetPresetAvatarThumbnailURL(AvatarID); } else { ThumbnailURI = hsPlayerGetPresetAvatarEN_ThumbnailURL(AvatarID); } if(ThumbnailURI.IsEmpty()) { ThumbnailURI = "gui2024/noimage.png"; } else { // サムネイル画像はCDNではなくローカルから読みたいので相対パスを指定する ThumbnailURI = "./" + ThumbnailURI; } if(IsPortrait) { hsAddGUIButton( layerName, IsPortrait, AvatarList, "", "", "", true, 3, -473 + row * XOffset, -498 + col * YOffset, 248, 248, 0.5, 0.5, "CM", true, 0.0, ThumbnailURI, "", "", "", 248, 248, 267, 300, 0, 0, 0, 0, 0, 0, 0, 0 ); hsAddGUIImage( layerName, IsPortrait, PresetAvatarSelectmark, "", "", "", true, 8, -374 + row * XOffset, -600 + col * YOffset, 64, 64, 0.5, 0.5, "CM", true, 0.0, "gui2024/menu/mypage/mypage_select_icon.png", 0, 0, 0, 0, 0, 0, 0, 0 ); } else { hsAddGUIButton( layerName, IsPortrait, AvatarList, "", "", "", true, 3, -211 + row * XOffset, -96 + col * YOffset, 152, 152, 0.5, 0.5, "CM", true, 0.0, ThumbnailURI, "", "", "", 152, 152, 300, 32, 0, 0, 0, 0, 0, 0, 0, 0 ); hsAddGUIImage( layerName, IsPortrait, PresetAvatarSelectmark, "", "", "", true, 8, -142 + row * XOffset, -162 + col * YOffset, 32, 32, 0.5, 0.5, "CM", true, 0.0, "gui2024/menu/mypage/mypage_select_icon.png", 0, 0, 0, 0, 0, 0, 0, 0 ); } // GUIActionを追加 system.Canvas_AddGUIAction(layerName, AvatarList, "false,Index,Index,SelectAvatarTypeIndex,%d," % AvatarID); for(int n = 0; n < PresetAvatarCount; n++) { system.Canvas_AddGUIAction(layerName, AvatarList, "false,String,String,ToggleDefault,Toggle_PresetAvatarSelectmark%d," % n); if(n == AvatarID) { system.Canvas_AddGUIAction(layerName, AvatarList, "false,String,String,ToggleChange,Toggle_PresetAvatarSelectmark%d," % AvatarID); } } // Toggleを追加 system.Canvas_AddGUIToggle(layerName, PresetAvatarSelectmark, "Toggle_PresetAvatarSelectmark%d" % AvatarID, false); // カメラ撮影時非表示化 system.Canvas_AddGUIToggle(layerName, PresetAvatarSelectmark, "Toggle_MoveKeyOnly", true); system.Canvas_AddGUIToggle(layerName, AvatarList, "Toggle_MoveKeyOnly", true); } } }