public static GameObject CreateButton(Transform aParent) { var go = DefaultControls.CreateButton(GetStandardResources()); go.transform.SetParent(aParent); return(go); }
void initData() { RectTransform content = svContent.Find("Viewport/Content").GetComponent <RectTransform> (); DefaultControls.Resources res = new DefaultControls.Resources(); // res.standard = UnityEditor.AssetDatabase.GetBuiltinExtraResource<Sprite>("UI/Skin/UISprite.psd"); // res.standard = Resources.GetBuiltinResource(typeof(Sprite), "Resources/unity_builtin_extra/UISprite.psd") as Sprite; Vector2 btnSize = new Vector2(200, 40); foreach (string eventName in eventNameList) { Button button = DefaultControls.CreateButton(res).GetComponent <Button> (); // button.image.sprite = res.standard; button.GetComponent <RectTransform> ().sizeDelta = btnSize; Text txtTitle = button.transform.Find("Text").GetComponent <Text> (); txtTitle.fontSize = 16; txtTitle.text = eventName; button.onClick.AddListener(delegate { buttonClick(button); }); button.transform.SetParent(content); } int margin = 10; content.sizeDelta = new Vector2(content.sizeDelta.x, eventNameList.Count * (btnSize.y + margin)); }
// Start is called before the first frame update void Start() { controllableFound = null; controllables = FindObjectsOfType <MonoBehaviour>().OfType <IControllable>().ToArray(); startingOrientation = Camera.main.transform.rotation; workingOrientation = startingOrientation; startingCameraPosition = Camera.main.transform.position; workingCameraPosition = startingCameraPosition; // Canvas myGO = new GameObject(); myGO.name = "Canvas"; myGO.AddComponent <Canvas>(); myCanvas = myGO.GetComponent <Canvas>(); myCanvas.renderMode = RenderMode.ScreenSpaceOverlay; //myCanvas.gameObject.layer = LayerMask.NameToLayer("UI"); myGO.AddComponent <CanvasScaler>(); myGO.AddComponent <GraphicRaycaster>(); newButton = DefaultControls.CreateButton(new DefaultControls.Resources()); newButton.transform.SetParent(myCanvas.transform, false); newButton.GetComponentInChildren <Text>().text = "Reset Button"; newButton.GetComponentInChildren <RectTransform>().anchoredPosition = new Vector2(0, -200); //UnityEventTools.AddPersistentListener(newButton.GetComponent<Button>().onClick, new UnityAction(ResetPositions)); newButton.GetComponent <Button>().onClick.AddListener(ResetPositions); }
public static Button CreateButton(string objectName = "New Button", Transform parent = null, string buttonText = "Button", bool autoFit = true, int textSize = 15) { GameObject go = DefaultControls.CreateButton(resources); go.name = objectName; Text text = go.GetComponentInChildren <Text>(true); text.font = defaultFont; if (!autoFit) { text.fontSize = textSize; text.resizeTextMinSize = 15; } else { text.resizeTextForBestFit = autoFit; text.resizeTextMinSize = 2; text.resizeTextMaxSize = 100; } text.alignment = TextAnchor.MiddleCenter; text.rectTransform.SetRect(Vector2.zero, Vector2.one, new Vector2(2f, 2f), new Vector2(-2f, -2f)); text.text = buttonText; go.transform.SetParent(parent, false); return(go.GetComponent <Button>()); }
static public void AddButton(MenuCommand menuCommand) { GameObject go; using (new FactorySwapToEditor()) go = DefaultControls.CreateButton(MenuOptions.GetStandardResources()); MenuOptions.PlaceUIElementRoot(go, menuCommand); }
public InventoryItem(string name) { buttonObject = DefaultControls.CreateButton(SceneManager.uiResources); button = buttonObject.GetComponent <Button>(); button.name = "Button"; this.name = name; button.onClick.AddListener(delegate { callback(); }); }
static public void AddImageButton() { var go = DefaultControls.CreateButton(Res); ToScene(go); var text = go.transform.GetComponentInChildren <Text>(); DestroyImmediate(text.gameObject); }
/// <summary> /// Create long click button /// </summary> public static GameObject CreateLongClickButton(Resources resources) { GameObject lcButton = DefaultControls.CreateButton(convertToDefaultResources(resources)); lcButton.name = "LongClickButton"; lcButton.transform.Find("Text").GetComponent <Text>().text = "长击按钮"; Object.DestroyImmediate(lcButton.GetComponent <Button>()); lcButton.AddComponent <LongClickButton>(); return(lcButton); }
static GameObject CreateTab(DefaultControls.Resources resources) { var button = DefaultControls.CreateButton(GetStandardResources()); Object.DestroyImmediate(button.GetComponent <Button>()); button.AddComponent <TabItem>(); button.name = "Tab"; button.AddComponent <LayoutElement>(); return(button); }
public static GameObject CreateDoubleClickButton(DefaultControls.Resources resources) { GameObject dcButton = DefaultControls.CreateButton(convertToDefaultResources(resources)); dcButton.name = "DoubleClickButton"; dcButton.transform.Find("Text").GetComponent <Text>().text = "双击按钮"; Object.DestroyImmediate(dcButton.GetComponent <Button>()); dcButton.AddComponent <DoubleClickButton>(); return(dcButton); }
static GameObject CreateButtonEx(UIResources resources) { GameObject button = DefaultControls.CreateButton(UIDefaultControls.ConvertToDefaultResources(resources)); button.name = "ButtonEx"; button.transform.Find("Text").GetComponent <Text>().text = "ButtonEx"; button.AddComponent <DoubleClickable>(); button.AddComponent <LongPressable>(); return(button); }
public static void CreateTree() { GameObject parent = Selection.activeGameObject; RectTransform tree = new GameObject("Tree").AddComponent <RectTransform>(); tree.SetParent(parent.transform); tree.localPosition = Vector3.zero; tree.gameObject.AddComponent <XFramework.UI.Tree>(); tree.sizeDelta = new Vector2(180, 30); // 设置模板 RectTransform itemTemplate = new GameObject("NodeTemplate").AddComponent <RectTransform>(); itemTemplate.SetParent(tree); itemTemplate.pivot = new Vector2(0, 1); itemTemplate.anchorMin = new Vector2(0, 1); itemTemplate.anchorMax = new Vector2(0, 1); itemTemplate.anchoredPosition = new Vector2(0, 0); itemTemplate.sizeDelta = new Vector2(180, 30); RectTransform button = DefaultControls.CreateButton(GetStandardResources()).GetComponent <RectTransform>(); button.SetParent(itemTemplate); button.anchoredPosition = new Vector2(10, 0); button.sizeDelta = new Vector2(160, 30); RectTransform toggle = DefaultControls.CreateToggle(GetStandardResources()).GetComponent <RectTransform>(); toggle.SetParent(itemTemplate); Object.DestroyImmediate(toggle.Find("Label").gameObject); toggle.anchoredPosition = new Vector2(-80, 0); toggle.sizeDelta = new Vector2(20, 20); RectTransform child = new GameObject("Child").AddComponent <RectTransform>(); child.SetParent(itemTemplate); child.pivot = new Vector2(0, 1); child.anchorMin = new Vector2(0, 1); child.anchorMax = new Vector2(0, 1); child.sizeDelta = Vector2.zero; child.anchoredPosition = new Vector2(20, -30); // 设置树的跟结点位置 RectTransform treeRoot = new GameObject("Root").AddComponent <RectTransform>(); treeRoot.SetParent(tree); treeRoot.pivot = new Vector2(0, 1); treeRoot.anchorMin = new Vector2(0, 1); treeRoot.anchorMax = new Vector2(0, 1); treeRoot.anchoredPosition = new Vector2(0, 0); treeRoot.sizeDelta = new Vector2(0, 0); }
private GameObject CreateUIButton <T>(string text, float xSize, float ySize, float xPos, float yPos, GameObject contentHolder, string id, T value, ButtonDelegate <T> func) { var uiButton = DefaultControls.CreateButton(uiResources); uiButton.transform.SetParent(contentHolder.transform, false); uiButton.GetComponent <RectTransform>().sizeDelta = new Vector2(xSize, ySize); uiButton.GetComponent <RectTransform>().localPosition = new Vector2(xPos, yPos); uiButton.GetComponentInChildren <Text>().text = text; uiButton.GetComponent <Button>().onClick.AddListener(() => func(id, value)); return(uiButton); }
private static void CreateGButton(MenuCommand menuCommand) { GameObject element = DefaultControls.CreateButton(GetResource()); var parent = menuCommand.context as GameObject; bool explicitParentChoice = true; if (parent == null) { parent = GetOrCreateCanvasGameObject(); explicitParentChoice = false; PrefabStage prefabStage = PrefabStageUtility.GetCurrentPrefabStage(); if (prefabStage != null && !prefabStage.IsPartOfPrefabContents(parent)) { parent = prefabStage.prefabContentsRoot; } } if (parent.GetComponentsInParent <Canvas>(true).Length == 0) { GameObject canvas = CreateNewUI(); canvas.transform.SetParent(parent.transform, false); parent = canvas; } SceneManager.MoveGameObjectToScene(element, parent.scene); Undo.RegisterCreatedObjectUndo(element, "Create " + element.name); if (element.transform.parent == null) { Undo.SetTransformParent(element.transform, parent.transform, "Parent " + element.name); } GameObjectUtility.EnsureUniqueNameForSibling(element); Undo.SetCurrentGroupName("Create " + element.name); GameObjectUtility.SetParentAndAlign(element, parent); if (!explicitParentChoice) { SetPositionVisibleinSceneView(parent.GetComponent <RectTransform>(), element.GetComponent <RectTransform>()); } Selection.activeGameObject = element; element.AddComponent <GButton>(); element.GetComponent <Button>().transition = Selectable.Transition.None; }
private static void CreateUIButton() { var active = Selection.activeObject as GameObject; if (!active) { return; } var root = active.transform; var go = DefaultControls.CreateButton(GetStandardResources()); go.AddComponent <UIButtonDoTween>(); go.transform.SetParent(root); }
private static void Postfix(ref FejdStartup __instance) { // logo if (Configuration.Current.ValheimPlus.IsEnabled && Configuration.Current.ValheimPlus.mainMenuLogo) { GameObject logo = GameObject.Find("LOGO"); logo.GetComponent <Image>().sprite = VPlusMainMenu.VPlusLogoSprite; } // version text for bottom right of startup __instance.m_versionLabel.fontSize = 14; string gameVersion = Version.CombineVersion(global::Version.m_major, global::Version.m_minor, global::Version.m_patch); __instance.m_versionLabel.text = "version " + gameVersion + "\n" + "ValheimPlus " + ValheimPlusPlugin.version; if (Configuration.Current.ValheimPlus.IsEnabled && Configuration.Current.ValheimPlus.serverBrowserAdvertisement) { DefaultControls.Resources uiResources = new DefaultControls.Resources(); GameObject joinpanel = GameObjectAssistant.GetChildComponentByName <Transform>("JoinPanel", __instance.m_startGamePanel).gameObject; if (joinpanel) { foreach (Transform panel in joinpanel.transform) { if (panel.gameObject.name == "Server help") { GameObject serverHelpObj = panel.gameObject; GameObject banner = GameObject.Instantiate(serverHelpObj); banner.transform.SetParent(joinpanel.transform, false); banner.transform.localPosition = banner.transform.localPosition + new Vector3(0, -300); banner.GetComponent <RectTransform>().sizeDelta = new Vector2(315, 315); banner.transform.GetChild(0).GetComponent <Text>().text = ""; banner.transform.GetChild(1).gameObject.SetActive(false); GameObject bannerButton = DefaultControls.CreateButton(uiResources); bannerButton.transform.SetParent(banner.transform, false); bannerButton.GetComponentInChildren <Text>().text = ""; bannerButton.GetComponent <RectTransform>().sizeDelta = new Vector2(315, 315); bannerButton.GetComponent <Button>().image.sprite = VPlusMainMenu.VPlusBannerSprite; bannerButton.GetComponent <Button>().transition = Selectable.Transition.SpriteSwap; SpriteState ss = new SpriteState(); ss.highlightedSprite = VPlusMainMenu.VPlusBannerHoverSprite; bannerButton.GetComponent <Button>().spriteState = ss; bannerButton.GetComponent <Button>().onClick.AddListener(delegate { Application.OpenURL("http://zap-hosting-banner.valheim.plus"); }); } } } } }
public static GameObject CreateDoubleClickButton(DefaultControls.Resources resources) { GameObject btn = DefaultControls.CreateButton(resources); btn.name = "DoubleClickButton"; btn.transform.Find("Text").GetComponent <Text>().text = "DoubleClickButton"; Image image = btn.GetComponent <Image>(); image.sprite = resources.standard; image.type = Image.Type.Sliced; Object.DestroyImmediate(btn.GetComponent <Button>()); btn.AddComponent <DoubleClickButton>(); return(btn); }
public static void CreateButtonActions() { GameObject canvas = CreateSceneObject.GetCanvasGameObject(); GameObject buttonGO = DefaultControls.CreateButton(CreateSceneObject.GetStandardResources()); buttonGO.transform.SetParent(canvas.transform, false); Button button = buttonGO.GetComponent <Button>(); Graphic targetGraphic = button.targetGraphic; DestroyImmediate(button); ButtonActions buttonActions = buttonGO.AddComponent <ButtonActions>(); buttonActions.targetGraphic = targetGraphic; Selection.activeGameObject = buttonGO; }
static public void AddButton(MenuCommand menuCommand) { GameObject go = DefaultControls.CreateButton(GetStandardResources()); var image = go.GetComponent <Image>(); image.sprite = CustomizeUGUICreate.GetDefalutSprite(image.gameObject) ? CustomizeUGUICreate.GetDefalutSprite(image.gameObject) : image.sprite; image.material = CustomizeUGUICreate.GetDefalutMaterial(image.gameObject) ? CustomizeUGUICreate.GetDefalutMaterial(image.gameObject) : image.material; var text = go.transform.GetChild(0).GetComponent <Text>(); text.supportRichText = CustomizeUGUICreate.IsRich; text.raycastTarget = CustomizeUGUICreate.IsRayCastTarget; text.material = CustomizeUGUICreate.GetDefalutMaterial(text.gameObject) ? CustomizeUGUICreate.GetDefalutMaterial(text.gameObject) : text.material; PlaceUIElementRoot(go, menuCommand); }
private static Transform _Button() { GameObject go = DefaultControls.CreateButton(resources); go.GetComponent <Image>().sprite = AssetDatabase.GetBuiltinExtraResource <Sprite>("UI/Skin/UISprite.psd"); Object.DestroyImmediate(go.GetComponentInChildren <Text>()); GameObject txt = go.transform.Find("Text").gameObject; txt.AddComponent <TextMeshProUGUI>(); TextMeshProUGUI t = txt.GetComponent <TextMeshProUGUI>(); t.text = "Button"; t.color = new Color32(50, 50, 50, 255); t.alignment = TextAlignmentOptions.Center; t.fontSize = 14; return(go.transform); }
public static int CreateButton_s(IntPtr l) { int result; try { DefaultControls.Resources resources; LuaObject.checkValueType <DefaultControls.Resources>(l, 1, out resources); GameObject o = DefaultControls.CreateButton(resources); LuaObject.pushValue(l, true); LuaObject.pushValue(l, o); result = 2; } catch (Exception e) { result = LuaObject.error(l, e); } return(result); }
private static SubUIButtonLayoutGroup EditorCreateButtonLayoutGroup <T>(UnityEditor.MenuCommand menuCommand) where T : LayoutGroup { GameObject gameObject = new GameObject("ButtonLayoutGroup", typeof(RectTransform), typeof(T), typeof(ContentSizeFitter)); SubUIButtonLayoutGroup btnLayout = gameObject.AddComponent <SubUIButtonLayoutGroup>(); LayoutGroup layoutGroup = gameObject.GetComponent <T>(); btnLayout.layoutGroup = layoutGroup; GameObject itemTemplate = DefaultControls.CreateButton(EditorGetStandardResources()); itemTemplate.name = "ItemTemplate"; Text itemTemplateText = itemTemplate.GetComponentInChildren <Text>(); itemTemplateText.text = "Template Button"; itemTemplateText.fontSize = 20; //itemTemplate.SetActive(false); itemTemplate.transform.SetParent(gameObject.transform, false); btnLayout.itemTemplate = itemTemplate; ContentSizeFitter fitter = gameObject.GetComponent <ContentSizeFitter>(); fitter.horizontalFit = ContentSizeFitter.FitMode.PreferredSize; fitter.verticalFit = ContentSizeFitter.FitMode.PreferredSize; GameObject parent = menuCommand.context as GameObject; if (parent != null) { gameObject.name = UnityEditor.GameObjectUtility.GetUniqueNameForSibling(parent.transform, gameObject.name); } UnityEditor.Undo.RegisterCreatedObjectUndo(gameObject, "Create" + gameObject.name); if (parent != null) { UnityEditor.Undo.SetTransformParent(gameObject.transform, parent.transform, "Parent" + gameObject.name); UnityEditor.GameObjectUtility.SetParentAndAlign(gameObject, parent); } UnityEditor.Selection.activeGameObject = gameObject; return(btnLayout); }
public static GameObject CreateOptionEntry(string Title, string Name) { GameObject OptionEntry = DefaultControls.CreateButton(new DefaultControls.Resources()); OptionEntry.name = Name; var OptionEntryImage = OptionEntry.GetComponent <Image>(); OptionEntryImage.sprite = Option_Content_BG; OptionEntryImage.type = Image.Type.Simple; OptionEntryImage.color = Color.white; var OptionEntryButton = OptionEntry.GetComponent <Button>(); OptionEntryButton.transition = Selectable.Transition.SpriteSwap; OptionEntryButton.spriteState = new SpriteState() { highlightedSprite = Option_Content_Highlight_BG, pressedSprite = Option_Content_Highlight_BG }; GameObject OptionEntry_Label = OptionEntry.transform.Find("Text").gameObject; var OptionEntry_LabelText = OptionEntry_Label.GetComponent <Text>(); OptionEntry_LabelText.text = Title; OptionEntry_LabelText.alignment = TextAnchor.MiddleLeft; OptionEntry_LabelText.font = ExoSemiBold; OptionEntry_LabelText.fontSize = 15; OptionEntry_LabelText.color = Color.white; var OptionEntry_LabelRect = OptionEntry_Label.GetComponent <RectTransform>(); OptionEntry_LabelRect.anchoredPosition3D = new Vector3(-59.7f, 0, 0); OptionEntry_LabelRect.anchorMin = Vector2.zero; OptionEntry_LabelRect.anchorMax = Vector2.one; OptionEntry_LabelRect.pivot = Vector2.one * 0.5f; OptionEntry_LabelRect.sizeDelta = new Vector2(-157.9f, 0); var OptionEntry_LabelShadow = OptionEntry_Label.AddComponent <Shadow>(); OptionEntry_LabelShadow.effectColor = new Color(0, 0, 0, 0.5f); OptionEntry_LabelShadow.effectDistance = new Vector2(1f, -1f); return(OptionEntry); }
static GameObject CreateArcView(UIResources resources) { GameObject arc = DefaultControls.CreateImage(UIDefaultControls.ConvertToDefaultResources(resources)); arc.name = "ArcView"; Image background = arc.GetComponent <Image>(); background.enabled = false; background.raycastTarget = false; GameObject content = new GameObject("Content", typeof(RectTransform)); content.transform.SetParent(arc.transform); GameObject btnSwitch = DefaultControls.CreateButton(UIDefaultControls.ConvertToDefaultResources(resources)); btnSwitch.name = "BtnSwitch"; btnSwitch.transform.SetParent(arc.transform); GameObject hotSpot = DefaultControls.CreateImage(UIDefaultControls.ConvertToDefaultResources(resources)); hotSpot.name = "HotSpot"; hotSpot.GetComponent <Image>().color = new Vector4(255, 255, 255, 0); UIDragable uiDragable = hotSpot.AddComponent <UIDragable>(); uiDragable.rect = hotSpot.GetComponent <RectTransform>(); hotSpot.transform.SetParent(arc.transform); PassPointerEvent passEvent = hotSpot.AddComponent <PassPointerEvent>(); passEvent.passPointerClick = true; ArcView arcView = arc.AddComponent <ArcView>(); arcView.panel = arc.transform as RectTransform; arcView.content = content.transform as RectTransform; arcView.hotSpot = uiDragable; arcView.btnSwitch = btnSwitch.GetComponent <Button>(); return(arc); }
public void createButtons() { DefaultControls.Resources uiResources = new DefaultControls.Resources(); GameObject canvas = GameObject.Find("PoseContent"); for (int j = 0; j < canvas.transform.childCount; j++) { Destroy(canvas.transform.GetChild(j).gameObject); } int i = 0; canvas.GetComponent <RectTransform>().offsetMin = new Vector2(canvas.GetComponent <RectTransform>().offsetMin.x, 880); foreach (string anim in ModLoader.charMods[curChar]) { string anim2 = anim.Replace('\\', '/'); GameObject animButton = DefaultControls.CreateButton(uiResources); animButton.name = anim2.Substring(anim2.LastIndexOf("/") + 1); animButton.transform.SetParent(canvas.transform); canvas.GetComponent <RectTransform>().offsetMin = new Vector2(canvas.GetComponent <RectTransform>().offsetMin.x, canvas.GetComponent <RectTransform>().offsetMin.y - 200); animButton.GetComponent <RectTransform>().anchorMax = new Vector2(0.5f, 1); animButton.GetComponent <RectTransform>().anchorMin = new Vector2(0.5f, 1); animButton.GetComponent <RectTransform>().anchoredPosition = new Vector3(0, -100 - i * 200, 0); animButton.GetComponent <RectTransform>().sizeDelta = new Vector2(200, 200); int k = i; animButton.GetComponent <Button>().onClick.AddListener(() => { PoseSwitch(curChar, k); }); i += 1; animButton.GetComponentInChildren <Text>().text = i.ToString(); animButton.GetComponentInChildren <Text>().fontSize = 72; animButton.GetComponentInChildren <Text>().font = font; animButton.GetComponentInChildren <Text>().color = Color.white; animButton.GetComponent <Image>().sprite = sprite; animButton.GetComponent <RectTransform>().localScale = new Vector3(1, 1, 1); } }
// Start is called before the first frame update IEnumerator LoadAll() { string[] charDirs; string modsDir; //Identify mods and character directories if (Application.platform != RuntimePlatform.Android) { modsDir = Application.dataPath + "/../mods/"; charDirs = Directory.GetDirectories(modsDir, "CHAR_*"); if (!Directory.Exists(modsDir + "/../logs")) { Directory.CreateDirectory(modsDir + "/../logs"); } logFile = modsDir + "../logs/" + DateTime.Now.ToString("ddMMyy_HHmmss") + ".txt"; } else { if (!Permission.HasUserAuthorizedPermission(Permission.ExternalStorageWrite) && !Permission.HasUserAuthorizedPermission(Permission.ExternalStorageRead)) { // Ask for permission or proceed without the functionality enabled. Permission.RequestUserPermission(Permission.ExternalStorageRead); Permission.RequestUserPermission(Permission.ExternalStorageWrite); } if (!Directory.Exists(GetAndroidInternalFilesDir() + "/.4PUnity")) { Directory.CreateDirectory(GetAndroidInternalFilesDir() + "/.4PUnity"); File.Create(GetAndroidInternalFilesDir() + "/.4PUnity/.nomedia"); } if (!Directory.Exists(GetAndroidInternalFilesDir() + "/.4PUnity/music")) { Directory.CreateDirectory(GetAndroidInternalFilesDir() + "/.4PUnity/music"); } if (!Directory.Exists(GetAndroidInternalFilesDir() + "/.4PUnity/logs")) { Directory.CreateDirectory(GetAndroidInternalFilesDir() + "/.4PUnity/logs"); } modsDir = GetAndroidInternalFilesDir() + "/.4PUnity/"; charDirs = Directory.GetDirectories(modsDir, "CHAR_*"); logFile = modsDir + "logs/" + DateTime.Now.ToString("ddMMyy_HHmmss") + ".txt"; } //Load music List <string> musicFiles = new List <string>(Directory.GetFiles(modsDir + "music", "*.ogg")); musicFiles.AddRange(Directory.GetFiles(modsDir + "music", "*.mp3")); Dropdown mdd = GameObject.Find("MusicDropdown").GetComponent <Dropdown>(); List <string> options = new List <string>(); foreach (string track in musicFiles) { string track2 = track.Replace('\\', '/'); UnityWebRequest rq = UnityWebRequestMultimedia.GetAudioClip("file://" + track2, AudioType.OGGVORBIS); rq.SendWebRequest(); while (rq.downloadProgress < 1) { ; } yield return(rq); string trackName = track2.Substring(track2.LastIndexOf("/") + 1); trackName = trackName.Substring(0, trackName.Length - 4); music.Add(((DownloadHandlerAudioClip)rq.downloadHandler).audioClip); options.Add(trackName); } mdd.ClearOptions(); mdd.AddOptions(options); mdd.onValueChanged.AddListener((int a) => { GameObject.Find("EventSystem").GetComponent <UI>().MusicChange(a); }); GameObject cam = GameObject.Find("MainCam"); cam.GetComponent <AudioSource>().clip = music[0]; cam.GetComponent <AudioSource>().loop = true; GameObject canvas = GameObject.Find("CharContent"); DefaultControls.Resources uiResources = new DefaultControls.Resources(); var i = 0; VP vpClass = GameObject.Find("EventSystem").GetComponent <VP>(); foreach (string ch in charDirs) { string charName = ch.Replace('\\', '/').Substring(ch.LastIndexOf('_') + 1); GameObject charButton = DefaultControls.CreateButton(uiResources); charButton.name = charName; charButton.transform.SetParent(canvas.transform); canvas.GetComponent <RectTransform>().offsetMin = new Vector2(canvas.GetComponent <RectTransform>().offsetMin.x, canvas.GetComponent <RectTransform>().offsetMin.y + 200); charButton.GetComponent <RectTransform>().anchorMax = new Vector2(0.5f, 0); charButton.GetComponent <RectTransform>().anchorMin = new Vector2(0.5f, 0); charButton.GetComponent <RectTransform>().anchoredPosition = new Vector3(0, -100 - i * 200, 0); charButton.GetComponent <RectTransform>().sizeDelta = new Vector2(200, 200); Destroy(charButton.transform.GetChild(0).gameObject); Debug.Log(Directory.GetFiles(ch, charName + ".png")[0]); charButton.GetComponent <Image>().sprite = LoadNewSprite(Directory.GetFiles(ch, charName + ".png")[0]); charButton.GetComponent <Button>().onClick.AddListener(() => { vpClass.PoseSwitch(charName, vpClass.curAnim); }); charButton.GetComponent <RectTransform>().localScale = new Vector3(1, 1, 1); i++; List <string> files = new List <string>(Directory.GetFiles(ch, "*.mp4")); files.Sort(); charMods.Add(charName, files); } GameObject camera = GameObject.Find("MainCam"); bool firstVp = true; foreach (KeyValuePair <string, List <string> > charAnims in ModLoader.charMods) { List <VideoPlayer> players = new List <VideoPlayer>(); foreach (string file in charAnims.Value) { //VideoPlayer vp = camera.AddComponent<VideoPlayer>(); //vp.waitForFirstFrame = true; //vp.isLooping = true; //vp.aspectRatio = VideoAspectRatio.FitVertically; //vp.loopPointReached += vpClass.Looped; //vp.prepareCompleted += vpClass.Prepared; //vp.audioOutputMode = VideoAudioOutputMode.Direct; //vp.SetDirectAudioVolume(0, 1); //vp.url = file; //vp.Prepare(); //while (!vp.isPrepared) yield return null; //loadedMods++; //currentLoaded -= fraction; //loadingBar.offsetMax = new Vector2(-currentLoaded, 10f); //loadingText.text = loadedMods + "/" + totalMods; //players.Add(vp); if (firstVp) { firstVp = false; vpClass.curChar = charAnims.Key; vpClass.curAnim = 0; } } VP.vps.Add(charAnims.Key, players); VP.charList.Add(charAnims.Key); Debug.Log(VP.vps); } Application.logMessageReceived += LogHandler; loaded = true; }
/// <summary> /// Create Color Picker /// </summary> /// <param name="resources"></param> /// <returns></returns> public static GameObject CreateColorPicker(Resources resources) { GameObject colorPicker = CreateUIElementRoot("ColorPicker", _defaultColorPicker); var mainCT = colorPicker.AddComponent <ColoredTape>(); mainCT.TapeDirection = ColoredTape.E_DrawDirection.Vertical; mainCT.SetColors(new Color[] { new Color(0.8f, 0.8f, 0.8f, 1), new Color(0, 0.7f, 1, 1) }); #region 主色板 //MainColor 主色板 var mainColor = CreateUIObject("MainColor", colorPicker.transform, new Vector2(185, 22)).AddComponent <MainColorTape>().gameObject.transform; mainColor.localPosition = new Vector3(16.2f, 188.2f); #endregion #region 吸管 //Sucker 吸管 var sucker = CreateUIObject("ColorSucker", colorPicker.transform, new Vector2(22, 22)); sucker.AddComponent <SuckerImage>(); sucker.AddComponent <Button>(); sucker.transform.localPosition = new Vector3(-95.6f, 186.8f); sucker.transform.localEulerAngles = new Vector3(0, 0, 321.0f); #endregion #region 调色板 //Color Palette 调色板 var colorPalette = CreateUIObject("ColorPalette", colorPicker.transform, new Vector2(150, 150)); colorPalette.AddComponent <ColorPalette>(); colorPalette.transform.localPosition = new Vector3(-11.5f, 75); //第一层色带 var firstCTGO = CreateUIObject("FirstLayerColoredTape", colorPalette.transform, new Vector2(150, 150)); var fisrtCT = firstCTGO.AddComponent <ColoredTape>(); fisrtCT.TapeDirection = ColoredTape.E_DrawDirection.Horizontal;; fisrtCT.OuelineWidth = 0.8f; fisrtCT.SetColors(new Color[] { Color.white, Color.red }); //第二层色带 var secondCTGO = CreateUIObject("SecondLayerColoredTape", colorPalette.transform, new Vector2(150, 150)); var secondCT = secondCTGO.AddComponent <ColoredTape>(); secondCT.Outline = false; secondCT.SetColors(new Color[] { new Color(0, 0, 0, 0), Color.black }); //多色色带 var multiCTGO = CreateUIObject("MultiColoredTape", colorPalette.transform, new Vector2(150, 150)); var multiCT = multiCTGO.AddComponent <MultiColoredTape>(); multiCT.OuelineWidth = 0.8f; multiCT.SetColors(new Color[] { Color.yellow, Color.white, Color.red, Color.magenta }); multiCTGO.SetActive(false); //左侧文字 var leftText = DefaultControls.CreateText(convertToDefaultResources(resources)); leftText.name = "LeftText"; leftText.GetComponent <Text>().alignment = TextAnchor.MiddleCenter; leftText.GetComponent <Text>().fontSize = 10; leftText.GetComponent <Text>().text = "Brightness"; leftText.transform.SetParent(colorPalette.transform); leftText.GetComponent <RectTransform>().sizeDelta = new Vector2(143.6f, 17.1f); leftText.transform.localPosition = new Vector3(-86.17f, 1.7f); leftText.transform.localEulerAngles = new Vector3(0, 0, 90); //底部文字 var bottomtText = DefaultControls.CreateText(convertToDefaultResources(resources)); bottomtText.name = "BottomText"; bottomtText.GetComponent <Text>().alignment = TextAnchor.MiddleCenter; bottomtText.GetComponent <Text>().fontSize = 10; bottomtText.GetComponent <Text>().text = "Saturation"; bottomtText.transform.SetParent(colorPalette.transform); bottomtText.GetComponent <RectTransform>().sizeDelta = new Vector2(143.6f, 17.1f); bottomtText.transform.localPosition = new Vector3(0, -87.0f); //右侧文字 var rightText = DefaultControls.CreateText(convertToDefaultResources(resources)); rightText.name = "RightText"; rightText.GetComponent <Text>().alignment = TextAnchor.MiddleCenter; rightText.GetComponent <Text>().fontSize = 10; rightText.GetComponent <Text>().text = "Hue"; rightText.transform.SetParent(colorPalette.transform); rightText.GetComponent <RectTransform>().sizeDelta = new Vector2(143.6f, 17.1f); rightText.transform.localPosition = new Vector3(115.64f, 0); rightText.transform.localEulerAngles = new Vector3(0, 0, -90); //游标 var nonius = CreateUIObject("ColorNonius", colorPalette.transform, new Vector2(10, 10)); nonius.AddComponent <ColorNonius>(); nonius.transform.localPosition = new Vector3(-75, 75); #endregion #region 颜色拾取功能 // SuckScreen 截屏 var suckScreen = CreateUIObject("SuckScreen", colorPicker.transform, new Vector2(160, 160)); suckScreen.transform.localPosition = new Vector3(0, 75); // Texture 截图纹理 var screenTex = CreateUIObject("Texture", suckScreen.transform, new Vector2(160, 160)); screenTex.AddComponent <Image>(); // Mesh 创建网格 var mesh = CreateUIObject("Mesh", suckScreen.transform, new Vector2(160, 160)); var imageMesh = mesh.AddComponent <ImageMesh>(); imageMesh.XAxisCount = 16; imageMesh.YAxisCount = 16; imageMesh.LineWidth = 1; imageMesh.Color = Color.gray; imageMesh.FocusColor = Color.red; imageMesh.FocuslineWidth = 1; suckScreen.SetActive(false); #endregion #region 垂直滑动条 //ColoredTape Slider 垂直滑动条 var verticalSlider = CreateUIObject("ColoredTapeSlider", colorPicker.transform, new Vector2(20, 150)); verticalSlider.transform.localPosition = new Vector2(80, 75); var vSlider = verticalSlider.AddComponent <Slider>(); vSlider.direction = Slider.Direction.TopToBottom; vSlider.value = 0; // firstCT var verticaCT = CreateUIObject("FirstLayerColoredTape", verticalSlider.transform, new Vector2(20, 150)); var vCT = verticaCT.AddComponent <ColoredTape>(); vCT.OuelineWidth = 0.8f; vCT.SetColors(new Color[] { Color.red, Color.magenta, Color.blue, Color.cyan, Color.green, Color.yellow, Color.red }); // handle slider area var handleArea = CreateUIObject("Handle Slider Area", verticalSlider.transform, new Vector2(0, 0)); var handleAreaRect = handleArea.GetComponent <RectTransform>(); handleAreaRect.anchorMin = Vector2.zero; handleAreaRect.anchorMax = Vector2.one; var handle = CreateUIObject("Handle", handleArea.transform, new Vector2(20, 20)); var handleRect = handle.GetComponent <RectTransform>(); handleRect.anchorMin = new Vector2(0, 1); handleRect.anchorMax = new Vector2(1, 1); var sh = handle.AddComponent <SliderHandler>(); sh.arrowSize = 5; sh.distance = 10; vSlider.targetGraphic = handle.GetComponent <SliderHandler>(); vSlider.handleRect = handle.GetComponent <RectTransform>(); #endregion #region 调色板模式按钮 // Palette Mode Button 调色板模式按钮 var pmButton = CreateUIObject("PaletteModeButton", colorPicker.transform, new Vector2(12, 9)); pmButton.transform.localPosition = new Vector3(102.7f, 164.2f); var pmButtonTarget = CreateUIObject("Target", pmButton.transform, new Vector2(12, 9)); pmButtonTarget.AddComponent <Image>(); pmButton.AddComponent <Button>().targetGraphic = pmButtonTarget.GetComponent <Image>(); var targetContent = CreateUIObject("GameObject", pmButtonTarget.transform, new Vector2(9, 9)); targetContent.transform.localPosition = new Vector3(-1.5f, 0); var indexCT1 = CreateUIObject("CT1", targetContent.transform, new Vector2(9, 9)); var indexct = indexCT1.AddComponent <ColoredTape>(); indexct.TapeDirection = ColoredTape.E_DrawDirection.Horizontal; indexct.SetColors(new Color[] { Color.white, new Color(0.6f, 0, 0.6f, 1) }); var indexCT2 = CreateUIObject("CT2", targetContent.transform, new Vector2(9, 9)); indexCT2.AddComponent <ColoredTape>().SetColors(new Color[] { new Color(1, 1, 1, 0), new Color(0, 0, 0, 1) }); var indexCT = CreateUIObject("CT", pmButtonTarget.transform, new Vector2(3, 9)); indexCT.transform.localPosition = new Vector2(4.5f, 0); indexCT.AddComponent <ColoredTape>().SetColors(new Color[] { Color.red, Color.magenta, Color.blue, Color.cyan, Color.green, Color.yellow, Color.red }); #endregion #region 颜色模式按钮 // Color Mode Button 颜色模式按钮 var cmButton = CreateUIObject("ColorModeButton", colorPicker.transform, new Vector2(9, 9)); cmButton.transform.localPosition = new Vector3(102.7f, -15); var cmButtonTarget = CreateUIObject("Target", cmButton.transform, new Vector2(9, 9)); cmButtonTarget.AddComponent <Image>(); cmButton.AddComponent <Button>().targetGraphic = cmButtonTarget.GetComponent <Image>(); var hCT1 = CreateUIObject("CT1", cmButtonTarget.transform, new Vector2(9, 3)); hCT1.transform.localPosition = new Vector3(0, 3); var ct1 = hCT1.AddComponent <ColoredTape>(); ct1.TapeDirection = ColoredTape.E_DrawDirection.Horizontal; ct1.SetColors(new Color[] { Color.red, Color.magenta, Color.blue, Color.cyan, Color.green, Color.yellow, Color.red }); var hCT2 = CreateUIObject("CT2", cmButtonTarget.transform, new Vector2(9, 3)); var ct2 = hCT2.AddComponent <ColoredTape>(); ct2.TapeDirection = ColoredTape.E_DrawDirection.Horizontal; ct2.SetColors(new Color[] { Color.white, new Color(0.6f, 0, 0.6f) }); var hCT3 = CreateUIObject("CT3", cmButtonTarget.transform, new Vector2(9, 3)); hCT3.transform.localPosition = new Vector3(0, -3); var ct3 = hCT3.AddComponent <ColoredTape>(); ct3.TapeDirection = ColoredTape.E_DrawDirection.Horizontal; ct3.SetColors(new Color[] { Color.black, Color.white }); #endregion #region RGBA Inputfield && slider RGBA四通道 // var rgba = CreateUIObject("RGBA", colorPicker.transform, new Vector2(216, 112)); rgba.transform.localPosition = new Vector3(0, -80); var glg = rgba.AddComponent <GridLayoutGroup>(); glg.cellSize = new Vector2(216, 28); // R var rModule = CreateUIObject("R", rgba.transform, new Vector2(216, 28)); var rText = CreateUIObject("Text", rModule.transform, new Vector2(18.3f, 28)); rText.transform.localPosition = new Vector3(-94.6f, 0); rText.AddComponent <Text>().text = "R"; rText.GetComponent <Text>().color = new Color(0.2f, 0.2f, 0.2f, 1); rText.GetComponent <Text>().alignment = TextAnchor.MiddleLeft; var rValue = DefaultControls.CreateInputField(convertToDefaultResources(resources)); rValue.GetComponent <RectTransform>().sizeDelta = new Vector2(27.4f, 20); rValue.transform.SetParent(rModule.transform); rValue.transform.localPosition = new Vector3(94.3f, 0); rValue.name = "Value"; rValue.GetComponent <InputField>().text = "255"; rValue.transform.Find("Text").GetComponent <Text>().fontSize = 12; rValue.transform.Find("Text").GetComponent <Text>().alignment = TextAnchor.MiddleCenter; var rRect = rValue.transform.Find("Text").GetComponent <RectTransform>(); rRect.sizeDelta = new Vector2(27.4f, 20); rRect.anchorMin = Vector2.zero; rRect.anchorMax = Vector2.one; var rSlider = createColoredTapeSlider(rModule.transform, new Color[] { Color.cyan, Color.white }); rSlider.name = "Slider"; // G var gModule = CreateUIObject("G", rgba.transform, new Vector2(216, 28)); var gText = CreateUIObject("Text", gModule.transform, new Vector2(18.3f, 28)); gText.transform.localPosition = new Vector3(-94.6f, 0); gText.AddComponent <Text>().text = "G"; gText.GetComponent <Text>().color = new Color(0.2f, 0.2f, 0.2f, 1); gText.GetComponent <Text>().alignment = TextAnchor.MiddleLeft; var gValue = DefaultControls.CreateInputField(convertToDefaultResources(resources)); gValue.GetComponent <RectTransform>().sizeDelta = new Vector2(27.4f, 20); gValue.transform.SetParent(gModule.transform); gValue.transform.localPosition = new Vector3(94.3f, 0); gValue.name = "Value"; gValue.GetComponent <InputField>().text = "255"; gValue.transform.Find("Text").GetComponent <Text>().fontSize = 12; gValue.transform.Find("Text").GetComponent <Text>().alignment = TextAnchor.MiddleCenter; var gRect = gValue.transform.Find("Text").GetComponent <RectTransform>(); gRect.sizeDelta = new Vector2(27.4f, 20); gRect.anchorMin = Vector2.zero; gRect.anchorMax = Vector2.one; var gSlider = createColoredTapeSlider(gModule.transform, new Color[] { Color.magenta, Color.white }); gSlider.name = "Slider"; // B var bModule = CreateUIObject("B", rgba.transform, new Vector2(216, 28)); var bText = CreateUIObject("Text", bModule.transform, new Vector2(18.3f, 28)); bText.transform.localPosition = new Vector3(-94.6f, 0); bText.AddComponent <Text>().text = "B"; bText.GetComponent <Text>().color = new Color(0.2f, 0.2f, 0.2f, 1); bText.GetComponent <Text>().alignment = TextAnchor.MiddleLeft; var bValue = DefaultControls.CreateInputField(convertToDefaultResources(resources)); bValue.GetComponent <RectTransform>().sizeDelta = new Vector2(27.4f, 20); bValue.transform.SetParent(bModule.transform); bValue.transform.localPosition = new Vector3(94.3f, 0); bValue.name = "Value"; bValue.GetComponent <InputField>().text = "255"; bValue.transform.Find("Text").GetComponent <Text>().fontSize = 12; bValue.transform.Find("Text").GetComponent <Text>().alignment = TextAnchor.MiddleCenter; var bRect = bValue.transform.Find("Text").GetComponent <RectTransform>(); bRect.sizeDelta = new Vector2(27.4f, 20); bRect.anchorMin = Vector2.zero; bRect.anchorMax = Vector2.one; var bSlider = createColoredTapeSlider(bModule.transform, new Color[] { Color.yellow, Color.white }); bSlider.name = "Slider"; // A var aModule = CreateUIObject("A", rgba.transform, new Vector2(216, 28)); var aText = CreateUIObject("Text", aModule.transform, new Vector2(18.3f, 28)); aText.transform.localPosition = new Vector3(-94.6f, 0); aText.AddComponent <Text>().text = "A"; aText.GetComponent <Text>().color = new Color(0.2f, 0.2f, 0.2f, 1); aText.GetComponent <Text>().alignment = TextAnchor.MiddleLeft; var aValue = DefaultControls.CreateInputField(convertToDefaultResources(resources)); aValue.GetComponent <RectTransform>().sizeDelta = new Vector2(27.4f, 20); aValue.transform.SetParent(aModule.transform); aValue.transform.localPosition = new Vector3(94.3f, 0); aValue.name = "Value"; aValue.GetComponent <InputField>().text = "255"; aValue.transform.Find("Text").GetComponent <Text>().fontSize = 12; aValue.transform.Find("Text").GetComponent <Text>().alignment = TextAnchor.MiddleCenter; var aRect = aValue.transform.Find("Text").GetComponent <RectTransform>(); aRect.sizeDelta = new Vector2(27.4f, 20); aRect.anchorMin = Vector2.zero; aRect.anchorMax = Vector2.one; var aSlider = createColoredTapeSlider(aModule.transform, new Color[] { Color.black, Color.white }); aSlider.name = "Slider"; #endregion #region 十六进制 // 十六进制显示输入 var hexColor = CreateUIObject("HexColor", colorPicker.transform, new Vector2(216, 25)); hexColor.transform.localPosition = new Vector2(2, -154.5f); // 创建文字 var hexText = CreateUIObject("Text", hexColor.transform, new Vector2(137.7f, 24)); hexText.transform.localPosition = new Vector3(-36.8f, 0); var text = hexText.AddComponent <Text>(); text.fontSize = 14; text.alignment = TextAnchor.MiddleLeft; text.text = "HexColor #"; text.color = new Color(0.2f, 0.2f, 0.2f, 1); // 输入框 var hexInput = DefaultControls.CreateInputField(convertToDefaultResources(resources)); hexInput.name = "Value"; hexInput.transform.SetParent(hexColor.transform); hexInput.GetComponent <RectTransform>().sizeDelta = new Vector2(76.9f, 25); hexInput.transform.localPosition = new Vector3(66.85f, 0); hexInput.GetComponent <InputField>().text = "FFFFFFFF"; var textRect = hexInput.transform.Find("Text").GetComponent <RectTransform>(); textRect.sizeDelta = new Vector2(76.9f, 25); textRect.anchorMin = Vector2.zero; textRect.anchorMax = Vector2.one; textRect.GetComponent <Text>().alignment = TextAnchor.MiddleCenter; #endregion #region 预制色模块 // 预制色按钮 var presets = CreateUIObject("Presets", colorPicker.transform, new Vector2(220, 40)); presets.transform.localPosition = new Vector3(0, -190.5f); var presetsText = CreateUIObject("Text", presets.transform, new Vector2(154.4f, 20)); presetsText.transform.localPosition = new Vector3(-27.3f, 10); presetsText.AddComponent <Text>().text = "Presets"; presetsText.GetComponent <Text>().alignment = TextAnchor.MiddleLeft; presetsText.GetComponent <Text>().color = new Color(0.2f, 0.2f, 0.2f, 1); // 预制色Colors var colors = CreateUIObject("Colors", presets.transform, new Vector2(214.5f, 12)); colors.transform.localPosition = new Vector3(2.75f, -10); colors.AddComponent <GridLayoutGroup>().cellSize = new Vector2(12, 12); colors.GetComponent <GridLayoutGroup>().spacing = new Vector2(0, 1); // 预制色模板 var colorTamplate = CreateUIObject("ColorItemTamplate", colors.transform, new Vector2(12, 12)); colorTamplate.AddComponent <Image>(); colorTamplate.AddComponent <Button>(); colorTamplate.AddComponent <Outline>(); colorTamplate.SetActive(false); // 添加按钮 var addButton = DefaultControls.CreateButton(convertToDefaultResources(resources)); addButton.name = "AddButton"; addButton.transform.SetParent(colors.transform); //GameObject.Destroy(addButton.transform.FindChild("Text").gameObject); #endregion return(colorPicker); }
/// <summary> /// Create Calendar /// </summary> public static GameObject CreateCalendar(Resources resources) { DefaultControls.Resources res = convertToDefaultResources(resources); #region Create Calendar Container //create calendar GameObject calendar = DefaultControls.CreateImage(res); calendar.name = "Calendar"; calendar.AddComponent <Calendar>(); RectTransform calendarRect = calendar.GetComponent <RectTransform>(); calendarRect.sizeDelta = _defaultCalendarSize; #endregion #region Create Title //create title GameObject title = CreateUIObject("Title", calendar.transform); RectTransform titleRect = title.GetComponent <RectTransform>(); titleRect.pivot = new Vector2(0.5f, 1); titleRect.anchorMin = new Vector2(0, 1); titleRect.anchorMax = Vector2.one; titleRect.sizeDelta = new Vector2(0, 30); //create last button GameObject lastButton = DefaultControls.CreateImage(res); lastButton.AddComponent <Button>(); lastButton.GetComponent <Image>().sprite = res.dropdown; lastButton.transform.localEulerAngles = new Vector3(0, 0, -90); lastButton.name = "LastButton"; SetParentAndAlign(lastButton, title.transform); RectTransform lastButtonRect = lastButton.GetComponent <RectTransform>(); lastButtonRect.anchorMin = new Vector2(0, 1); lastButtonRect.anchorMax = new Vector2(0, 1); lastButtonRect.sizeDelta = new Vector2(20, 20); lastButtonRect.transform.localPosition += new Vector3(15, -15); //create next button GameObject nextButton = DefaultControls.CreateImage(res); nextButton.AddComponent <Button>(); nextButton.GetComponent <Image>().sprite = res.dropdown; nextButton.transform.localEulerAngles = new Vector3(0, 0, 90); nextButton.name = "NextButton"; SetParentAndAlign(nextButton, title.transform); RectTransform nextButtonRect = nextButton.GetComponent <RectTransform>(); nextButtonRect.anchorMin = new Vector2(1, 1); nextButtonRect.anchorMax = new Vector2(1, 1); nextButtonRect.sizeDelta = new Vector2(20, 20); nextButtonRect.transform.localPosition += new Vector3(-15, -15); //create time button GameObject timeButton = CreateUIObject("TimeButton", title.transform); timeButton.AddComponent <Button>(); RectTransform timeButtonRect = timeButton.GetComponent <RectTransform>(); timeButtonRect.anchorMin = new Vector2(0.5f, 0); timeButtonRect.anchorMax = new Vector2(0.5f, 1); timeButtonRect.sizeDelta = new Vector2(160, 0); //create time button text GameObject timeText = DefaultControls.CreateText(res); SetParentAndAlign(timeText, timeButton.transform); Text indexText = timeText.GetComponent <Text>(); indexText.alignment = TextAnchor.MiddleCenter; indexText.text = DateTime.Now.ToShortDateString(); RectTransform textRect = timeText.GetComponent <RectTransform>(); textRect.anchorMin = Vector2.zero; textRect.anchorMax = Vector2.one; textRect.sizeDelta = Vector2.zero; timeButton.GetComponent <Button>().targetGraphic = indexText; #endregion #region Create Container //create container GameObject container = DefaultControls.CreateImage(res); container.name = "Container"; SetParentAndAlign(container, calendar.transform); RectTransform rectContainer = container.GetComponent <RectTransform>(); rectContainer.anchorMin = new Vector2(0, 0.5f); rectContainer.anchorMax = new Vector2(1, 0.5f); rectContainer.sizeDelta = new Vector2(-20, 126); rectContainer.localPosition -= new Vector3(0, 17); //create weeks GameObject weeks = DefaultControls.CreateImage(res); weeks.name = "Weeks"; SetParentAndAlign(weeks, container.transform); RectTransform weeksRect = weeks.GetComponent <RectTransform>(); weeksRect.anchorMin = new Vector2(0, 1); weeksRect.anchorMax = Vector2.one; weeksRect.pivot = new Vector2(0.5f, 1); weeksRect.sizeDelta = new Vector2(0, 18); GridLayoutGroup glg = weeks.AddComponent <GridLayoutGroup>(); glg.cellSize = new Vector2(26, 18); glg.spacing = new Vector2(3, 0); weeks.GetComponent <Image>().color = Color.gray; //create week Text GameObject weekText = DefaultControls.CreateText(res); weekText.name = "WeekTemplate"; Text text = weekText.GetComponent <Text>(); text.alignment = TextAnchor.MiddleCenter; text.text = "Sunday"; SetParentAndAlign(weekText, weeks.transform); //create days GameObject days = DefaultControls.CreateImage(res); days.name = "Days"; SetParentAndAlign(days, container.transform); RectTransform daysRect = days.GetComponent <RectTransform>(); daysRect.anchorMin = Vector2.zero; daysRect.anchorMax = Vector2.one; daysRect.sizeDelta = new Vector2(0, -18); daysRect.localPosition -= new Vector3(0, 9, 0); GridLayoutGroup glg2 = days.AddComponent <GridLayoutGroup>(); glg2.cellSize = new Vector2(27.7f, 17f); glg2.spacing = new Vector2(1, 1); //create day text GameObject dayText = DefaultControls.CreateButton(res); dayText.name = "DayTemplate"; dayText.transform.Find("Text").GetComponent <Text>().text = "31"; dayText.GetComponent <Image>().sprite = null; dayText.GetComponent <Image>().color = Color.cyan; SetParentAndAlign(dayText, days.transform); //create months GameObject months = DefaultControls.CreateImage(res); months.name = "Months"; SetParentAndAlign(months, container.transform); RectTransform monthRect = months.GetComponent <RectTransform>(); monthRect.anchorMin = Vector2.zero; monthRect.anchorMax = Vector2.one; monthRect.sizeDelta = new Vector2(0, 0); GridLayoutGroup glg3 = months.AddComponent <GridLayoutGroup>(); glg3.cellSize = new Vector2(47, 36); glg3.spacing = new Vector2(4, 9); //create monthText GameObject monthText = DefaultControls.CreateButton(res); monthText.name = "MonthTemplate"; monthText.transform.Find("Text").GetComponent <Text>().text = "January"; monthText.GetComponent <Image>().sprite = null; monthText.GetComponent <Image>().color = Color.cyan; SetParentAndAlign(monthText, months.transform); months.SetActive(false); #endregion return(calendar); }
static public void AddButton(MenuCommand menuCommand) { GameObject go = DefaultControls.CreateButton(GetStandardResources()); PlaceUIElementRoot(go, menuCommand); }
static public void AddButtonWithText() { var go = DefaultControls.CreateButton(Res); ToScene(go); }