コード例 #1
0
    public void convertToMono(CharacterSaveData csd)
    {
        charName     = csd.charName;
        pic          = (Texture)Resources.Load("Textures/Characters/" + charName);
        max_health   = csd.max_health;
        curr_health  = csd.curr_health;
        max_mana     = csd.max_mana;
        curr_mana    = csd.curr_mana;
        attack       = csd.attack;
        magic_attack = csd.magic_attack;
        defense      = csd.defense;
        fireRes      = csd.fireRes;
        wtrRes       = csd.wtrRes;
        elecRes      = csd.elecRes;
        holyRes      = csd.holyRes;
        darkRes      = csd.darkRes;

        for (var i = 0; i < csd.skills.Count; i++)
        {
            skills.Add(LoadSave.ls.gameObject.GetComponent <LoadSkillsXML>().find(csd.skills[i]));
        }

        for (var i = 0; i < csd.spells.Count; i++)
        {
            spells.Add(LoadSave.ls.gameObject.GetComponent <LoadSpellsXML>().find(csd.spells[i]));
        }
    }
コード例 #2
0
    public void SetupCharacter(CharacterSaveData character)
    {
        //从列表选择一个角色后
        //取得角色预制索引
        SelectedCharacter = character;
        CharacterIndex    = SelectedCharacter.CharacterIndex;

        if (CharacterPresets.Length > 0)
        {
            //检查角色索引是否正确
            if (CharacterIndex >= CharacterPresets.Length)
            {
                CharacterIndex = CharacterPresets.Length - 1;
            }

            if (CharacterIndex < 0)
            {
                CharacterIndex = 0;
            }

            //设置玩家名字和角色Key
            if (UnitZ.gameManager)
            {
                UnitZ.gameManager.UserName     = SelectedCharacter.PlayerName;
                UnitZ.gameManager.CharacterKey = SelectedCharacter.CharacterKey;
                CharacterSelected = UnitZ.characterManager.CharacterPresets [CharacterIndex].CharacterPrefab.gameObject;
            }
        }
    }
コード例 #3
0
    //移除角色
    public void RemoveCharacter(CharacterSaveData character)
    {
        string[] charactersList = PlayerPrefs.GetString("CHARACTERS").Split("," [0]);
        string   characters     = "";
        string   hasKey         = character.CharacterKey;


        if (charactersList.Length > 0)
        {
            for (int i = 0; i < charactersList.Length; i++)
            {
                if (charactersList [i] != "" && charactersList [i] != hasKey)
                {
                    characters += "," + charactersList [i];
                }
            }
            PlayerPrefs.SetString("CHARACTERS", characters);
            PlayerPrefs.DeleteKey("CHARACTER_" + hasKey);
            PlayerPrefs.DeleteKey("CharacterIndex_" + hasKey);

            if (UnitZ.gameManager)
            {
                DeleteSave(UnitZ.gameManager.UserID, hasKey, character.PlayerName);
            }
        }
    }
コード例 #4
0
ファイル: Skills.cs プロジェクト: facybenbook/LotRRoguelike
    //Function called from Character.cs to set skill values when loading from a save file
    public void LoadSkillValue(CharacterSaveData dataToLoad_)
    {
        //Loading martial skill values
        this.unarmed = dataToLoad_.unarmed;
        this.daggers = dataToLoad_.daggers;
        this.swords  = dataToLoad_.swords;
        this.mauls   = dataToLoad_.mauls;
        this.poles   = dataToLoad_.poles;
        this.bows    = dataToLoad_.bows;
        this.shields = dataToLoad_.shields;

        //Loading magic skill values
        this.arcaneMagic   = dataToLoad_.arcaneMagic;
        this.holyMagic     = dataToLoad_.holyMagic;
        this.darkMagic     = dataToLoad_.darkMagic;
        this.fireMagic     = dataToLoad_.fireMagic;
        this.waterMagic    = dataToLoad_.waterMagic;
        this.windMagic     = dataToLoad_.windMagic;
        this.electricMagic = dataToLoad_.electricMagic;
        this.stoneMagic    = dataToLoad_.stoneMagic;

        //Loading non-combat skill values
        this.survivalist = dataToLoad_.survivalist;
        this.social      = dataToLoad_.social;
    }
コード例 #5
0
 public void RemoveCharacter(CharacterSaveData character)
 {
     if (UnitZ.playerSave)
     {
         UnitZ.playerSave.RemoveCharacter(character);
     }
 }
コード例 #6
0
    //Constructor function for this class
    public PartySaveData(PartyGroup groupToSave_)
    {
        this.combatDist = groupToSave_.combatDistance;

        CreateTileGrid.TileColRow tileLocation = CreateTileGrid.globalReference.GetTileCoords(groupToSave_.GetComponent <WASDOverworldMovement>().currentTile);
        this.tileCol = tileLocation.col;
        this.tileRow = tileLocation.row;

        //Looping through all of the characters in the given party and getting their save data
        this.partyCharacters = new List <global::CharacterSaveData>();
        for (int c = 0; c < groupToSave_.charactersInParty.Count; ++c)
        {
            //If the current character isn't null, we save it's data
            if (groupToSave_.charactersInParty[c] != null)
            {
                CharacterSaveData charData = new CharacterSaveData(groupToSave_.charactersInParty[c]);
                this.partyCharacters.Add(charData);
            }
            //If the current character slot is null, we add the empty slot
            else
            {
                this.partyCharacters.Add(null);
            }
        }
    }
コード例 #7
0
ファイル: Skills.cs プロジェクト: MitchellRegan/LotRRoguelike
    //Function called from Character.cs to set skill values when loading from a save file
    public void LoadSkillValue(CharacterSaveData dataToLoad_)
    {
        //Loading the skill stat values
        this.strength  = dataToLoad_.strength;
        this.finesse   = dataToLoad_.finesse;
        this.willpower = dataToLoad_.willpower;
        this.spirit    = dataToLoad_.spirit;

        //Loading martial skill values
        this.unarmed = dataToLoad_.unarmed;
        this.daggers = dataToLoad_.daggers;
        this.swords  = dataToLoad_.swords;
        this.mauls   = dataToLoad_.mauls;
        this.poles   = dataToLoad_.poles;
        this.bows    = dataToLoad_.bows;
        this.shields = dataToLoad_.shields;

        //Loading magic skill values
        this.arcaneMagic   = dataToLoad_.arcaneMagic;
        this.enchantMagic  = dataToLoad_.enchantMagic;
        this.holyMagic     = dataToLoad_.holyMagic;
        this.darkMagic     = dataToLoad_.darkMagic;
        this.fireMagic     = dataToLoad_.fireMagic;
        this.waterMagic    = dataToLoad_.waterMagic;
        this.windMagic     = dataToLoad_.windMagic;
        this.electricMagic = dataToLoad_.electricMagic;
        this.stoneMagic    = dataToLoad_.stoneMagic;
    }
コード例 #8
0
    public CharacterSaveData convertToSerializable()
    {
        CharacterSaveData csd = new CharacterSaveData();

        csd.charName     = charName;
        csd.max_health   = max_health;
        csd.curr_health  = curr_health;
        csd.max_mana     = max_mana;
        csd.curr_mana    = curr_mana;
        csd.attack       = attack;
        csd.magic_attack = magic_attack;
        csd.defense      = defense;
        csd.fireRes      = fireRes;
        csd.wtrRes       = wtrRes;
        csd.elecRes      = elecRes;
        csd.holyRes      = holyRes;
        csd.darkRes      = darkRes;

        for (var i = 0; i < skills.Count; i++)
        {
            csd.skills.Add(skills[i].abilityName);
        }

        for (var i = 0; i < spells.Count; i++)
        {
            csd.spells.Add(spells[i].abilityName);
        }

        return(csd);
    }
コード例 #9
0
    public CharacterSaveData[] LoadAllCharacters()
    {
        string[] charactersList        = PlayerPrefs.GetString("CHARACTERS").Split("," [0]);
        List <CharacterSaveData> chars = new List <CharacterSaveData> ();

        if (charactersList.Length > 0)
        {
            for (int i = 0; i < charactersList.Length; i++)
            {
                if (charactersList [i] != "")
                {
                    CharacterSaveData ch = LoadCharacter(charactersList [i]);
                    if (ch.PlayerName != "")
                    {
                        chars.Add(ch);
                    }
                }
            }

            CharacterSaveData[] allCharacters = chars.ToArray();

            return(allCharacters);
        }
        return(null);
    }
コード例 #10
0
    public void SetupCharacter(CharacterSaveData character)
    {
        // when you select a character from the list.
        // you will get character preset index.
        SelectedCharacter = character;
        CharacterIndex    = SelectedCharacter.CharacterIndex;

        if (CharacterPresets.Length > 0)
        {
            // just chack if CharacterIndex is correct.
            if (CharacterIndex >= CharacterPresets.Length)
            {
                CharacterIndex = CharacterPresets.Length - 1;
            }

            if (CharacterIndex < 0)
            {
                CharacterIndex = 0;
            }

            // Set UserName and CharacterKey
            if (UnitZ.gameManager)
            {
                UnitZ.gameManager.UserName     = SelectedCharacter.PlayerName;
                UnitZ.gameManager.CharacterKey = SelectedCharacter.CharacterKey;
                CharacterSelected = UnitZ.characterManager.CharacterPresets [CharacterIndex].CharacterPrefab.gameObject;
            }
        }
    }
コード例 #11
0
 public void Load(CharacterSaveData saveData)
 {
     characterName = saveData.CharacterName;
     HairColor     = saveData.HairColor;
     EyeColor      = saveData.EyeColor;
     SkinColor     = saveData.SkinColor;
     TeamColor     = saveData.TeamColor;
 }
コード例 #12
0
        public IActionResult Edit(int id, [FromBody] CharacterSaveData characterSaveData)
        {
            var character = _context.Characters.Find(id);

            _mapper.Map(characterSaveData, character);
            _context.SaveChanges();

            return(NoContent());
        }
コード例 #13
0
 private void SetupValues(ScrObjLibraryVariable iLib, CharacterSaveData saveData)
 {
     skills = new CharacterSkill[SKILL_SIZE];
     for (int i = 0; i < saveData.skills.Count; i++)
     {
         skills[i] = (CharacterSkill)iLib.GetEntry(saveData.skills[i]);
         //Debug.Log("Found skill " + skills[i].uuid);
     }
 }
コード例 #14
0
    IEnumerator ShowSaveDialogCoroutine(string pathExtension, CharacterSaveData characterSaveData)
    {
        yield return(FileBrowser.WaitForSaveDialog(false, Application.persistentDataPath + Path.AltDirectorySeparatorChar + pathExtension, "Save File", "Save"));

        if (FileBrowser.Success)
        {
            SavaData.Instance.Save(characterSaveData, FileBrowser.Result);
        }
    }
コード例 #15
0
    //Constructor function for this class
    public PartySaveData(PartyGroup groupToSave_)
    {
        this.combatDist = groupToSave_.combatDistance;

        TileColRow tileLocation = TileMapManager.globalReference.GetTileCoords(groupToSave_.GetComponent <WASDOverworldMovement>().currentTile);

        this.tileCol = tileLocation.col;
        this.tileRow = tileLocation.row;

        //Looping through all of the characters in the given party and getting their save data
        this.partyCharacters = new List <global::CharacterSaveData>();
        for (int c = 0; c < groupToSave_.charactersInParty.Count; ++c)
        {
            //If the current character isn't null, we save it's data
            if (groupToSave_.charactersInParty[c] != null)
            {
                CharacterSaveData charData = new CharacterSaveData(groupToSave_.charactersInParty[c]);
                this.partyCharacters.Add(charData);
            }
            //If the current character slot is null, we add the empty slot
            else
            {
                this.partyCharacters.Add(null);
            }
        }

        //Looping through all of the party inventory items to save their object references
        this.inventorySlots = new List <string>();
        this.stackedItems   = new List <string>();
        for (int i = 0; i < groupToSave_.inventory.itemSlots.Count; ++i)
        {
            //Making sure the current inventory object isn't null
            if (groupToSave_.inventory.itemSlots[i] != null)
            {
                //Reference to the item's IDTag component
                IDTag itemTag = groupToSave_.inventory.itemSlots[i].GetComponent <IDTag>();

                //Saving the IDTag info
                this.inventorySlots.Add(JsonUtility.ToJson(new PrefabIDTagData(itemTag)));

                //If the current item is a stack
                if (groupToSave_.inventory.itemSlots[i].currentStackSize > 1)
                {
                    //Creating a new InventoryItemStackData class to store the item stack
                    InventoryItemStackData stack = new InventoryItemStackData(i, itemTag, groupToSave_.inventory.itemSlots[i].currentStackSize);
                    //Adding a serialized version of the stack data to our list of stacked items
                    this.stackedItems.Add(JsonUtility.ToJson(stack));
                }
            }
            //If the current item is null, we set a null slot to keep the empty space
            else
            {
                this.inventorySlots.Add("");
            }
        }
    }
コード例 #16
0
 public static bool ValidateData(CharacterSaveData characterSaveData)
 {
     if (!Regex.IsMatch(characterSaveData.CharacterName, @"^[a-zA-Z]+$") && characterSaveData.CharacterName != "")
     {
         ActionText.Instance.SetActionText("Cannot load Data due to illegal value " + characterSaveData.CharacterName + " of " + nameof(characterSaveData.CharacterName), 5f);
         return(false);
     }
     ActionText.Instance.SetActionText("Data has been loaded successfully!", 2f);
     return(true);
 }
コード例 #17
0
        public IActionResult Create([FromBody] CharacterSaveData characterSaveData)
        {
            var character = _mapper.Map <Character>(characterSaveData);

            _context.Characters.Add(character);
            _context.SaveChanges();

            var characterDetails = _mapper.Map <CharacterDetails>(character);

            return(CreatedAtAction(nameof(Get), new { id = 0 }, characterDetails));
        }
コード例 #18
0
    /// <summary>
    /// 通过保存数据初始化
    /// </summary>
    public void initCharacterUseLogicBySaveData(CharacterUseLogic logic, CharacterSaveData saveData, bool needFuncTool, bool needBindPlayer, bool isClientDrive)
    {
        CharacterUseData useData = createCharacterUseDataBySaveData(saveData);

        initUseLogicByUseData(logic, useData, needFuncTool, needBindPlayer, isClientDrive);

        if (saveData.cache != null)
        {
            logic.getFightLogic().loadCache(saveData.cache);
        }
    }
コード例 #19
0
    private void LoadValuesFromObject()
    {
        CharacterSaveData characterSaveData = currentEditableObject.GetComponent <Character>().Save();

        this.characterSaveData      = characterSaveData;
        characterName.text          = this.characterSaveData.CharacterName;
        hairPicker.CurrentColor     = this.characterSaveData.HairColor;
        eyePicker.CurrentColor      = this.characterSaveData.EyeColor;
        skinPicker.CurrentColor     = this.characterSaveData.SkinColor;
        teamPicker.CurrentColor     = this.characterSaveData.TeamColor;
        Manager.Instance.TeamColour = this.characterSaveData.TeamColor;
    }
コード例 #20
0
ファイル: PlayerSave.cs プロジェクト: sparxcrossroads/UnitZ
    public bool CreateCharacter(CharacterSaveData character)
    {
        string charactersList = PlayerPrefs.GetString ("CHARACTERS");

        if (SaveCharacter (character)) {
            charactersList += "," + character.PlayerName;
            PlayerPrefs.SetString ("CHARACTERS", charactersList);
            //Debug.Log (" character list " + charactersList);
            return true;
        }
        return false;
    }
コード例 #21
0
    //更新角色
    public bool UpdateCharacter(CharacterSaveData character)
    {
        string hasKey = character.CharacterKey;

        //Debug.Log("Update Character " + hasKey + " " + PlayerPrefs.HasKey("CHARACTER_" + hasKey));
        if (PlayerPrefs.HasKey("CHARACTER_" + hasKey))
        {
            PlayerPrefs.SetString("CHARACTER_" + hasKey, character.PlayerName);
            PlayerPrefs.SetInt("CharacterIndex_" + hasKey, character.CharacterIndex);
            return(true);
        }
        return(false);
    }
コード例 #22
0
    /// <summary>
    /// 通过保存数据,创建使用数据
    /// </summary>
    public CharacterUseData createCharacterUseDataBySaveData(CharacterSaveData saveData)
    {
        CharacterUseData data = GameC.factory.createCharacterUseData();

        data.initDefault();

        //1级
        data.level = me.role.getLevel();
        initMUnitUseBySave(data, saveData);
        initCharacterUseBySave(data, saveData);

        return(data);
    }
コード例 #23
0
    //角色存储数据
    public CharacterSaveData LoadCharacter(string key)
    {
        //Debug.Log ("Load " + name);
        CharacterSaveData character = new CharacterSaveData();
        string            hasKey    = key;

        if (PlayerPrefs.HasKey("CHARACTER_" + hasKey))
        {
            character.PlayerName     = PlayerPrefs.GetString("CHARACTER_" + hasKey);
            character.CharacterIndex = PlayerPrefs.GetInt("CharacterIndex_" + hasKey);
            character.CharacterKey   = hasKey;
        }
        return(character);
    }
コード例 #24
0
    public void SelectCharacter(CharacterSaveData character)
    {
        // function for select character
        if (UnitZ.characterManager)
        {
            UnitZ.characterManager.SetupCharacter(character);
        }

        MainMenuManager menu = (MainMenuManager)GameObject.FindObjectOfType(typeof(MainMenuManager));

        if (menu)
        {
            menu.OpenPanelByName("EnterWorld");
        }
    }
コード例 #25
0
    public SupportContainer(CharacterSaveData saveData)
    {
        if (saveData == null)
        {
            roomNo        = -1;
            supportValues = new List <SupportValue>();
            return;
        }

        roomNo = saveData.roomNo;

        supportValues = new List <SupportValue>();
        for (int i = 0; i < saveData.supports.Count; i++)
        {
            supportValues.Add(saveData.supports[i]);
            //Debug.Log("Added support value " + supportValues[i].uuid + " = " + supportValues[i].value);
        }
    }
コード例 #26
0
    //创建角色
    public CreateResult CreateCharacter(CharacterSaveData character)
    {
        CreateResult res            = new CreateResult();
        string       charactersList = PlayerPrefs.GetString("CHARACTERS");

        character.CharacterKey = GetUniqueID();
        res.CharacterKey       = character.CharacterKey;
        res.IsSuccess          = false;

        if (SaveCharacter(character))
        {
            charactersList += "," + character.CharacterKey;
            PlayerPrefs.SetString("CHARACTERS", charactersList);
            res.IsSuccess = true;
            //Debug.Log (" character list " + charactersList);
        }
        return(res);
    }
コード例 #27
0
    public CharacterSaveData GetSaveData()
    {
        CharacterSaveData saveData = new CharacterSaveData();

        saveData.Name   = Name;
        saveData.Skills = Skills;
        saveData.Items  = new List <ItemSaveData>();
        foreach (Item item in Items)
        {
            saveData.Items.Add(new ItemSaveData(item));
        }
        saveData.Advantages = new List <AdvantageSaveData>();
        foreach (Advantage advantage in Advantages)
        {
            saveData.Advantages.Add(new AdvantageSaveData(advantage));
        }

        return(saveData);
    }
コード例 #28
0
    public CharacterSheet(CharacterSaveData saveData)
    {
        Name   = saveData.Name;
        Skills = saveData.Skills;
        Items  = new List <Item>();
        foreach (ItemSaveData isd in saveData.Items)
        {
            Items.Add(new Item(isd));
        }
        Advantages = new List <Advantage>();
        foreach (AdvantageSaveData asd in saveData.Advantages)
        {
            Advantages.Add(new Advantage(asd));
        }

        ActivateAdvantages();
        ActivateItems();
        CalcEncumberance();
    }
コード例 #29
0
ファイル: LoadSaveData.cs プロジェクト: chenergy/LastSeas
    /// <summary>
    /// Gets the character saved data.
    /// </summary>
    /// <returns>The character saved data.</returns>
    /// <param name="name">Name of the character.</param>
    public static bool GetCharacterSavedData(CharacterId name, out CharacterSaveData data)
    {
        data = null;
        if (LoadedSaveFile == null)
        {
            Debug.Log("No loaded save file.");
            return(false);
        }

        for (int i = 0; i < LoadedSaveFile.m_savedCharacterData.Length; i++)
        {
            CharacterSaveData character = LoadedSaveFile.m_savedCharacterData[i];
            if (character.m_id == name)
            {
                data = character;
                return(true);
            }
        }

        Debug.LogError(string.Format("Could not find character with name {0}", name.ToString()));
        return(false);
    }
コード例 #30
0
        protected override void initCharacterUseBySave(CharacterUseData uData, CharacterSaveData sData)
        {
            if (!_g21)
            {
                _m21 = instance.Type.GetMethod("initCharacterUseBySave", 2);
                _g21 = true;
            }

            if (_m21 != null && !_b21)
            {
                _b21   = true;
                _p2[0] = uData;
                _p2[1] = sData;
                appdomain.Invoke(_m21, instance, _p2);
                _p2[0] = null;
                _p2[1] = null;
                _b21   = false;
            }
            else
            {
                base.initCharacterUseBySave(uData, sData);
            }
        }
コード例 #31
0
    private void SetupValues(CharacterSaveData saveData, CharEntry cStacDatas, ClassEntry cClass)
    {
        charData     = cStacDatas;
        currentClass = cClass;

        if (saveData == null)
        {
            return;
        }

        classLevels = new int[ClassWheel.CLASS_COUNT];
        for (int i = 0; i < ClassWheel.CLASS_COUNT; i++)
        {
            if (i < saveData.classLevels.Length)
            {
                classLevels[i] = saveData.classLevels[i];
            }
        }
        level = saveData.level;
        if (level == -1)
        {
            return;
        }
        currentExp = saveData.currentExp;

        eHp  = saveData.eHp;
        eDmg = saveData.eDmg;
        eMnd = saveData.eMnd;
        eSpd = saveData.eSpd;
        eSkl = saveData.eSkl;
        eDef = saveData.eDef;

        //TODO calculate support boost.
        supportBoost = new Boost();

        CalculateStats();
    }
コード例 #32
0
    public void OpenCharacter()
    {
        State = 0;
        delta = 1;
        indexDelete = -1;
        if (Save) {
            Characters = Save.LoadAllCharacters ();

            if (Characters.Length > 0) {
                if (indexCharacter >= Characters.Length)
                    indexCharacter = Characters.Length - 1;

                if (indexCharacter < 0)
                    indexCharacter = 0;

                currentCharacter = Characters [indexCharacter];
                PlayerIndex = currentCharacter.CharacterIndex;
                SetCharacter ();
            }
        }
    }
コード例 #33
0
 public void RemoveCharacter(CharacterSaveData character)
 {
     if (UnitZ.playerSave) {
         UnitZ.playerSave.RemoveCharacter (character);
     }
 }
コード例 #34
0
    public void DrawCharacterCreator()
    {
        switch (State) {
        case 0:
            GUI.skin.label.fontSize = 25;
            GUI.skin.label.alignment = TextAnchor.UpperCenter;
            GUI.Label (new Rect (Screen.width / 2 - 130, Screen.height / 2 - 50 + (-100 * delta), 260, 50), gameManage.UserName);

            if (GUI.Button (new Rect ((Screen.width - 210) + (300 * delta), 50, 160, 50), "Create")) {
                State = 1;
                delta = 1;
            }
            if (GUI.Button (new Rect ((Screen.width - 210) + (300 * delta), 105, 160, 50), "Characters")) {
                State = 3;
                delta = 1;
                Characters = Save.LoadAllCharacters ();

            }
            if (Characters.Length <= 0) {
                State = 1;
            }
            break;
        case 1:
            if(Characters.Length > 0){
                if (GUI.Button (new Rect ((Screen.width - 210) + (300 * delta), 50, 160, 50), "Cancel")) {
                    State = 0;
                    delta = 1;
                }
            }

            GUI.BeginGroup (new Rect ((Screen.width / 2) - 520, (Screen.height / 2) - 125 + (-100 * delta), 1040, 300), "");
            GUI.skin.label.alignment = TextAnchor.UpperCenter;
            GUI.skin.label.fontSize = 20;

            if (GUI.Button (new Rect (0, 0, 200, 300), CharactersIcon[0])) {
                characterCreate = new CharacterSaveData ();
                characterCreate.CharacterIndex = 0;
                State = 2;
            }
            GUI.Label (new Rect (0, 20, 200, 300), "Policeman");
            if (GUI.Button (new Rect (210, 0, 200, 300), CharactersIcon[1])) {
                characterCreate = new CharacterSaveData ();
                characterCreate.CharacterIndex = 1;
                State = 2;
            }

            GUI.Label (new Rect (210, 20, 200, 300), "Farmer");
            if (GUI.Button (new Rect (420, 0, 200, 300), CharactersIcon[2])) {
                characterCreate = new CharacterSaveData ();
                characterCreate.CharacterIndex = 2;
                State = 2;
            }

            GUI.Label (new Rect (420, 20, 200, 300), "Salaryman");
            if (GUI.Button (new Rect (630, 0, 200, 300), CharactersIcon[3])) {
                characterCreate = new CharacterSaveData ();
                characterCreate.CharacterIndex = 3;
                State = 2;
            }

            GUI.Label (new Rect (630, 20, 200, 300), "Nu New");
            if (GUI.Button (new Rect (840, 0, 200, 300), CharactersIcon[4])) {
                characterCreate = new CharacterSaveData ();
                characterCreate.CharacterIndex = 4;
                State = 2;
            }
            GUI.Label (new Rect (840, 20, 200, 300), "Doctor");

            GUI.EndGroup ();

            break;
        case 2:

            if (GUI.Button (new Rect ((Screen.width - 210) + (300 * delta), 50, 160, 50), "Cancel")) {
                State = 0;
                delta = 1;
            }
            gameManage.UserName = GUI.TextField (new Rect (Screen.width / 2 - 130, Screen.height / 2 - 50 + (-100 * delta), 260, 50), gameManage.UserName);

            if (GUI.Button (new Rect (Screen.width / 2 - 130, Screen.height / 2 + 80 + (-100 * delta), 260, 50), "Create")) {
                characterCreate.PlayerName = gameManage.UserName;
                if (Save.CreateCharacter (characterCreate)) {
                    OpenCharacter ();
                    State = 3;
                }
            }

            break;
        case 3:
            GUI.skin.label.alignment = TextAnchor.MiddleLeft;
            GUI.skin.label.fontSize = 25;

            if (GUI.Button (new Rect ((Screen.width - 210) + (300 * delta), 50, 160, 50), "Close")) {
                State = 0;
                delta = 1;
            }

            scrollPosition = GUI.BeginScrollView (new Rect (Screen.width / 2 - 210, 50 + (300 * delta), 420, Screen.height - 200), scrollPosition, new Rect (0, 0, 400, 160 * Characters.Length));

            for (int i=0; i<Characters.Length; i++) {
                if (GUI.Button (new Rect (0, i * 160, 340, 150),"")) {
                    currentCharacter = Characters [i];
                    indexCharacter = i;
                    PlayerPrefs.SetInt ("INDEX_CRE_CHAR", indexCharacter);
                    SetCharacter ();
                    State = 0;
                }

                GUI.DrawTexture (new Rect (0, i * 160, 100, 150), CharactersIcon[Characters [i].CharacterIndex]);
                GUI.Label (new Rect (120, i * 160, 370, 150), Characters [i].PlayerName);
                if(indexDelete == i){
                    if (GUI.Button (new Rect (350, i * 160, 50, 50),"No")) {
                        indexDelete = -1;
                    }
                    if (GUI.Button (new Rect (350, (i * 160) + 60, 50, 50),"Yes")) {
                        Save.RemoveCharacter(Characters [i]);
                        OpenCharacter();
                        State = 3;
                    }
                }else{
                    if (GUI.Button (new Rect (350, i * 160, 50, 50),"X")) {
                        indexDelete = i;
                    }
                }
            }
            GUI.EndScrollView ();
            break;
        }
    }
コード例 #35
0
ファイル: PlayerSave.cs プロジェクト: sparxcrossroads/UnitZ
    public bool SaveCharacter(CharacterSaveData character)
    {
        string hasKey = character.PlayerName;
        //Debug.Log ("Save Character " + hasKey + " " + PlayerPrefs.HasKey ("CHARACTER_" + hasKey));
        if (!PlayerPrefs.HasKey ("CHARACTER_" + hasKey)) {
            PlayerPrefs.SetString ("CHARACTER_" + hasKey, character.PlayerName);
            PlayerPrefs.SetInt ("CharacterIndex_" + hasKey, character.CharacterIndex);
            return true;
        }

        return false;
    }
コード例 #36
0
ファイル: PlayerSave.cs プロジェクト: sparxcrossroads/UnitZ
    public void RemoveCharacter(CharacterSaveData character)
    {
        string[] charactersList = PlayerPrefs.GetString ("CHARACTERS").Split ("," [0]);
        string characters = "";
        string hasKey = character.PlayerName;

        if (charactersList.Length > 0) {
            for (int i=0; i<charactersList.Length; i++) {
                if (charactersList [i] != "" && charactersList [i] != hasKey) {
                    characters += "," + charactersList [i];
                }
            }
            PlayerPrefs.SetString ("CHARACTERS", characters);
            PlayerPrefs.DeleteKey ("CHARACTER_" + hasKey);
            PlayerPrefs.DeleteKey ("CharacterIndex_" + hasKey);

            if(UnitZ.gameManager)
            DeleteSave(UnitZ.gameManager.UserID,character.PlayerName);
        }
    }
コード例 #37
0
ファイル: PlayerSave.cs プロジェクト: sparxcrossroads/UnitZ
    public CharacterSaveData LoadCharacter(string name)
    {
        //Debug.Log ("Load " + name);
        CharacterSaveData character = new CharacterSaveData ();
        string hasKey = name;

        if (PlayerPrefs.HasKey ("CHARACTER_" + hasKey)) {
            character.PlayerName = PlayerPrefs.GetString ("CHARACTER_" + hasKey);
            character.CharacterIndex = PlayerPrefs.GetInt ("CharacterIndex_" + hasKey);
        }
        return character;
    }
コード例 #38
0
 public void SelectCreateCharacter(int index)
 {
     characterCreate = new CharacterSaveData ();
     characterCreate.CharacterIndex = index;
 }
コード例 #39
0
    public void SetupCharacter(CharacterSaveData character)
    {
        SelectedCharacter = character;
        CharacterIndex = SelectedCharacter.CharacterIndex;

        if (CharacterPresets.Length > 0) {

            if (CharacterIndex >= CharacterPresets.Length)
                CharacterIndex = CharacterPresets.Length - 1;

            if (CharacterIndex < 0)
                CharacterIndex = 0;

            if (UnitZ.playerManager) {
                UnitZ.playerManager.characterBase = CharacterPresets [CharacterIndex].CharacterPrefab;
            }

            if (UnitZ.gameManager)
                UnitZ.gameManager.UserName = SelectedCharacter.PlayerName;
        }
    }
コード例 #40
0
    public void SelectCharacter(CharacterSaveData character)
    {
        if(UnitZ.characterManager)
            UnitZ.characterManager.SetupCharacter(character);

        MainMenuManager menu = (MainMenuManager)GameObject.FindObjectOfType (typeof(MainMenuManager));
        if (menu)
            menu.OpenPanelByName ("EnterWorld");
    }