public void RecordAction(ActionType type, CharacterBehavior character, CharacterBehavior target) { if (!doRecordInteractions(activePlayerIndex)) { Logger.Instance.Log("LOG", "Skip RecordAction " + type); return; } Debug.Assert(gManager.progression.IsCharacterSelected()); Debug.Assert(character == gManager.progression.GetSelectedCharacter()); SynchronizeSelect(); gameData.RecordAction(type, activePlayerIndex, character.getOwnerIndex(), character.getTokenName(), target.getOwnerIndex(), target.getTokenName()); }
private void Synchronize(bool select, bool move) { // TODO: check if bga state differs from app state for selection matter (maybe unnecessary if load is properly done) if (select) { Debug.Assert(gManager.progression.IsCharacterSelected()); CharacterBehavior character = gManager.progression.GetSelectedCharacter(); if (isSelected && movingCharacter != character) { // deselect previously selected character to select a new gameData.RecordCancelMove(activePlayerIndex); } if (!isSelected) { // select character gameData.RecordStartMove(activePlayerIndex, character.getOwnerIndex(), character.getTokenName()); } if (move) { // synchronize selected character carried token SynchronizeCarriedToken(); } } else { Debug.Assert(!move); if (isSelected) { // deselect previously selected character gameData.RecordCancelMove(activePlayerIndex); } } }
private void characterSelectionDisplay() { if (associatedCharacter.selected) { StartSelectAnimation(); } else { StartUnselectAnimation(); } Transform tokenInfo = gManager.exchangeUI.transform.Find("Token Info"); tokenInfo.Find("Sprite").GetComponent <Image>().sprite = fullCharacterSprite; tokenInfo.Find("Movement").GetComponent <Text>().text = associatedCharacter.MOVE_VALUE.ToString(); tokenInfo.Find("Combat").GetComponent <Text>().text = associatedCharacter.COMBAT_VALUE.ToString(); string encodedString = gManager.app.data.rulesFile.text; JSONNode jsonData = JSONNode.Parse(encodedString); tokenInfo.Find("Name").GetComponent <Text>().text = ((string)jsonData["BaseGame"][associatedCharacter.getTokenName()]["Name"][gManager.app.gameLanguage.ToString()]).ToUpper(); }