public void StartDialogue(List <DialogueLine> dialogue, RelationshipRank rank, UnitPair pair) { gameObject.SetActive(true); sentences.Clear(); names.Clear(); this.rank = rank; this.pair = pair; if (rank != RelationshipRank.SPICY) { GameInformation.instance.SetBGMVolume(.3f); } else { GameInformation.instance.PlayLove(); } SetDialogueUnits(dialogue); foreach (DialogueLine line in dialogue) { sentences.Enqueue(line.sentence); names.Enqueue(line.name); } lineNum = 1; DisplayNextSentence(); }
public void UpdateButtons(Point pos) { adjacentUnit = DirectionsExtensions.GetAdjacentPlayer(controller.board, pos); if (adjacentUnit == null) { talkButton.gameObject.SetActive(false); comboUI.gameObject.SetActive(false); return; } UnitID adjacentID = adjacentUnit.GetComponent <UnitStats>().ID; if (!controller.currentUnit.talked && BattleDialogue.StillHasDialogue(currentUnit, adjacentID) && !controller.talked) { talkButton.gameObject.SetActive(true); } comboUI.gameObject.SetActive(true); UnitPair pair = RelationshipManager.GetRelationshipPair(currentUnit, adjacentID); comboUI.SetWithoutObj(GameInformation.instance.GetComboInfo(pair)); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { UnitPair temp = (UnitPair)value; writer.WriteStartObject(); writer.WritePropertyName("Attacker"); serializer.Serialize(writer, temp.Attacker.ToString()); writer.WritePropertyName("Defender"); serializer.Serialize(writer, temp.Defender.ToString()); writer.WriteEndObject(); }
public void Talk() { controller.ChangeState <BattleDialogueState>(); controller.otherUnit = adjacentUnit; Relationship r = RelationshipManager.GetRelationshipBetween(currentUnit, adjacentUnit.GetComponent <UnitStats>().ID); RelationshipRank rank = r.GetNextRank(); UnitPair pair = r.pair; List <DialogueLine> lines = BattleDialogue.GetBattleDialogueBetween(currentUnit, adjacentUnit.GetComponent <UnitStats>().ID); dialogueManager.StartDialogue(lines, rank, pair); }
public Relationship(UnitPair pair) { this.pair = pair; rank = RelationshipRank.NONE; supportPoints = 0; relationshipAttained = new Dictionary <RelationshipRank, bool>() { { RelationshipRank.CRUDE, false }, { RelationshipRank.BLAND, false }, { RelationshipRank.APPETIZING, false }, { RelationshipRank.SPICY, false } }; }
public static Relationship GetRelationshipBetween(UnitID a, UnitID b) { UnitPair pair = GetRelationshipPair(a, b); foreach (Relationship r in relationships) { if (r.pair == pair) { return(r); } } Debug.LogError("Couldn't find relationship between " + a + " and " + b); return(null); }
public static bool StillHasDialogue(UnitID a, UnitID b) { UnitPair pair = RelationshipManager.GetRelationshipPair(a, b); switch (pair) { case UnitPair.MINKEEVHALL: return(vhallMinkeeDialogueBattle.Count > 0); case UnitPair.PHYNNEMINKEE: return(minkeePhynneDialogueBattle.Count > 0); case UnitPair.VHALLPHYNNE: return(phynneVhallDialogueBattle.Count > 0); } return(false); }
public static List <DialogueLine> GetBattleDialogueBetween(UnitID a, UnitID b) { UnitPair pair = RelationshipManager.GetRelationshipPair(a, b); switch (pair) { case UnitPair.MINKEEVHALL: return(GetVhallMinkee()); case UnitPair.PHYNNEMINKEE: return(GetMinkeePhynne()); case UnitPair.VHALLPHYNNE: return(GetPhynneVhall()); } Debug.LogError("Couldn't find battle dialogue between " + a + " and " + b); return(null); }
public static List <DialogueLine> GetDialogueBetween(UnitID a, UnitID b) { RelationshipRank rank = RelationshipManager.GetRelationshipBetween(a, b).GetNextRank(); UnitPair pair = RelationshipManager.GetRelationshipPair(a, b); switch (pair) { case UnitPair.MINKEEVHALL: return(vhallMinkeeDialogue[rank]); case UnitPair.PHYNNEMINKEE: return(minkeePhynneDialogue[rank]); case UnitPair.VHALLPHYNNE: return(phynneVhallDialogue[rank]); } Debug.LogError("Couldn't find relationship between " + a + " and " + b); return(null); }
public ItemData GetComboInfo(UnitPair pair) { int index = 0; switch (pair) { case UnitPair.VHALLPHYNNE: index = 0; break; case UnitPair.MINKEEVHALL: index = 1; break; case UnitPair.PHYNNEMINKEE: index = 2; break; } return(comboInfo[index]); }
public void StartDialogue(List <DialogueLine> dialogue, RelationshipRank rank, UnitPair pair) { gameObject.SetActive(true); sentences.Clear(); names.Clear(); this.rank = rank; this.pair = pair; SetDialogueUnits(dialogue); foreach (DialogueLine line in dialogue) { sentences.Enqueue(line.sentence); names.Enqueue(line.name); } lineNum = 1; DisplayNextSentence(); }
public static AudioClip GetClip(UnitPair pair, string rank, int line) { string filePath = path; switch (pair) { case UnitPair.MINKEEVHALL: filePath += "vhallMinkee/"; break; case UnitPair.PHYNNEMINKEE: filePath += "minkeePhynne/"; break; case UnitPair.VHALLPHYNNE: filePath += "phynneVhall/"; break; } filePath += rank + line.ToString(); AudioClip clip = Resources.Load <AudioClip>(filePath); return(clip); }
public ItemData GetComboInfo(UnitPair pair) { int index = 0; switch (pair) { case UnitPair.VHALLPHYNNE: index = 0; break; case UnitPair.MINKEEVHALL: index = 1; break; case UnitPair.PHYNNEMINKEE: index = 2; break; } ItemData data = comboInfo[index]; data.OnStart(); return(data); }
public void StartDialogue(List <DialogueLine> lines, RelationshipUI from, RelationshipRank rank, UnitPair pair) { dialogueManager.StartDialogue(lines, rank, pair); dialogueManager.fromUI = from; controller.ChangeState <DialogueState>(); }