コード例 #1
0
ファイル: PToolTip.cs プロジェクト: ClazyChen/Richer-4
 public void Show(string _ToolTip, Vector3 Position)
 {
     Open();
     UIBackgroundImage.GetComponent <RectTransform>().position = Position;
     ToolTipText.text = _ToolTip;
     UIBackgroundImage.GetComponent <RectTransform>().sizeDelta = new Vector2(200.0f, GeneratorForLayout.GetPreferredHeight(_ToolTip, ToolTipText.GetGenerationSettings(new Vector2(ToolTipText.GetPixelAdjustedRect().size.x, 0.0f))) / ToolTipText.pixelsPerUnit);
 }
コード例 #2
0
        public LoginScreen(ScreenManager Manager, SpriteBatch SBatch) : base(Manager, "LoginScreen",
                                                                             SBatch, new Vector2(0, 0),
                                                                             new Vector2(GlobalSettings.Default.ScreenWidth, GlobalSettings.Default.ScreenHeight))
        {
            m_BackgroundImg = new UIBackgroundImage("Setup",
                                                    FileManager.Instance.GetTexture((ulong)FileIDs.UIFileIDs.setup, false), this);
            RegisterElement(m_BackgroundImg);
            m_LoginDiag = new LoginDialog(this, new Vector2((Resolution.ScreenArea.Width / 2) - 150,
                                                            ((Resolution.ScreenArea.Height / 2) - 150)));
            RegisterElement(m_LoginDiag);

            m_LoginProgressDiag = new LoginProgressDialog(this, new Vector2(
                                                              (Resolution.ScreenArea.Width - 350), (Resolution.ScreenArea.Height - 150)));
            RegisterElement(m_LoginProgressDiag);

            foreach (KeyValuePair <string, UIElement> KVP in m_LoginDiag.RegistrableUIElements)
            {
                m_PResult.Elements.Add(KVP.Key, KVP.Value);
            }
            m_PResult.Elements.Add("LoginDialog", m_LoginDiag);

            foreach (KeyValuePair <string, UIElement> KVP in m_LoginProgressDiag.RegistrableUIElements)
            {
                m_PResult.Elements.Add(KVP.Key, KVP.Value);
            }
            m_PResult.Elements.Add("LoginProgressDialog", m_LoginProgressDiag);

            m_LoginDiag.OnLogin += LoginDiag_OnLogin;
            ClientNetworkManager.OnConnected    += ClientNetworkManager_OnLogin;
            ClientNetworkManager.OnNetworkError += ClientNetworkManager_OnNetworkError;
        }
コード例 #3
0
ファイル: PMapUI.cs プロジェクト: ClazyChen/Richer-4
 public PMapUI(Transform _Background) : base(_Background)
 {
     InitializeControls <Button>();
     InitializeControls <PToolTipedButton>();
     InitializeControls <Image>();
     InitializeControls <Text>();
     InitializeControls <ScrollRect>();
     InformationList        = new List <string>();
     Scene                  = new PMapScene(GameObject.Find("Map").transform);
     MessageBox             = new PMessageBox(UIBackgroundImage.Find("MessageBox"));
     PlayerInformationGroup = new PPlayerInformationBoxGroup(UIBackgroundImage.Find("PlayerInformationBoxes"));
     HandCardArea           = new PCardUIGroup(UIBackgroundImage.Find("HandCardArea"))
     {
         StartIndex = 0
     };
     EquipCardArea = new PCardUIGroup(UIBackgroundImage.Find("EquipCardArea"))
     {
         StartIndex = 1000
     };
     AmbushCardArea = new PCardUIGroup(UIBackgroundImage.Find("AmbushCardArea"))
     {
         StartIndex = 2000
     };
     ToolTip          = new PToolTip(UIBackgroundImage.Find("ToolTipImage"));
     CameraController = new PCameraController();
     DiceSpriteList   = new Sprite[6];
     for (int i = 0; i < 6; ++i)
     {
         DiceSpriteList[i] = Resources.Load <Sprite>("Images/Dice/" + (i + 1).ToString());
     }
     Close();
 }
コード例 #4
0
ファイル: PRoomUI.cs プロジェクト: ClazyChen/Richer-4
 public PSeat(Transform _Background, int _Index) : base(_Background)
 {
     Index = _Index;
     InitializeControls <Button>();
     Background = UIBackgroundImage.GetComponent <Image>();
     Close();
 }
コード例 #5
0
 public PMapScene(Transform _Background) : base(_Background)
 {
     Background  = UIBackgroundImage.Find("Background");
     PlayerGroup = new PPlayerGroupScene(UIBackgroundImage.Find("Players"));
     BlockGroup  = new PBlockGroupScene(UIBackgroundImage.Find("Blocks"));
     PortalGroup = new PPortalGroupScene(UIBackgroundImage.Find("Portals"));
     Close();
 }
コード例 #6
0
ファイル: PGeneralUI.cs プロジェクト: ClazyChen/Richer-4
 public PGeneralUI(Transform _Background) : base(_Background)
 {
     InitializeControls <Button>();
     InitializeControls <InputField>();
     GeneralPanel = new PGeneralPanel(UIBackgroundImage.Find("GeneralPanel"));
     GeneralPanel.Initialize();
     Close();
 }
コード例 #7
0
        public CreditsScreen(ScreenManager Manager, SpriteBatch SBatch) : base(Manager, "Credits", SBatch,
                                                                               new Vector2(0, 0), new Vector2(GlobalSettings.Default.ScreenWidth, GlobalSettings.Default.ScreenHeight),
                                                                               GlobalSettings.Default.StartupPath + "\\" + "gamedata\\uiscripts\\credits.uis")
        {
            BackgroundImg         = (UIBackgroundImage)m_PResult.Elements["\"BackgroundImage\""];
            TSOLogoImage          = m_PResult.Controls["\"TSOLogoImage\""].Image;
            BackButtonIndentImage = m_PResult.Controls["\"BackButtonIndentImage\""].Image;
            WillImage             = (UIImage)m_PResult.Elements["\"WillImage\""];
            WillImage.Position    = new Vector2(/*22*/ 0, /*42*/ 0);

            MaxisButton = (UIButton)m_PResult.Elements["\"MaxisButton\""];
            MaxisButton.OnButtonClicked += MaxisButton_OnButtonClicked;

            BackButton           = (UIButton)m_PResult.Elements["\"BackButton\""];
            BackButton.DrawOrder = (int)DrawOrderEnum.UI;

            m_WillWrightDiag         = new WillWrightDiag(WillImage, this, new Vector2(100, 100));
            m_WillWrightDiag.Visible = false;
            RegisterElement(m_WillWrightDiag);

            m_Credits     = FileManager.Instance.GetIFF("credits.iff");
            m_CreditsArea = (UIControl)m_PResult.Controls["\"CreditsArea\""];
            m_CreditsY    = m_CreditsArea.Size.Y;

            int   StrID      = 0;
            float Separation = 1.0f;

            foreach (KeyValuePair <string, UIElement> KVP in m_PResult.Elements)
            {
                RegisterElement(KVP.Value);
            }

            foreach (TranslatedString TStr in m_Credits.GetSTR(163).GetStringList(LanguageCodes.EngUS))
            {
                foreach (string Str in TStr.TranslatedStr.Split('\n'))
                {
                    m_CreditsStrings.Add(new UILabel(Str, StrID++, new Vector2(m_CreditsArea.Position.X +
                                                                               m_CreditsCenterX, m_CreditsY + Separation), Manager.Font12px.MeasureString(Str),
                                                     Color.Wheat, 12, this)
                    {
                        DrawOrder = (int)DrawOrderEnum.Game
                    });
                    Separation += 15.0f;
                }
            }

            m_Tween    = new Tweener();
            Separation = 0.0f - (m_CreditsStrings.Count * 15.0f);

            foreach (UILabel Lbl in m_CreditsStrings)
            {
                m_Tween.Tween(Lbl, new { YPosition = Separation }, 1000);
                Separation += 15.0f;
            }

            HitVM.PlayEvent("bkground_credits");
        }
コード例 #8
0
 public void Initialize(string Text, int _Index, int ButtonNumber, Vector3 CenterPoint, float Delta, string ToolTip)
 {
     Index = _Index;
     UIBackgroundImage.GetComponent <RectTransform>().position = CenterPoint + new Vector3(0, Delta * ButtonNumber / 2 - Delta * (Index + 1));
     MessageText = Text;
     UIBackgroundImage.GetComponentInChildren <Text>().text = Text;
     UIBackgroundImage.GetComponent <PToolTipedButton>().onClick.AddListener(() => {
         IsChosen = true;
     });
     UIBackgroundImage.GetComponent <PToolTipedButton>().ToolTip = ToolTip;
 }
コード例 #9
0
ファイル: PRoomUI.cs プロジェクト: ClazyChen/Richer-4
 public PRoomUI(Transform _Background) : base(_Background)
 {
     InitializeControls <Button>();
     InitializeControls <Text>();
     SeatList = new List <PSeat>();
     for (int i = 0; i < MaxCapacity; ++i)
     {
         SeatList.Add(new PSeat(UIBackgroundImage.Find("SeatImage (" + (i + 1).ToString() + ")"), i));
     }
     Close();
 }
コード例 #10
0
 public PArchButtonUI Initialize(Transform Prototype, int _Index, int LineCapacity, PArchInfo _ArchInfo)
 {
     Index    = _Index;
     ArchInfo = _ArchInfo;
     UIBackgroundImage.GetComponentInChildren <Text>().text = ArchInfo.Name;
     UIBackgroundImage.localScale    = new Vector3(1, 1, 1);
     UIBackgroundImage.localPosition = new Vector3(70.0f * (Index % LineCapacity) + Prototype.localPosition.x, -70.0f * (Index / LineCapacity) + Prototype.localPosition.y, 0.0f);
     ArchButton.onClick.AddListener(() => {
         PUIManager.GetUI <PArchUI>().ArchInfoInputField.text = ArchInfo.Name + "\n" + ArchInfo.Info;
     });
     UIBackgroundImage.gameObject.SetActive(true);
     return(this);
 }
コード例 #11
0
 /// <summary>
 /// 初始化UI组并找到原型
 /// </summary>
 /// <param name="_Background"></param>
 public PAbstractGroupUI(Transform _Background) : base(_Background)
 {
     PrototypeUI = null;
     for (int i = 0; i < UIBackgroundImage.childCount; ++i)
     {
         Transform TempTransform = UIBackgroundImage.GetChild(i);
         if (TempTransform.name.EndsWith(Prototype))
         {
             PrototypeUI = (T)Activator.CreateInstance(typeof(T), BindingFlags.Default, null, new object[] { TempTransform }, null);
             break;
         }
     }
     GroupUIList = new List <T>();
     Close();
 }
コード例 #12
0
ファイル: PCardUI.cs プロジェクト: ClazyChen/Richer-4
    public PCardUI Initialize(string CardName, Vector3 PrototypePosition, int _Index, int Count)
    {
        float Interval  = 105.0f;
        float AllLength = UIBackgroundImage.parent.gameObject.GetComponent <RectTransform>().rect.width;

        if (Interval * Count > AllLength && Count > 1)
        {
            Interval = (AllLength - 105.0f) / (Count - 1);
        }
        Sprite Image = Resources.Load <Sprite>("Images/Cards/" + CardName);

        if (Image != null)
        {
            UIBackgroundImage.GetComponent <Image>().sprite = Image;
            UIBackgroundImage.localScale    = new Vector3(1, 1, 1);
            UIBackgroundImage.localPosition = new Vector3(Interval * (_Index % 1000) + PrototypePosition.x, 0.0f, 0.0f);
            Index = _Index;
            CardButton.onClick.AddListener(() => {
                PNetworkManager.NetworkClient.Send(new PClickOnCardOrder(Index.ToString()));
            });
            CardButton.ToolTip = FindInstance <PCardToolTip>(CardName).ToolTip;
        }
        return(this);
    }
コード例 #13
0
    public PGeneralButtonUI Initialize(Transform Prototype, int _Index, int LineCapacity, PGeneral _General)
    {
        Index   = _Index;
        General = _General;
        UIBackgroundImage.GetComponentInChildren <Text>().text = General.Name;
        UIBackgroundImage.localScale    = new Vector3(1, 1, 1);
        UIBackgroundImage.localPosition = new Vector3(70.0f * (Index % LineCapacity) + Prototype.localPosition.x, -70.0f * (Index / LineCapacity) + Prototype.localPosition.y, 0.0f);

        void InvokeBuyGeneral(Button TargetButton)
        {
            string Method = (TargetButton.Equals(PUIManager.GetUI <PGeneralUI>().BuyArchPointButton) ? "成就点" : "银两");

            TargetButton.onClick.RemoveAllListeners();
            TargetButton.GetComponentInChildren <Text>().text = General.Cost.ToString() + Method + " 购买";
            TargetButton.onClick.AddListener(() => {
                if (!PSystem.UserManager.GeneralList.Contains(General.Name))
                {
                    bool CanPurchase = false;
                    if (Method.Equals("成就点") && PSystem.UserManager.ArchPoint >= General.Cost)
                    {
                        PSystem.UserManager.ArchPoint -= General.Cost;
                        CanPurchase = true;
                    }
                    else if (Method.Equals("银两") && PSystem.UserManager.Money >= General.Cost)
                    {
                        PSystem.UserManager.Money -= General.Cost;
                        CanPurchase = true;
                    }
                    if (CanPurchase)
                    {
                        PSystem.UserManager.GeneralList.Add(General.Name);
                        PSystem.UserManager.Write();
                        UIBackgroundImage.GetComponent <Image>().color = PGeneralUI.Config.GotGeneralColor;
                        PUIManager.GetUI <PGeneralUI>().BuyArchPointButton.interactable = false;
                        PUIManager.GetUI <PGeneralUI>().BuyMoneyButton.interactable     = false;
                    }
                }
            });
            if (PSystem.UserManager.GeneralList.Contains(General.Name))
            {
                TargetButton.interactable = false;
            }
            else
            {
                TargetButton.interactable = true;
            }
        }

        GeneralButton.onClick.AddListener(() => {
            PUIManager.GetUI <PGeneralUI>().GeneralInfoInputField.text = General.Name + "\n" +
                                                                         "性别:" + General.Sex + "\n" +
                                                                         "时代:" + General.Age + "\n" +
                                                                         string.Join("\n", General.SkillList.ConvertAll((PSkill Skill) => {
                PSkillInfo SkillInfo = ListInstance <PSkillInfo>().Find((PSkillInfo Info) => Info.Name.Equals(Skill.Name));
                if (SkillInfo == null)
                {
                    return(Skill.Name);
                }
                else
                {
                    return(Skill.Name + ":" + SkillInfo.ToolTip);
                }
            })) + "\n\n" +
                                                                         General.Tips;
            InvokeBuyGeneral(PUIManager.GetUI <PGeneralUI>().BuyArchPointButton);
            InvokeBuyGeneral(PUIManager.GetUI <PGeneralUI>().BuyMoneyButton);
        });
        UIBackgroundImage.gameObject.SetActive(true);
        return(this);
    }
コード例 #14
0
 public PGeneralButtonUI(Transform _Background) : base(_Background)
 {
     GeneralButton = UIBackgroundImage.GetComponent <Button>();
     Close();
 }
コード例 #15
0
        public CASScreen(ScreenManager Manager, SpriteBatch SBatch) : base(Manager, "CAS", SBatch,
                                                                           new Vector2(0, 0), new Vector2(GlobalSettings.Default.ScreenWidth, GlobalSettings.Default.ScreenHeight),
                                                                           GlobalSettings.Default.StartupPath + "\\" + "gamedata\\uiscripts\\personselectionedit.uis")
        {
            m_BackgroundImg = (UIBackgroundImage)m_PResult.Elements["\"BackgroundImage\""];

            m_CancelBtn = (UIButton)m_PResult.Elements["\"CancelButton\""];
            m_AcceptBtn = (UIButton)m_PResult.Elements["\"AcceptButton\""];

            m_DescriptionScrollUpBtn = (UIButton)m_PResult.Elements["\"DescriptionScrollUpButton\""];
            m_DescriptionScrollUpBtn.OnButtonClicked += M_DescriptionScrollUpBtn_OnButtonClicked;
            m_DescriptionScrollUpBtn.Enabled          = false;
            m_DescriptionScrollDownBtn = (UIButton)m_PResult.Elements["\"DescriptionScrollDownButton\""];
            m_DescriptionScrollDownBtn.OnButtonClicked += M_DescriptionScrollDownBtn_OnButtonClicked;
            m_DescriptionScrollDownBtn.Enabled          = false;

            m_ExitBtn = (UIButton)m_PResult.Elements["\"ExitButton\""];
            m_ExitBtn.OnButtonClicked += M_ExitBtn_OnButtonClicked;

            m_FemaleBtn = (UIButton)m_PResult.Elements["\"FemaleButton\""];
            m_FemaleBtn.OnButtonClicked += M_FemaleBtn_OnButtonClicked;

            m_MaleBtn = (UIButton)m_PResult.Elements["\"MaleButton\""];
            m_MaleBtn.OnButtonClicked += M_MaleBtn_OnButtonClicked;

            m_SkinLightBtn = (UIButton)m_PResult.Elements["\"SkinLightButton\""];
            m_SkinLightBtn.OnButtonClicked += M_SkinLightBtn_OnButtonClicked;

            m_SkinMediumBtn = (UIButton)m_PResult.Elements["\"SkinMediumButton\""];
            m_SkinMediumBtn.OnButtonClicked += M_SkinMediumBtn_OnButtonClicked;

            m_SkinDarkBtn = (UIButton)m_PResult.Elements["\"SkinDarkButton\""];
            m_SkinDarkBtn.OnButtonClicked += M_SkinDarkBtn_OnButtonClicked;

            m_HeadSkinBrowser = new UIHeadBrowser(this, m_PResult.Controls["\"HeadSkinBrowser\""], 1, AvatarSex.Female);
            m_HeadSkinBrowser.OnButtonClicked += M_HeadSkinBrowser_OnButtonClicked;
            m_HeadSkinBrowser.DrawOrder        = (int)DrawOrderEnum.UI;
            RegisterElement(m_HeadSkinBrowser);
            m_BodySkinBrowser = new UIBodyBrowser(this, m_PResult.Controls["\"BodySkinBrowser\""], 1, AvatarSex.Female);
            m_BodySkinBrowser.OnButtonClicked += M_BodySkinBrowser_OnButtonClicked;
            m_BodySkinBrowser.DrawOrder        = (int)DrawOrderEnum.UI;
            RegisterElement(m_BodySkinBrowser);

            AdultAvatar Avatar = new AdultAvatar(Manager.Device, Manager.HeadShader);

            Avatar.ChangeOutfit(FileManager.Instance.GetOutfit((ulong)FileIDs.OutfitsFileIDs.fab001_sl__pjs4), Vitaboy.SkinType.Medium);
            Avatar.SetHead(FileManager.Instance.GetOutfit((ulong)FileIDs.OutfitsFileIDs.fah002_mom), (Vitaboy.SkinType)m_CurrentSkinType);
            Avatar.ShouldRotate = true;

            m_Avatar = new Sim(Manager.Device, Manager.RenderCamera, Avatar);

            m_VitaboyScreen = new VitaboyScreen(Manager, new Vector2(0, 0),
                                                new Vector2(GlobalSettings.Default.ScreenWidth, GlobalSettings.Default.ScreenHeight));
            m_VitaboyScreen.AddSim(m_Avatar);

            m_ExitDialog = new ExitDialog(this, new Vector2(250, 250), m_Walker,
                                          GlobalSettings.Default.StartupPath + "gamedata\\uiscripts\\exitdialog.uis");
            m_ExitDialog.Visible = false;
            RegisterElement(m_ExitDialog);

            m_NameTextEdit = new TextBox(new Rectangle(22, 52, 230, 18), 64, "", Manager.Device, 9,
                                         StandardTxtColor, StandardTxtColor, 30, this, false);
            m_NameTextEdit.Name             = "NameTextEdit"; //This should be set for all UIElements that need to receive input.
            m_NameTextEdit.DrawOrder        = (int)DrawOrderEnum.UI;
            m_DescriptionTextEdit           = (UITextEdit)m_PResult.Elements["\"DescriptionTextEdit\""];
            m_DescriptionTextEdit.DrawOrder = (int)DrawOrderEnum.UI;

            KeyboardInput.Initialize(Manager, 500f, 20);

            HitVM.PlayEvent("bkground_createasim");

            Manager.AddScreen(m_VitaboyScreen);

            foreach (KeyValuePair <string, UIElement> KVP in m_PResult.Elements)
            {
                RegisterElement(KVP.Value);
            }
        }
コード例 #16
0
ファイル: PCardUI.cs プロジェクト: ClazyChen/Richer-4
 public PCardUI(Transform _Background) : base(_Background)
 {
     CardButton = UIBackgroundImage.GetComponent <PToolTipedButton>();
     Close();
 }
コード例 #17
0
        /// <summary>
        /// Walks a generated AST (Abstract Syntax Tree) and creates the elements of this UIScreen.
        /// </summary>
        /// <param name="State">A ParserState instance.</param>
        /// <param name="node">The root node of the AST.</param>
        private void WalkTree(UIParser.ParserState State, AstNode node, ref ParseResult Result)
        {
            NodeType NType = (NodeType)Enum.Parse(typeof(NodeType), node.ToString(), true);

            switch (NType)
            {
            case NodeType.DefineImage:     //Defines an image and loads a texture for it.
                DefineImageNode ImgNode = (DefineImageNode)UINode.GetNode(node);
                if (string.CompareOrdinal(ImgNode.Name, "\"BackgroundImage\"") == 0)
                {
                    UIBackgroundImage Img = new UIBackgroundImage(ImgNode, m_Screen);
                    Result.Elements.Add(ImgNode.Name, Img);
                }
                else
                {
                    UIImage Img = new UIImage(ImgNode, m_Screen);
                    Result.Elements.Add(ImgNode.Name, Img);
                }
                break;

            case NodeType.DefineString:     //Defines a string with a name.
                DefineStringNode StrNode = (DefineStringNode)UINode.GetNode(node);
                Result.Strings.Add(StrNode.Name, StringManager.StrTable(State.CurrentStringTable)[StrNode.StrIndex]);
                break;

            case NodeType.AddButton:     //Defines a button.
                AddButtonNode ButtonNode = (AddButtonNode)UINode.GetNode(node);
                UIButton      Btn        = new UIButton(ButtonNode, Result, m_Screen);
                Result.Elements.Add(ButtonNode.Name, Btn);

                break;

            case NodeType.AddText:
                AddTextNode TextNode = (AddTextNode)UINode.GetNode(node);
                UILabel     Lbl      = new UILabel(TextNode, Result, m_Screen);
                Result.Elements.Add(TextNode.Name, Lbl);
                break;

            case NodeType.AddTextEdit:
                AddTextEditNode TextEditNode = (AddTextEditNode)UINode.GetNode(node);
                UITextEdit      Txt          = new UITextEdit(TextEditNode, State, m_Screen);
                Result.Elements.Add(TextEditNode.Name, Txt);
                break;

            case NodeType.AddSlider:
                AddSliderNode SliderNode = (AddSliderNode)UINode.GetNode(node);
                UISlider      Slider     = new UISlider(SliderNode, State, m_Screen);
                Result.Elements.Add(SliderNode.Name, Slider);
                break;

            case NodeType.SetSharedProperties:     //Assigns a bunch of shared properties to declarations following the statement.
                State.InSharedPropertiesGroup = true;
                SetSharedPropsNode SharedPropsNode = (SetSharedPropsNode)UINode.GetNode(node);

                if (SharedPropsNode.StringTable != null)
                {
                    State.CurrentStringTable = (int)SharedPropsNode.StringTable;
                }

                if (SharedPropsNode.ControlPosition != null)
                {
                    State.Position[0] = SharedPropsNode.ControlPosition.Numbers[0];
                    State.Position[1] = SharedPropsNode.ControlPosition.Numbers[1];
                    break;
                }

                if (SharedPropsNode.Color != null)
                {
                    State.Color = new Color
                    {
                        R = (byte)SharedPropsNode.Color.Numbers[0],
                        G = (byte)SharedPropsNode.Color.Numbers[1],
                        B = (byte)SharedPropsNode.Color.Numbers[2]
                    };
                }

                if (SharedPropsNode.TextColor != null)
                {
                    State.TextColor = new Color
                    {
                        R = (byte)SharedPropsNode.TextColor.Numbers[0],
                        G = (byte)SharedPropsNode.TextColor.Numbers[1],
                        B = (byte)SharedPropsNode.TextColor.Numbers[2]
                    };
                }

                if (SharedPropsNode.TextColorSelected != null)
                {
                    State.TextColorSelected = new Color
                    {
                        R = (byte)SharedPropsNode.TextColorSelected.Numbers[0],
                        G = (byte)SharedPropsNode.TextColorSelected.Numbers[1],
                        B = (byte)SharedPropsNode.TextColorSelected.Numbers[2]
                    };
                }

                if (SharedPropsNode.TextColorHighlighted != null)
                {
                    State.TextColorHighlighted = new Color
                    {
                        R = (byte)SharedPropsNode.TextColorHighlighted.Numbers[0],
                        G = (byte)SharedPropsNode.TextColorHighlighted.Numbers[1],
                        B = (byte)SharedPropsNode.TextColorHighlighted.Numbers[2]
                    };
                }

                if (SharedPropsNode.TextColorDisabled != null)
                {
                    State.TextColorDisabled = new Color
                    {
                        R = (byte)SharedPropsNode.TextColorDisabled.Numbers[0],
                        G = (byte)SharedPropsNode.TextColorDisabled.Numbers[1],
                        B = (byte)SharedPropsNode.TextColorDisabled.Numbers[2]
                    };
                }

                if (SharedPropsNode.BackColor != null)
                {
                    State.BackColor = new Color
                    {
                        R = (byte)SharedPropsNode.BackColor.Numbers[0],
                        G = (byte)SharedPropsNode.BackColor.Numbers[1],
                        B = (byte)SharedPropsNode.BackColor.Numbers[2]
                    };
                }

                if (SharedPropsNode.CursorColor != null)
                {
                    State.CursorColor = new Color
                    {
                        R = (byte)SharedPropsNode.CursorColor.Numbers[0],
                        G = (byte)SharedPropsNode.CursorColor.Numbers[1],
                        B = (byte)SharedPropsNode.CursorColor.Numbers[2]
                    };
                }

                if (SharedPropsNode.FrameColor != null)
                {
                    State.FrameColor = new Color
                    {
                        R = (byte)SharedPropsNode.FrameColor.Numbers[0],
                        G = (byte)SharedPropsNode.FrameColor.Numbers[1],
                        B = (byte)SharedPropsNode.FrameColor.Numbers[2]
                    };
                }

                if (SharedPropsNode.TextButton)
                {
                    State.TextButton = true;
                }

                if (SharedPropsNode.Opaque != null)
                {
                    State.IsOpaque = (SharedPropsNode.Opaque == 1) ? true : false;
                }

                if (SharedPropsNode.Transparent != null)
                {
                    State.IsTransparent = (SharedPropsNode.Transparent == 1) ? true : false;
                }

                if (SharedPropsNode.Alignment != null)
                {
                    State.Alignment = (int)SharedPropsNode.Alignment;
                }

                if (SharedPropsNode.Image != "")
                {
                    State.Image = SharedPropsNode.Image;
                }

                if (SharedPropsNode.Tooltip != "")
                {
                    State.Tooltip = SharedPropsNode.Tooltip;
                }

                if (SharedPropsNode.Text != "")
                {
                    State.Caption = SharedPropsNode.Text;
                }

                if (SharedPropsNode.Size != null)
                {
                    State.Size = new Vector2(SharedPropsNode.Size.Numbers[0], SharedPropsNode.Size.Numbers[1]);
                }

                if (SharedPropsNode.Orientation != null)
                {
                    State.Orientation = (int)SharedPropsNode.Orientation;
                }

                if (SharedPropsNode.Font != null)
                {
                    State.Font = (int)SharedPropsNode.Font;
                }

                if (SharedPropsNode.Opaque != null)
                {
                    State.Opaque = (int)SharedPropsNode.Opaque;
                }

                break;

            case NodeType.SetControlProperties:     //Sets a bunch of properties to a specified control.
                SetControlPropsNode ControlPropsNode = (SetControlPropsNode)UINode.GetNode(node);

                UIControl Ctrl = new UIControl(ControlPropsNode, m_Screen, State);
                Result.Controls.Add(ControlPropsNode.Control, Ctrl);

                if (State.InSharedPropertiesGroup)
                {
                    UIElement Test = new UIElement(m_Screen, null);
                    //Script implicitly created an object... :\
                    if (!Result.Elements.TryGetValue(ControlPropsNode.Control, out Test))
                    {
                        Result.Elements.Add(ControlPropsNode.Control, new UIElement(m_Screen, null));

                        if (Ctrl.Image != null)
                        {
                            Result.Elements[ControlPropsNode.Control].Image = new UIImage(Ctrl.Image);
                        }

                        Result.Elements[ControlPropsNode.Control].Position = Ctrl.Position;
                    }
                }

                break;

            case NodeType.End:
                State.InSharedPropertiesGroup = false;
                State.Image      = "";    //Reset
                State.TextButton = false; //Reset
                State.Color      = new Color();
                State.Caption    = "";
                State.Size       = new Vector2(0, 0);
                State.Alignment  = 0;
                State.Font       = 0;
                //TODO: Reset more?
                break;
            }

            foreach (AstNode child in node.ChildNodes)
            {
                WalkTree(State, child, ref Result);
            }
        }
コード例 #18
0
        public SASScreen(ScreenManager Manager, SpriteBatch SBatch) : base(Manager, "SAS", SBatch,
                                                                           new Vector2(0, 0), new Vector2(GlobalSettings.Default.ScreenWidth, GlobalSettings.Default.ScreenHeight),
                                                                           GlobalSettings.Default.StartupPath + "\\" + "gamedata\\uiscripts\\personselection.uis")
        {
            m_BackgroundImg = (UIBackgroundImage)m_PResult.Elements["\"BackgroundImage\""];

            AdultAvatar Avatar = new AdultAvatar(Manager.Device, Manager.HeadShader);

            Avatar.ChangeOutfit(FileManager.Instance.GetOutfit((ulong)FileIDs.OutfitsFileIDs.fab001_sl__pjs4), Vitaboy.SkinType.Medium);
            Avatar.SetHead(FileManager.Instance.GetOutfit((ulong)FileIDs.OutfitsFileIDs.fah002_mom), Vitaboy.SkinType.Medium);
            AddAvatar(Avatar, 1);

            VitaboyScreen VScreen = new VitaboyScreen(Manager, new Vector2(0, 0),
                                                      new Vector2(GlobalSettings.Default.ScreenWidth, GlobalSettings.Default.ScreenHeight));

            VScreen.AddSim(m_Avatars[0]);

            Manager.AddScreen(VScreen);

            TabBackgroundImg1 = m_PResult.Elements["\"TabBackgroundImage1\""].Image;
            TabBackgroundImg2 = m_PResult.Elements["\"TabBackgroundImage2\""].Image;
            TabBackgroundImg3 = m_PResult.Elements["\"TabBackgroundImage3\""].Image;

            SimCreateButtonImage = (UIImage)m_PResult.Elements["\"SimCreateButtonImage\""];
            SimSelectButtonImage = (UIImage)m_PResult.Elements["\"SimSelectButtonImage\""];

            DescriptionTabBackgroundImg1         = m_PResult.Elements["\"DescriptionTabBackgroundImage1\""].Image;
            DescriptionTabBackgroundImg1.Visible = m_Avatars.Count >= 1 ? true : false;
            DescriptionTabBackgroundImg2         = m_PResult.Elements["\"DescriptionTabBackgroundImage2\""].Image;
            DescriptionTabBackgroundImg2.Visible = m_Avatars.Count >= 2 ? true : false;
            DescriptionTabBackgroundImg3         = m_PResult.Elements["\"DescriptionTabBackgroundImage3\""].Image;
            DescriptionTabBackgroundImg3.Visible = m_Avatars.Count == 3 ? true : false;

            DescriptionTabImage1         = m_PResult.Elements["\"DescriptionTabImage1\""].Image;
            DescriptionTabImage1.Visible = m_Avatars.Count >= 1 ? true : false;
            DescriptionTabImage2         = m_PResult.Elements["\"DescriptionTabImage2\""].Image;
            DescriptionTabImage2.Visible = m_Avatars.Count >= 2 ? true : false;
            DescriptionTabImage3         = m_PResult.Elements["\"DescriptionTabImage3\""].Image;
            DescriptionTabImage3.Visible = m_Avatars.Count == 3 ? true : false;

            EnterTabImage1         = m_PResult.Elements["\"EnterTabImage1\""].Image;
            EnterTabImage1.Visible = false;
            EnterTabImage2         = m_PResult.Elements["\"EnterTabImage2\""].Image;
            EnterTabImage2.Visible = false;
            EnterTabImage3         = m_PResult.Elements["\"EnterTabImage3\""].Image;
            EnterTabImage3.Visible = false;

            EnterTabBackgroundImage1         = m_PResult.Elements["\"EnterTabBackgroundImage1\""].Image;
            EnterTabBackgroundImage1.Visible = false;
            EnterTabBackgroundImage2         = m_PResult.Elements["\"EnterTabBackgroundImage2\""].Image;
            EnterTabBackgroundImage2.Visible = false;
            EnterTabBackgroundImage3         = m_PResult.Elements["\"EnterTabBackgroundImage3\""].Image;
            EnterTabBackgroundImage3.Visible = false;

            //DefaultHouseImg = (UIImage)m_Elements["\"DefaultHouseImage\""].Image; //Not used??

            CreditsBackgroundImg = m_PResult.Controls["\"CreditsButtonBackgroundImage\""].Image;
            //CityThumbnailBusyImg = m_Controls["\"CityThumbnailBusyImage\""].Image; //Not used??

            CityButtonTemplateImage = (UIImage)m_PResult.Elements["\"CityButtonTemplateImage\""];

            m_ExitButton = (UIButton)m_PResult.Elements["\"ExitButton\""];
            m_ExitButton.OnButtonClicked += M_ExitButton_OnButtonClicked;
            m_ExitDialog = new ExitDialog(this, new Vector2(250, 250), m_Walker,
                                          GlobalSettings.Default.StartupPath + "gamedata\\uiscripts\\exitdialog.uis");
            m_ExitDialog.Visible = false;
            RegisterElement(m_ExitDialog);

            m_EnterTabBtn1 = (UIButton)m_PResult.Elements["\"EnterTabButton1\""];
            m_EnterTabBtn1.OnButtonClicked += EnterTabBtn1_OnButtonClicked;
            m_EnterTabBtn1.Enabled          = m_Avatars.Count >= 1 ? true : false;
            m_EnterTabBtn2 = (UIButton)m_PResult.Elements["\"EnterTabButton2\""];
            m_EnterTabBtn2.OnButtonClicked += EnterTabBtn2_OnButtonClicked;
            m_EnterTabBtn2.Enabled          = m_Avatars.Count >= 2 ? true : false;
            m_EnterTabBtn3 = (UIButton)m_PResult.Elements["\"EnterTabButton3\""];
            m_EnterTabBtn3.OnButtonClicked += EnterTabBtn3_OnButtonClicked;
            m_EnterTabBtn3.Enabled          = m_Avatars.Count == 3 ? true : false;

            m_DescriptionTabBtn1 = (UIButton)m_PResult.Elements["\"DescriptionTabButton1\""];
            m_DescriptionTabBtn1.OnButtonClicked += DescriptionTabBtn1_OnButtonClicked;
            m_DescriptionTabBtn1.Enabled          = m_Avatars.Count >= 1 ? true : false;
            m_DescriptionTabBtn2 = (UIButton)m_PResult.Elements["\"DescriptionTabButton2\""];
            m_DescriptionTabBtn2.OnButtonClicked += DescriptionTabBtn2_OnButtonClicked;
            m_DescriptionTabBtn2.Enabled          = m_Avatars.Count >= 2 ? true : false;
            m_DescriptionTabBtn3 = (UIButton)m_PResult.Elements["\"DescriptionTabButton3\""];
            m_DescriptionTabBtn3.OnButtonClicked += DescriptionTabBtn3_OnButtonClicked;
            m_DescriptionTabBtn3.Enabled          = m_Avatars.Count == 3 ? true : false;

            m_AvatarButton1 = (UIButton)m_PResult.Elements["\"AvatarButton1\""];
            //m_AvatarButton1.AddImage(SimCreateButtonImage);
            m_AvatarButton2 = (UIButton)m_PResult.Elements["\"AvatarButton2\""];
            UIImage SimCreateButtonImg2 = new UIImage(SimCreateButtonImage);

            m_AvatarButton2.AddImage(SimCreateButtonImg2);
            m_AvatarButton3 = (UIButton)m_PResult.Elements["\"AvatarButton3\""];
            UIImage SimCreateButtonImg3 = new UIImage(SimCreateButtonImage);

            m_AvatarButton3.AddImage(SimCreateButtonImg3);

            m_CityButton1 = (UIButton)m_PResult.Elements["\"CityButton1\""];
            m_CityButton1.AddImage(GetImage("\"CityButtonTemplateImage\"", true));
            m_CityButton1.Visible = false;
            m_CityButton2         = (UIButton)m_PResult.Elements["\"CityButton2\""];
            m_CityButton2.AddImage(GetImage("\"CityButtonTemplateImage\"", true));
            m_CityButton2.Visible = false;
            m_CityButton3         = (UIButton)m_PResult.Elements["\"CityButton3\""];
            m_CityButton3.AddImage(GetImage("\"CityButtonTemplateImage\"", true));
            m_CityButton3.Visible = false;

            m_HouseButton1 = (UIButton)m_PResult.Elements["\"HouseButton1\""];
            m_HouseButton1.AddImage(GetImage("\"HouseButtonTemplateImage\"", true));
            m_HouseButton1.Visible = false;
            m_HouseButton2         = (UIButton)m_PResult.Elements["\"HouseButton2\""];
            m_HouseButton2.AddImage(GetImage("\"HouseButtonTemplateImage\"", true));
            m_HouseButton2.Visible = false;
            m_HouseButton3         = (UIButton)m_PResult.Elements["\"HouseButton3\""];
            m_HouseButton3.AddImage(GetImage("\"HouseButtonTemplateImage\"", true));
            m_HouseButton3.Visible = false;

            m_NewAvatarButton1         = (UIButton)m_PResult.Elements["\"NewAvatarButton1\""];
            m_NewAvatarButton1.Image   = SimSelectButtonImage;
            m_NewAvatarButton1.Visible = m_Avatars.Count >= 1 ? false : true;
            m_NewAvatarButton2         = (UIButton)m_PResult.Elements["\"NewAvatarButton2\""];
            m_NewAvatarButton2.Image   = SimCreateButtonImage;
            m_NewAvatarButton2.Visible = m_Avatars.Count >= 2 ? false : true;
            m_NewAvatarButton3         = (UIButton)m_PResult.Elements["\"NewAvatarButton3\""];
            m_NewAvatarButton3.Image   = SimCreateButtonImage;
            m_NewAvatarButton3.Visible = m_Avatars.Count == 3 ? false : true;

            m_DeleteAvatarButton1         = (UIButton)m_PResult.Elements["\"DeleteAvatarButton1\""];
            m_DeleteAvatarButton1.Visible = m_Avatars.Count >= 1 ? true : false;
            m_DeleteAvatarButton2         = (UIButton)m_PResult.Elements["\"DeleteAvatarButton2\""];
            m_DeleteAvatarButton2.Visible = m_Avatars.Count >= 2 ? true : false;
            m_DeleteAvatarButton3         = (UIButton)m_PResult.Elements["\"DeleteAvatarButton3\""];
            m_DeleteAvatarButton3.Visible = m_Avatars.Count == 3 ? true : false;

            m_PersonDescriptionText1         = (UITextEdit)m_PResult.Elements["\"PersonDescriptionText1\""];
            m_PersonDescriptionText1.Visible = m_Avatars.Count >= 1 ? true : false;
            m_PersonDescriptionText2         = (UITextEdit)m_PResult.Elements["\"PersonDescriptionText2\""];
            m_PersonDescriptionText2.Visible = m_Avatars.Count >= 2 ? true : false;
            m_PersonDescriptionText3         = (UITextEdit)m_PResult.Elements["\"PersonDescriptionText3\""];
            m_PersonDescriptionText3.Visible = m_Avatars.Count == 3 ? true : false;

            m_PersonDescriptionScrollUpBtn1         = (UIButton)m_PResult.Elements["\"PersonDescriptionScrollUpButton1\""];
            m_PersonDescriptionScrollUpBtn1.Visible = m_PersonDescriptionText1.Visible ? true : false;
            m_PersonDescriptionScrollUpBtn2         = (UIButton)m_PResult.Elements["\"PersonDescriptionScrollUpButton2\""];
            m_PersonDescriptionScrollUpBtn2.Visible = m_PersonDescriptionText2.Visible ? true : false;
            m_PersonDescriptionScrollUpBtn3         = (UIButton)m_PResult.Elements["\"PersonDescriptionScrollUpButton3\""];
            m_PersonDescriptionScrollUpBtn3.Visible = m_PersonDescriptionText3.Visible ? true : false;

            m_PersonDescriptionScrollDownBtn1         = (UIButton)m_PResult.Elements["\"PersonDescriptionScrollDownButton1\""];
            m_PersonDescriptionScrollDownBtn1.Visible = m_PersonDescriptionText1.Visible ? true : false;
            m_PersonDescriptionScrollDownBtn2         = (UIButton)m_PResult.Elements["\"PersonDescriptionScrollDownButton2\""];
            m_PersonDescriptionScrollDownBtn2.Visible = m_PersonDescriptionText2.Visible ? true : false;
            m_PersonDescriptionScrollDownBtn3         = (UIButton)m_PResult.Elements["\"PersonDescriptionScrollDownButton3\""];
            m_PersonDescriptionScrollDownBtn3.Visible = m_PersonDescriptionText3.Visible ? true : false;

            m_CityNameText1         = (UILabel)m_PResult.Elements["\"CityNameText1\""];
            m_CityNameText1.Visible = false;
            m_CityNameText2         = (UILabel)m_PResult.Elements["\"CityNameText2\""];
            m_CityNameText2.Visible = false;
            m_CityNameText3         = (UILabel)m_PResult.Elements["\"CityNameText3\""];
            m_CityNameText3.Visible = false;

            //TODO: Assign captions to these if a sim has a house...
            m_HouseNameText1 = (UILabel)m_PResult.Elements["\"HouseNameText1\""];
            m_HouseNameText2 = (UILabel)m_PResult.Elements["\"HouseNameText2\""];
            m_HouseNameText3 = (UILabel)m_PResult.Elements["\"HouseNameText3\""];

            m_CreditsButton = (UIButton)m_PResult.Elements["\"CreditsButton\""];

            HitVM.PlayEvent("bkground_selectasim");

            foreach (KeyValuePair <string, UIElement> KVP in m_PResult.Elements)
            {
                RegisterElement(KVP.Value);
            }
        }
コード例 #19
0
        public LoadingScreen(ScreenManager Manager, SpriteBatch SBatch) : base(Manager, "LoadingScreen",
                                                                               SBatch, new Vector2(0, 0),
                                                                               new Vector2(GlobalSettings.Default.ScreenWidth, GlobalSettings.Default.ScreenHeight))
        {
            DateTime Now = DateTime.Now;
            //For some reason, 31. of October isn't valid...
            DateTime  Halloween = DateTime.ParseExact("30/09/" + Now.Year.ToString(), "dd/MM/yyyy", null);
            DateTime  Valentine = DateTime.ParseExact("14/02/" + Now.Year.ToString(), "dd/MM/yyyy", null);
            DateTime  StPaddys  = DateTime.ParseExact("17/03/" + Now.Year.ToString(), "dd/MM/yyyy", null);
            DateRange Christmas = new DateRange(new DateTime(Now.Year, 12, 25), new DateTime(Now.Year, 12, 30));

            if (!Now.IsSameDay(Halloween) && !Now.IsSameDay(Valentine) && !Now.IsSameDay(StPaddys) && !Christmas.Includes(Now))
            {
                m_BackgroundImg = new UIBackgroundImage("Setup", FileManager.Instance.GetTexture((ulong)FileIDs.UIFileIDs.setup, false),
                                                        this);
            }
            else if (Now.IsSameDay(Halloween))
            {
                m_BackgroundImg = new UIBackgroundImage("Setup_Halloween", FileManager.Instance.GetTexture((ulong)FileIDs.UIFileIDs.setup_halloween),
                                                        this);
            }
            else if (Now.IsSameDay(Valentine))
            {
                m_BackgroundImg = new UIBackgroundImage("Setup_Valentine", FileManager.Instance.GetTexture((ulong)FileIDs.UIFileIDs.setup_valentine),
                                                        this);
            }
            else if (Now.IsSameDay(StPaddys))
            {
                m_BackgroundImg = new UIBackgroundImage("Setup_PaddysDay", FileManager.Instance.GetTexture((ulong)FileIDs.UIFileIDs.setup_paddys_day),
                                                        this);
            }
            else if (Christmas.Includes(Now))
            {
                m_BackgroundImg = new UIBackgroundImage("Setup_Xmas", FileManager.Instance.GetTexture((ulong)FileIDs.UIFileIDs.setup_xmas),
                                                        this);
            }

            m_Txt = StringManager.StrTable(155);

            m_LblExtrudingTerrainWeb = new UILabel(m_Txt[5], 1, new Vector2(Resolution.ScreenArea.Width,
                                                                            Resolution.ScreenArea.Height - 50), new Vector2(12, 12),
                                                   Color.FromNonPremultiplied(255, 249, 157, 255), 12, this);
            m_LblExtrudingTerrainWeb.Visible = false;

            m_LblCalculatingDomesticCoefficients = new UILabel(m_Txt[6], 1, new Vector2(Resolution.ScreenArea.Width,
                                                                                        Resolution.ScreenArea.Height - 50), new Vector2(12, 12),
                                                               Color.FromNonPremultiplied(255, 249, 157, 255), 12, this);
            m_LblCalculatingDomesticCoefficients.Visible = false;

            m_LblReadjustingCareerLadder = new UILabel(m_Txt[7], 1, new Vector2(Resolution.ScreenArea.Width,
                                                                                Resolution.ScreenArea.Height - 50), new Vector2(12, 12),
                                                       Color.FromNonPremultiplied(255, 249, 157, 255), 12, this);
            m_LblReadjustingCareerLadder.Visible = false;

            m_LblAccessingMoneySupply = new UILabel(m_Txt[8], 1, new Vector2(Resolution.ScreenArea.Width,
                                                                             Resolution.ScreenArea.Height - 50), new Vector2(12, 12),
                                                    Color.FromNonPremultiplied(255, 249, 157, 255), 12, this);
            m_LblAccessingMoneySupply.Visible = false;

            m_LblHackingTheSocialNetwork = new UILabel(m_Txt[9], 1, new Vector2(Resolution.ScreenArea.Width,
                                                                                Resolution.ScreenArea.Height - 50), new Vector2(12, 12),
                                                       Color.FromNonPremultiplied(255, 249, 157, 255), 12, this);
            m_LblHackingTheSocialNetwork.Visible = false;

            m_LblDownloadingReticulatedSplines = new UILabel(m_Txt[10], 1, new Vector2(Resolution.ScreenArea.Width,
                                                                                       Resolution.ScreenArea.Height - 50), new Vector2(12, 12),
                                                             Color.FromNonPremultiplied(255, 249, 157, 255), 12, this);
            m_LblDownloadingReticulatedSplines.Visible = false;

            m_LblAdjustingEmotionalWeights = new UILabel(m_Txt[11], 1, new Vector2(Resolution.ScreenArea.Width,
                                                                                   Resolution.ScreenArea.Height - 50), new Vector2(12, 12),
                                                         Color.FromNonPremultiplied(255, 249, 157, 255), 12, this);
            m_LblAdjustingEmotionalWeights.Visible = false;

            m_LblCalibratingPersonalityMatrix = new UILabel(m_Txt[12], 1, new Vector2(Resolution.ScreenArea.Width,
                                                                                      Resolution.ScreenArea.Height - 50), new Vector2(12, 12),
                                                            Color.FromNonPremultiplied(255, 249, 157, 255), 12, this);
            m_LblCalibratingPersonalityMatrix.Visible = false;

            m_LblSettingUpPersonfinder = new UILabel(m_Txt[13], 1, new Vector2(Resolution.ScreenArea.Width,
                                                                               Resolution.ScreenArea.Height - 50), new Vector2(12, 12),
                                                     Color.FromNonPremultiplied(255, 249, 157, 255), 12, this);
            m_LblSettingUpPersonfinder.Visible = false;

            HitVM.PlayEvent("bkground_load");

            Task LoadTask = new Task(new Action(CacheResources));

            LoadTask.Start();

            m_Stopwatch = new Stopwatch();
            m_Stopwatch.Start();

            m_Tween = new Tweener();
            m_Tween.Tween(m_LblExtrudingTerrainWeb,
                          new { XPosition = (float)Resolution.ScreenArea.Width / 2 }, 7);
        }
コード例 #20
0
ファイル: PBlockScene.cs プロジェクト: ClazyChen/Richer-4
 public PBlockScene(Transform _Background) : base(_Background)
 {
     InitializeControls <TextMesh>();
     BlockImage = UIBackgroundImage.Find("BlockImage");
     Close();
 }