-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
28 changed files
with
731 additions
and
103 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
Id0,Id1,Relation | ||
0,1,Friend |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
Id0,Id1,Relation | ||
0,2,ExLover |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
{% extends "base" %} | ||
|
||
{% block content %} | ||
<div class="left_right_container"> | ||
<p><h1>Edit {{ title }} of {{ name }}</h1></p> | ||
<p><h2>Add</h2></p> | ||
<div class="text"> | ||
<form action="/relation/{{ link }}/update/{{ id }}" method="post"> | ||
<b><label for="character">Name:</label></b> | ||
<select id="character" name="character"> | ||
{% for c in characters %} | ||
<option value="{{ c.0 }}">{{ c.1 }}</option> | ||
{% endfor %} | ||
</select> | ||
<br> | ||
<br> | ||
<b><label for="relation">Type:</label></b> | ||
<select id="relation" name="relation"> | ||
{% for t in types %} | ||
<option value="{{ t }}">{{ t }}</option> | ||
{% endfor %} | ||
</select> | ||
<br> | ||
<br> | ||
<input type="submit" value="Submit"> | ||
</form> | ||
</div> | ||
<p><h2>Delete</h2></p> | ||
<div class="text"> | ||
<ul> | ||
{% for r in relations %} | ||
<li> | ||
<a href="/relation/{{ link }}/delete/{{ id }}/{{ r.0 }}">Delete</a> | ||
<a href="/character/details/{{ r.0 }}">{{ r.1 }}</a>: {{ r.2 }} | ||
</li> | ||
{% endfor %} | ||
</ul> | ||
<p><a href="/character/details/{{ id }}">Back</a></p> | ||
</div> | ||
</div> | ||
{% endblock content %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
pub mod relationship; | ||
pub mod romantic; |
13 changes: 13 additions & 0 deletions
13
rpg_tools_core/src/model/character/relation/relationship.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
use macro_convert::Convert; | ||
use serde::{Deserialize, Serialize}; | ||
|
||
pub const RELATIONSHIPS_FILE: &str = "relations/relationships.csv"; | ||
|
||
/// The relationship types between 2 [`characters`](crate::model::character::Character) | ||
/// that are not romantic or between family. | ||
#[derive(Convert, Clone, Copy, Debug, PartialEq, Serialize, Deserialize)] | ||
pub enum Relationship { | ||
Enemy, | ||
Friend, | ||
Rival, | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
use macro_convert::Convert; | ||
use serde::{Deserialize, Serialize}; | ||
|
||
pub const ROMANTIC_FILE: &str = "relations/romantic.csv"; | ||
|
||
/// The relationship types between 2 [`characters`](crate::model::character::Character) | ||
/// that are romantic. | ||
#[derive(Convert, Clone, Copy, Debug, PartialEq, Serialize, Deserialize)] | ||
pub enum RomanticRelationship { | ||
ExLover, | ||
ExSpouse, | ||
Lover, | ||
Spouse, | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
use crate::model::character::relation::relationship::{Relationship, RELATIONSHIPS_FILE}; | ||
use crate::model::character::relation::romantic::{RomanticRelationship, ROMANTIC_FILE}; | ||
use crate::model::character::CharacterId; | ||
use crate::model::get_setting_path; | ||
use crate::utils::relation::{load_relations, RelationStorage}; | ||
use anyhow::{Context, Result}; | ||
|
||
#[derive(Debug, Default)] | ||
pub struct Relations { | ||
pub relationships: RelationStorage<CharacterId, Relationship>, | ||
pub romantic: RelationStorage<CharacterId, RomanticRelationship>, | ||
} | ||
|
||
impl Relations { | ||
/// Loads all relations from a file. | ||
pub fn load(setting: &str) -> Result<Self> { | ||
let relationships = load_relations(&get_setting_path(setting, RELATIONSHIPS_FILE))?; | ||
let romantic = load_relations(&get_setting_path(setting, ROMANTIC_FILE))?; | ||
|
||
Ok(Self { | ||
relationships, | ||
romantic, | ||
}) | ||
} | ||
|
||
/// Counts all relations of a character. | ||
pub fn count_for_character(&self, id: CharacterId) -> usize { | ||
self.relationships.count_all_of(id) + self.romantic.count_all_of(id) | ||
} | ||
|
||
/// Swaps a character id with another. | ||
pub fn swap_character(&mut self, old: CharacterId, new: CharacterId) -> Result<()> { | ||
self.relationships | ||
.swap(old, new) | ||
.context("Failed to swap character for relationships")?; | ||
self.romantic | ||
.swap(old, new) | ||
.context("Failed to swap character for romantic relationships")?; | ||
|
||
Ok(()) | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.