Esempio n. 1
0
        public Player(int controller)
        {
            PlayerID  = controller;
            NoConnect = false;
            if (ScreenManager.Instance.Controllers[controller] != null)
            {
                CharCreation_Members char_mem = new CharCreation_Members();

                State         = PlayerEnums.ActionState.None;
                lookDirection = PlayerEnums.LookDirection.Down;
                sprSheetY     = PlayerEnums.Action.None;
                sprSheetX     = 0;

                Controller = ScreenManager.Instance.Controllers[controller];

                direction = new Vector2(0, 1);

                string gender = "";

                if (Controller.characterInfo.Gender == 0)
                {
                    gender = "Male";
                }
                else
                {
                    gender = "Female";
                }

                sprite = new SpriteClasscs(
                    "CharacterSprites/" + gender + "/SkinColor/" + char_mem.GetString(1, 1, Controller.characterInfo.Skincolor),
                    "CharacterSprites/" + gender + "/Shirt/" + char_mem.GetString(2, 1, Controller.characterInfo.Shirt),
                    "CharacterSprites/" + gender + "/Head/" + char_mem.GetString(2, 0, Controller.characterInfo.Head),
                    "CharacterSprites/" + gender + "/Belt/" + char_mem.GetString(2, 2, Controller.characterInfo.Belt),
                    "CharacterSprites/" + gender + "/Pants/" + char_mem.GetString(2, 3, Controller.characterInfo.Pants)
                    );

                SpeedScale = 1.5f;

                Healthbar                = new Healthbar();
                LevelIndicator           = new LevelIndicator();
                LevelIndicator.Text.Text = Convert.ToString(Controller.characterInfo.Level);
                if (Convert.ToInt32(LevelIndicator.Text.Text) == 0)
                {
                    LevelIndicator.Text.Text = "1";
                }
                else if (Convert.ToInt32(LevelIndicator.Text.Text) == 1)
                {
                    Controller.characterInfo.Level = 10;
                }
                Expbar = new Expbar();
                Expbar.SetExp(Controller.characterInfo.XP);
            }
            else
            {
                NoConnect = true;
            }
        }
Esempio n. 2
0
        //Contructor
        public CharCreationScreen()
        {
            charCreatin_member = new CharCreation_Members();

            numitems1 = charCreatin_member.GetList(10, 0).Count;
            numitems2 = charCreatin_member.GetList(10, 2).Count;
            numitems3 = charCreatin_member.GetList(10, 1).Count;

            fields[0] = new Control1_Field(0, numFields, "Character", numitems1);
            fields[2] = new Control1_Field(2, numFields, "Clothes", numitems2);
            fields[1] = new Control1_Field(1, numFields, "Appearance", numitems3);

            control = new Control1(numFields, numitems1);

            for (int i = 0; i < numitems1; i++)
            {
                items1[i] = new Control1_Item(
                    itemID: i,
                    itemname: charCreatin_member.GetList(10, 0)[i],
                    itemsetting: charCreatin_member.GetString(0, i, 0),
                    fieldID: 0,
                    maxindex: charCreatin_member.GetList(i, 0).Count
                    );
            }

            for (int i = 0; i < numitems2; i++)
            {
                items2[i] = new Control1_Item(
                    itemID: i,
                    itemname: charCreatin_member.GetList(10, 2)[i],
                    itemsetting: charCreatin_member.GetString(2, i, 0),
                    fieldID: 2,
                    maxindex: charCreatin_member.GetList(i, 2).Count
                    );
            }
            for (int i = 0; i < numitems3; i++)
            {
                items3[i] = new Control1_Item(
                    itemID: i,
                    itemname: charCreatin_member.GetList(10, 1)[i],
                    itemsetting: charCreatin_member.GetString(1, i, 0),
                    fieldID: 1,
                    maxindex: charCreatin_member.GetList(i, 1).Count
                    );
            }

            characterCreator = new CharacterCreator();
        }
        public void FillArrays()
        {
            string gender = "";

            for (int i = 0; i < 2; i++)
            {
                if (i == 0)
                {
                    gender = "Male";
                }
                else
                {
                    gender = "Female";
                }

                #region "SkinColor"
                for (int j = 0; j < charCreation_member.GetList(1, 1).Count; j++)
                {
                    string spriteName = charCreation_member.GetString(1, 1, j);

                    Skincolor[i, j] = new SprSheetImage("CharacterSprites/" + gender + "/SkinColor/" + spriteName);
                }
                #endregion

                #region "Head"
                for (int j = 0; j < charCreation_member.GetList(0, 2).Count; j++)
                {
                    string spriteName = charCreation_member.GetString(2, 0, j);

                    Head[i, j] = new SprSheetImage("CharacterSprites/" + gender + "/Head/" + spriteName);
                }
                #endregion

                #region "Shirt"
                for (int j = 0; j < charCreation_member.GetList(1, 2).Count; j++)
                {
                    string spriteName = charCreation_member.GetString(2, 1, j);

                    Shirt[i, j] = new SprSheetImage("CharacterSprites/" + gender + "/Shirt/" + spriteName);
                }
                #endregion

                #region "Belt"
                for (int j = 0; j < charCreation_member.GetList(2, 2).Count; j++)
                {
                    string spriteName = charCreation_member.GetString(2, 2, j);

                    Belt[i, j] = new SprSheetImage("CharacterSprites/" + gender + "/Belt/" + spriteName);
                }
                #endregion

                #region "Pants"
                for (int j = 0; j < charCreation_member.GetList(3, 2).Count; j++)
                {
                    string spriteName = charCreation_member.GetString(2, 3, j);

                    Pants[i, j] = new SprSheetImage("CharacterSprites/" + gender + "/Pants/" + spriteName);
                }
                #endregion
            }
        }
Esempio n. 4
0
        public override void Update(GameTime gameTime)
        {
            base.Update(gameTime);

            control.CurrentNumberControlItems = fields[control.CurrentActiveField].maxItems;

            control.Update(gameTime);

            if (control.CurrentActiveField == 0)
            {
                for (int i = 0; i < items1.Length; i++)
                {
                    if (i != 10 && items1[i] != null)
                    {
                        items1[i].itemsetting.Text = charCreatin_member.GetString(0, i, items1[i].currentIndex);
                    }
                }
            }
            else if (control.CurrentActiveField == 2)
            {
                for (int i = 0; i < items2.Length; i++)
                {
                    if (i != 10 && items2[i] != null)
                    {
                        items2[i].itemsetting.Text = charCreatin_member.GetString(2, i, items2[i].currentIndex);
                    }
                }
            }
            else if (control.CurrentActiveField == 1)
            {
                for (int i = 0; i < items3.Length; i++)
                {
                    if (i != 10 && items3[i] != null)
                    {
                        items3[i].itemsetting.Text = charCreatin_member.GetString(1, i, items3[i].currentIndex);
                    }
                }
            }

            foreach (var control_field in fields)
            {
                control_field.Status = -1;
                control_field.SetStatus(control.CurrentActiveField);
                control_field.Update(gameTime);
            }

            foreach (var item in items1)
            {
                if (item != null)
                {
                    item.IsSelected = false;
                    item.SetSelected((int)control.currentSelectedItemControl);
                    item.Update(gameTime);
                }
            }
            foreach (var item in items2)
            {
                if (item != null)
                {
                    item.IsSelected = false;
                    item.SetSelected((int)control.currentSelectedItemControl);
                    item.Update(gameTime);
                }
            }
            foreach (var item in items3)
            {
                if (item != null)
                {
                    item.IsSelected = false;
                    item.SetSelected((int)control.currentSelectedItemControl);
                    item.Update(gameTime);
                }
            }

            if (control.currentSelectedMainControl == Control1.selection.fieldactive)
            {
                if (control.CurrentActiveItem != 10)
                {
                    if (control.CurrentActiveField == 0)
                    {
                        items1[control.CurrentActiveItem].IsSelected = true;
                        items1[control.CurrentActiveItem].Update(gameTime);
                    }
                    if (control.CurrentActiveField == 2)
                    {
                        items2[control.CurrentActiveItem].IsSelected = true;
                        items2[control.CurrentActiveItem].Update(gameTime);
                    }
                    if (control.CurrentActiveField == 1)
                    {
                        items3[control.CurrentActiveItem].IsSelected = true;
                        items3[control.CurrentActiveItem].Update(gameTime);
                    }
                }
            }

            if (control.CurrentActiveField == 1 || control.CurrentActiveField == 2)
            {
                for (int i = 0; i < characterCreator.curAppearencesettings.Length; i++)
                {
                    characterCreator.curAppearencesettings[i] = items3[i].currentIndex;
                }
                for (int i = 0; i < characterCreator.curClothessettings.Length; i++)
                {
                    characterCreator.curClothessettings[i] = items2[i].currentIndex;
                }
                characterCreator.Update(gameTime);
            }

            if (ScreenManager.Instance.Controllers[0].characterInfo.NotFound)
            {
                ScreenManager.Instance.Controllers[0].characterInfo.NameIndex = items1[0].currentIndex;

                ScreenManager.Instance.Controllers[0].characterInfo.Gender    = items3[0].currentIndex;
                ScreenManager.Instance.Controllers[0].characterInfo.Skincolor = items3[1].currentIndex;

                ScreenManager.Instance.Controllers[0].characterInfo.Head  = items2[0].currentIndex;
                ScreenManager.Instance.Controllers[0].characterInfo.Shirt = items2[1].currentIndex;
                ScreenManager.Instance.Controllers[0].characterInfo.Belt  = items2[2].currentIndex;
                ScreenManager.Instance.Controllers[0].characterInfo.Pants = items2[3].currentIndex;

                ScreenManager.Instance.Controllers[0].characterInfo.NotFound = false;
            }


            if (control.currentSelectedMainControl == Control1.selection.buttoncontinue && (InputManager.Instance.KeyPressed(Keys.Enter) || ScreenManager.Instance.Controllers[0].A_Button(true)))
            {
                ScreenManager.Instance.Controllers[0].characterInfo.Name      = charCreatin_member.GetString(0, 0, items1[0].currentIndex);
                ScreenManager.Instance.Controllers[0].characterInfo.Gender    = items3[0].currentIndex;
                ScreenManager.Instance.Controllers[0].characterInfo.Skincolor = items3[1].currentIndex;

                ScreenManager.Instance.Controllers[0].characterInfo.Head  = items2[0].currentIndex;
                ScreenManager.Instance.Controllers[0].characterInfo.Shirt = items2[1].currentIndex;
                ScreenManager.Instance.Controllers[0].characterInfo.Belt  = items2[2].currentIndex;
                ScreenManager.Instance.Controllers[0].characterInfo.Pants = items2[3].currentIndex;

                ScreenManager.Instance.Controllers[0].SaveSettings();

                ScreenManager.Instance.ChangeScreen("MapTestScreen");
            }

            //When the Escape key has been pressed exit the game
            if (InputManager.Instance.KeyPressed(Keys.Escape))
            {
                //ScreenManager.Instance.ChangeScreen("MenuScreen");
            }
        }