mirror of
https://github.com/ConjureETS/DeathBook.git
synced 2026-03-25 13:00:59 +00:00
Implemented color changes for friendship links
Online/offline functionality tested and running Signed-off-by: RosimInc <rosim_inc@hotmail.com>
This commit is contained in:
parent
4d41e5948b
commit
08f85edc51
@ -1101,15 +1101,15 @@ Prefab:
|
|||||||
objectReference: {fileID: 724043967}
|
objectReference: {fileID: 724043967}
|
||||||
- target: {fileID: 11432906, guid: 136ea38d5deb4c9418beb879167d9b03, type: 2}
|
- target: {fileID: 11432906, guid: 136ea38d5deb4c9418beb879167d9b03, type: 2}
|
||||||
propertyPath: levelOptions.NumPeople
|
propertyPath: levelOptions.NumPeople
|
||||||
value: 2
|
value: 50
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 11432906, guid: 136ea38d5deb4c9418beb879167d9b03, type: 2}
|
- target: {fileID: 11432906, guid: 136ea38d5deb4c9418beb879167d9b03, type: 2}
|
||||||
propertyPath: levelOptions.AvgNumFriends
|
propertyPath: levelOptions.AvgNumFriends
|
||||||
value: 1
|
value: 8
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 11432906, guid: 136ea38d5deb4c9418beb879167d9b03, type: 2}
|
- target: {fileID: 11432906, guid: 136ea38d5deb4c9418beb879167d9b03, type: 2}
|
||||||
propertyPath: levelOptions.FriendshipLikeliness
|
propertyPath: levelOptions.FriendshipLikeliness
|
||||||
value: 1
|
value: .600000024
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_ParentPrefab: {fileID: 100100000, guid: 136ea38d5deb4c9418beb879167d9b03, type: 2}
|
m_ParentPrefab: {fileID: 100100000, guid: 136ea38d5deb4c9418beb879167d9b03, type: 2}
|
||||||
|
|||||||
@ -9,8 +9,10 @@ public class Link : MonoBehaviour, IObserver
|
|||||||
private float highlightAlpha = 0.8f;
|
private float highlightAlpha = 0.8f;
|
||||||
private float defaultAlpha = 0.5f;
|
private float defaultAlpha = 0.5f;
|
||||||
|
|
||||||
private Color currentDefaultColor;
|
private Color color;
|
||||||
private Color currentHighlightColor;
|
|
||||||
|
private Color baseColor = new Color(0.3f, 0.7f, 1f);
|
||||||
|
private Color inactiveColor = new Color(0.15f, 0.15f, 0.05f);
|
||||||
|
|
||||||
private static float defaultScale = 0.03f;
|
private static float defaultScale = 0.03f;
|
||||||
private float hightlightScale = 0.2f;
|
private float hightlightScale = 0.2f;
|
||||||
@ -40,7 +42,7 @@ public class Link : MonoBehaviour, IObserver
|
|||||||
model.Subscribe(this);
|
model.Subscribe(this);
|
||||||
|
|
||||||
//Make it between 0.1 and 0.4
|
//Make it between 0.1 and 0.4
|
||||||
GetColors(Model.Awareness);
|
GetColors();
|
||||||
hightlightScale = Model.Importance * 0.3f + 0.1f;
|
hightlightScale = Model.Importance * 0.3f + 0.1f;
|
||||||
Highlight(false);
|
Highlight(false);
|
||||||
}
|
}
|
||||||
@ -66,8 +68,10 @@ public class Link : MonoBehaviour, IObserver
|
|||||||
|
|
||||||
public void Notify()
|
public void Notify()
|
||||||
{
|
{
|
||||||
GetColors(Model.Awareness);
|
GetColors();
|
||||||
UpdateBeam();
|
UpdateBeam();
|
||||||
|
if (Model.KillCount == 2)
|
||||||
|
hightlightScale = 0.1f;
|
||||||
//TODO SR
|
//TODO SR
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -115,22 +119,14 @@ public class Link : MonoBehaviour, IObserver
|
|||||||
UpdateBeam();
|
UpdateBeam();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void GetColors(float level)
|
private void GetColors()
|
||||||
{
|
{
|
||||||
//If level is 0.0, green [0,1,0].
|
if (Model.KillCount == 0)
|
||||||
//If level is 0.5, yellow [1,1,0].
|
color = baseColor;
|
||||||
//If level is 1.0, red [1,0,0].
|
else if (Model.KillCount == 2)
|
||||||
|
color = inactiveColor;
|
||||||
float r = 1f;
|
|
||||||
float g = 1f;
|
|
||||||
|
|
||||||
if (level < 0.5f)
|
|
||||||
r = Mathf.Lerp(0, 1, level*2);
|
|
||||||
else
|
else
|
||||||
g = Mathf.Lerp(1, 0, level * 2 - 1);
|
color = new Color(1f, Mathf.Lerp(1, 0, Model.Awareness), 0f);
|
||||||
|
|
||||||
currentDefaultColor = new Color(r, g, 0f, defaultAlpha);
|
|
||||||
currentHighlightColor = new Color(r, g, 0f, highlightAlpha);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateBeam()
|
private void UpdateBeam()
|
||||||
@ -138,6 +134,8 @@ public class Link : MonoBehaviour, IObserver
|
|||||||
float width = isHighlighted ? hightlightScale : defaultScale;
|
float width = isHighlighted ? hightlightScale : defaultScale;
|
||||||
BeamLine.SetWidth(width, width);
|
BeamLine.SetWidth(width, width);
|
||||||
|
|
||||||
_renderer.material.SetColor("_TintColor", isHighlighted ? currentHighlightColor : currentDefaultColor);
|
color.a = isHighlighted ? highlightAlpha : defaultAlpha;
|
||||||
|
|
||||||
|
_renderer.material.SetColor("_TintColor", color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -27,6 +27,12 @@ namespace DeathBook.Model
|
|||||||
this.link = link;
|
this.link = link;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void NotifyFriendWasKilled()
|
||||||
|
{
|
||||||
|
Link.KillCount++;
|
||||||
|
Self.NotifyFriendWasKilled(this);
|
||||||
|
}
|
||||||
|
|
||||||
public void Update(float deltaTime)
|
public void Update(float deltaTime)
|
||||||
{
|
{
|
||||||
if (noticedDeath)
|
if (noticedDeath)
|
||||||
|
|||||||
@ -20,6 +20,13 @@ namespace DeathBook.Model
|
|||||||
set { awareness = value; NotifyObservers(); }
|
set { awareness = value; NotifyObservers(); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int killCount = 0; //Number of people dead in this relationship
|
||||||
|
public int KillCount
|
||||||
|
{
|
||||||
|
get { return killCount; }
|
||||||
|
set { killCount = value; NotifyObservers(); }
|
||||||
|
}
|
||||||
|
|
||||||
public FriendshipLink(Person p1, Person p2, float importance)
|
public FriendshipLink(Person p1, Person p2, float importance)
|
||||||
{
|
{
|
||||||
friend1 = p1;
|
friend1 = p1;
|
||||||
|
|||||||
@ -87,7 +87,7 @@ namespace DeathBook.Model
|
|||||||
Debug.Log("Person " + id + " died!");
|
Debug.Log("Person " + id + " died!");
|
||||||
alive = false;
|
alive = false;
|
||||||
foreach (Friendship f in friendsList)
|
foreach (Friendship f in friendsList)
|
||||||
f.Friend.NotifyFriendWasKilled(f.Other);
|
f.Other.NotifyFriendWasKilled();
|
||||||
NotifyObservers();
|
NotifyObservers();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user