public void DeleteParty(int partyId) { // TODO fix this after changes to List<MenuPartyData> MenuPartyData[] newPartyData = new MenuPartyData[allMenuPartyData.Length - 1]; for (int i = 0; i < allMenuPartyData.Length; i++) { if (allMenuPartyData[i].id < partyId) { newPartyData[i] = allMenuPartyData[i]; } else if (allMenuPartyData[i].id > partyId) { allMenuPartyData[i].id = allMenuPartyData[i].id - 1; newPartyData[i - 1] = allMenuPartyData[i]; } } loadedData.allMenuPartyData = newPartyData; if (partyId <= GetCurrentPlayerParty()) { SetPlayerComp(GetCurrentPlayerParty() - 1); } else { SaveMenuData(); LoadMenuData(); } }
public void EditPartyName(MenuPartyData party) { List <MenuPartyData> listMenupartyData = allMenuPartyData.ToList(); listMenupartyData[party.id].name = party.name; loadedData.allMenuPartyData = listMenupartyData.ToArray(); SaveMenuData(); LoadMenuData(); }
// Temporary to get to testing, complete rewrite later public void CreateTestParty(MenuPartyData testParty) { List <MenuPartyData> listMenuPartyData = allMenuPartyData.ToList(); testParty.id = listMenuPartyData.Count; listMenuPartyData.Add(testParty); loadedData.allMenuPartyData = listMenuPartyData.ToArray(); SaveMenuData(); LoadMenuData(); }
private void LoadBattleData() { #region Character Creation Variables List <BattleCharacter> tempCharacters = new List <BattleCharacter>(); // temporary value int baseMovement = 5; // base this on rarity/level/armortype later TODO int baseHealth = 1824; // temporary value int baseInitiative = 6; #endregion MenuPartyData party = GetMenuPartyData(); int[] partyMemberIds = { party.slotOneCharacterId, party.slotTwoCharacterId, party.slotThreeCharacterId, party.slotFourCharacterId }; foreach (int id in partyMemberIds) { BattleCharacter character = new BattleCharacter(); MenuCharacterData characterData = GetCharacter(id); if (characterData.name != null && characterData.name != "") { // set Name character.name = characterData.name; // set Movement range character.movementRange = baseMovement - (int)Mathf.Floor(characterData.armor / 2); // Light and Medium armor get movement of 5, Heavy gets movement of 4 // set Max HP character.maxHp = (int)Mathf.Floor(baseHealth * (characterData.armor / 10)) + baseHealth; // set Initiative if (characterData.armor == 0) { character.initiative = baseInitiative + (int)Mathf.Floor(Random.value * 20); } else if (characterData.armor == 1) { character.initiative = (baseInitiative + 5) + (int)Mathf.Floor(Random.value * 20); } else if (characterData.armor == 2) { character.initiative = (baseInitiative - 5) + (int)Mathf.Floor(Random.value * 20); } else { Debug.LogError("Can not find out what armor character is wearing"); } // set Damage Mod character.damageMod = 1; character.abilities = LoadAbilities(characterData.weapon); tempCharacters.Add(character); } else { Debug.LogError("character does not exist in party"); } } battleCharacters = tempCharacters; }
private UIParty CreateUIParty(MenuPartyData party, DataController data) { UIParty curParty = new UIParty(); curParty.partyId = party.id; curParty.partyName = party.name; if (data.GetCurrentPlayerParty() == party.id) { curParty.selected = true; } return(curParty); }
// todo add the fetch data stuff, get the weapons and format the character data in here public void SwapPartyCharacter() { int characterId = character.id; MenuPartyData partyToChange = party; DataLoader dataLoader = new DataLoader(); DataController data = dataLoader.LoadData(); data.SetCharacterSwap(partyToChange, characterId); SceneLoader sceneLoader = new SceneLoader(); sceneLoader.CharactersMenu(); }
private void AddCharacters(List <UICharacter> characters, MenuPartyData menuPartyData) { // will need to add empty slots if there are empty characters for (int i = 0; i < characters.Count; i++) { UICharacter character = characters[i]; GameObject newCharacter = characterObjectPool.GetObject(); newCharacter.transform.SetParent(contentPanel); SampleCharacter sampleCharacter = newCharacter.GetComponent <SampleCharacter>(); Debug.Log(party.name); sampleCharacter.Setup(character, this, menuPartyData); } }
void Start() { // Load data from file, and place it in data object. This will be where all player specific data is located DataLoader dataLoader = new DataLoader(); DataController data = dataLoader.LoadData(); // Get Players Current Selected party MenuPartyData party = data.GetMenuPartyData(); MenuCharacterData[] characters = data.GetAllMenuCharacterData(); // Display the data on the current scene canvas (MainMenu) DataFormat dataPop = new DataFormat(); dataPop.PopulateParty(data, party, characters); }
public void Setup(UICharacter currentCharacter, ScrollParty currentScrollParty, MenuPartyData currentParty) { // todo handle ID character = currentCharacter; name.text = character.name; level.text = character.level; weapon.text = character.weapon; armor.text = character.armor; quality = character.quality; weapon.color = quality; armor.color = quality; partyId = character.partyId; party = currentParty; scrollParty = currentScrollParty; }
// This is placeholder to get to the testing phase. Complete rewrite public void CreateNewTestParty() { DataLoader dataLoader = new DataLoader(); DataController data = dataLoader.LoadData(); MenuPartyData testParty = new MenuPartyData(); testParty.name = "Temporary Party"; testParty.slotOneCharacterId = 0; testParty.slotTwoCharacterId = 1; testParty.slotThreeCharacterId = 2; testParty.slotFourCharacterId = 3; data.CreateTestParty(testParty); SceneLoader sceneLoader = new SceneLoader(); sceneLoader.ReloadScene(); }
public void DuplicateParty(MenuPartyData party) { // TODO fix this its probably too much resources for what its doing List <MenuPartyData> listMenupartyData = allMenuPartyData.ToList(); MenuPartyData newParty = new MenuPartyData(); newParty.id = listMenupartyData.Count(); newParty.name = party.name; newParty.slotOneCharacterId = party.slotOneCharacterId; newParty.slotTwoCharacterId = party.slotTwoCharacterId; newParty.slotThreeCharacterId = party.slotThreeCharacterId; newParty.slotFourCharacterId = party.slotFourCharacterId; listMenupartyData.Add(newParty); loadedData.allMenuPartyData = listMenupartyData.ToArray(); SaveMenuData(); LoadMenuData(); }
public void Setup(UIParty currentParty, PartiesMenu currentPartiesMenu, List <UICharacter> characters, MenuPartyData[] menuParties) { menuPartyData = menuParties; foreach (UICharacter character in characters) { character.partyId = currentParty.partyId; } foreach (MenuPartyData menuParty in menuPartyData) { if (currentParty.partyId == menuParty.id) { party = menuParty; } } RefreshDisplay(characters, party); AppendDataToButtons(currentParty.partyId); // we have the party ID at this point partiesMenu = currentPartiesMenu; }
private void LoadMenuData() { string filePath = Path.Combine(Application.streamingAssetsPath, gameDataFileName); if (File.Exists(filePath)) { string dataAsJson = File.ReadAllText(filePath); loadedData = MenuData.CreateFromJSON(dataAsJson); allMenuCharacterData = loadedData.allMenuCharacterData; allMenuPartyData = loadedData.allMenuPartyData; allMenuWeaponData = loadedData.allMenuWeaponData; allMenuAbilityData = loadedData.allMenuAbilityData; navData = loadedData.navData; previousCharacterId = loadedData.previousCharacterId; characterSwapParty = loadedData.characterSwapParty; } else { Debug.LogError("Cannot load game data"); } }
public void PopulateParty(DataController data, MenuPartyData party, MenuCharacterData[] characters) { // Get all of the Button Elements (Character Slots) Button[] buttons = GameObject.FindGameObjectWithTag("PartyCharacters").GetComponentsInChildren <Button>(); // store the character IDs in array for loop int[] characterIds = { party.slotOneCharacterId, party.slotTwoCharacterId, party.slotThreeCharacterId, party.slotFourCharacterId }; for (int i = 0; i < buttons.Length; i++) { // Get all of the text elements TextMeshProUGUI[] allText = buttons[i].GetComponentsInChildren <TextMeshProUGUI>(); if (characters[characterIds[i]].name != "") { // TODO set id and hide it somewhere in button // pass on values to get changed from IDs to display values #region CharacterDataVars string characterName = characters[characterIds[i]].name; string characterLevel = FormatCharacterLevel(characters[characterIds[i]].level); string characterWeapon = GetWeaponName(characters[characterIds[i]].weapon, data); if (characters[characterIds[i]].offHand > -1) { string characterOffhand = GetWeaponName(characters[characterIds[i]].offHand, data); characterWeapon = characterWeapon + " / " + characterOffhand; } string characterArmor = GetArmorName(characters[characterIds[i]].armor); Color32 characterQuality = ConvertQuality(characters[characterIds[i]].quality); #endregion // create string array for the loop string[] characterData = { characterName, characterLevel, characterWeapon, characterArmor }; // loop through the text fields and populate the data for (int j = 0; j < allText.Length; j++) { allText[j].text = characterData[j]; } // change rarity color for last 2 elements System.Array.Reverse(allText); for (int j = 0; j < 2; j++) { allText[j].color = characterQuality; } } else { // make sure text fields are empty if no character data, and make first field 'Empty Slot' for (int j = 0; j < allText.Length; j++) { if (j == 0) { allText[j].text = "Empty Slot"; } else { allText[j].text = ""; } } } } }
private void RefreshDisplay(List <UICharacter> characters, MenuPartyData menuPartyData) { AddCharacters(characters, menuPartyData); }
public void SetCharacterSwap(MenuPartyData party, int characterId) { previousCharacterId = characterId; characterSwapParty = party; Debug.Log(party.name); }