Skip to content

Commit

Permalink
The horrendous reformatting that inevitably comes when tabs and space…
Browse files Browse the repository at this point in the history
…s are mixed. Also more readable brace style.
  • Loading branch information
nomoon committed Jan 29, 2015
1 parent 7ece56f commit 59e1264
Show file tree
Hide file tree
Showing 4 changed files with 320 additions and 261 deletions.
276 changes: 141 additions & 135 deletions Assets/Scripts/CardLogic.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,143 +2,149 @@
using System.Collections;
using CommandLibrary;

public class CardLogic : MonoBehaviour {

public string cardName = "";
public bool faceUp = false;
public bool locked = false;
public bool selected = false;

[HideInInspector]
public bool busy = false;
private bool mouseIn = false;

private bool visLocked = false;
private bool visSelected = false;
private bool visFaceUp = false;

private static Quaternion faceUpRotation = Quaternion.Euler(0, 180, 0);
private static Quaternion lockedRotation = Quaternion.Euler(0, 0, 10);

private static Vector3 selectedPosition = new Vector3(0.0f, 0.25f, 0.0f);

private static Color lockedColor = new Color(0.8f, 0.8f, 0.8f, 1.0f);
private static Color highlightColor = new Color(1.0f, 0.75f, 0.75f, 1.0f);
private static Color selectedColor = new Color(0.75f, 0.75f, 1.0f, 1.0f);

private static AudioClip[] drawSounds = Resources.LoadAll<AudioClip>("Sounds/Draw");
private static AudioClip[] flipSounds = Resources.LoadAll<AudioClip>("Sounds/Flip");
private static AudioClip[] placeSounds = Resources.LoadAll<AudioClip>("Sounds/Place");
private static AudioClip[] takeSounds = Resources.LoadAll<AudioClip>("Sounds/Take");

// Called by GameLogic.CardInstantiate
public void SetUp () {
var cardMaterial = Resources.Load("Materials/Cards/" + name, typeof(Material)) as Material;
var frontQuad = this.transform.FindChild("Front").gameObject;
frontQuad.renderer.material = cardMaterial;
PlayRandomSound(drawSounds);
}

// Use this for initialization
void Start () {
}

// Update is called once per frame
void Update () {

// Transition into states
if (faceUp != visFaceUp) {
visFaceUp = faceUp;
if (faceUp) {
transform.rotation = transform.rotation * faceUpRotation;
}else{
transform.rotation = transform.rotation * Quaternion.Inverse(faceUpRotation);
}
PlayRandomSound(flipSounds);
}

if (selected != visSelected){
visSelected = selected;
if (selected) {
transform.localPosition = transform.localPosition + selectedPosition;
}else{
transform.localPosition = transform.localPosition - selectedPosition;
}
}

if (locked != visLocked){
visLocked = locked;
if (locked) {
transform.rotation = transform.rotation * lockedRotation;
}else{
transform.rotation = transform.rotation * Quaternion.Inverse(lockedRotation);
}
}

// Color based on state
var shaderColor = Color.white;

if (locked) {
shaderColor = shaderColor * lockedColor;
}

if (selected) {
shaderColor = shaderColor * selectedColor;
}

if (mouseIn && !locked && !busy && faceUp){
shaderColor = shaderColor * highlightColor;
}

var frontQuad = this.transform.FindChild("Front").gameObject;
frontQuad.renderer.material.color = shaderColor;
}

void PlayRandomSound(AudioClip[] sounds){
var myAudio = gameObject.AddComponent<AudioSource>();
myAudio.clip = sounds[Random.Range(0, sounds.Length)];
myAudio.Play();
}

void PlayPickup() {
PlayRandomSound(takeSounds);
}

void PlayPlace() {
PlayRandomSound(placeSounds);
}

void OnMouseDown() {
//Debug.Log(string.Format("MouseDown `{0}`, hand `{1}`", name, this.transform.parent.name));
if (!locked && !busy && faceUp) {
//Check if any other card in the same hand is locked
var children = transform.parent.GetComponentsInChildren<CardLogic>();
foreach (var child in children) {
if (child.selected && child != this) {
child.selected = false;
}
}

//Swap selected state
selected = !selected;
Update();

//Possibly trigger a check.
if (selected) {
GameObject.Find("Main Camera").SendMessage("CheckCards");
}
}
}

void OnMouseEnter() {
//Debug.Log(string.Format("MouseEnter `{0}`, hand `{1}`", name, this.transform.parent.name));
public class CardLogic : MonoBehaviour
{

public string cardName = "";
public bool faceUp = false;
public bool locked = false;
public bool selected = false;
[HideInInspector]
public bool busy = false;

private bool mouseIn = false;
private bool visLocked = false;
private bool visSelected = false;
private bool visFaceUp = false;

private static Quaternion faceUpRotation = Quaternion.Euler(0, 180, 0);
private static Quaternion lockedRotation = Quaternion.Euler(0, 0, 10);
private static Vector3 selectedPosition = new Vector3(0.0f, 0.25f, 0.0f);
private static Color lockedColor = new Color(0.8f, 0.8f, 0.8f, 1.0f);
private static Color highlightColor = new Color(1.0f, 0.75f, 0.75f, 1.0f);
private static Color selectedColor = new Color(0.75f, 0.75f, 1.0f, 1.0f);
private static AudioClip[] drawSounds = Resources.LoadAll<AudioClip>("Sounds/Draw");
private static AudioClip[] flipSounds = Resources.LoadAll<AudioClip>("Sounds/Flip");
private static AudioClip[] placeSounds = Resources.LoadAll<AudioClip>("Sounds/Place");
private static AudioClip[] takeSounds = Resources.LoadAll<AudioClip>("Sounds/Take");

// Called by GameLogic.CardInstantiate
public void SetUp()
{
var cardMaterial = Resources.Load("Materials/Cards/" + name, typeof(Material)) as Material;
var frontQuad = this.transform.FindChild("Front").gameObject;
frontQuad.renderer.material = cardMaterial;
PlayRandomSound(drawSounds);
}

// Use this for initialization
void Start()
{
}

// Update is called once per frame
void Update()
{

// Transition into states
if (faceUp != visFaceUp) {
visFaceUp = faceUp;
if (faceUp) {
transform.rotation = transform.rotation * faceUpRotation;
} else {
transform.rotation = transform.rotation * Quaternion.Inverse(faceUpRotation);
}
PlayRandomSound(flipSounds);
}

if (selected != visSelected) {
visSelected = selected;
if (selected) {
transform.localPosition = transform.localPosition + selectedPosition;
} else {
transform.localPosition = transform.localPosition - selectedPosition;
}
}

if (locked != visLocked) {
visLocked = locked;
if (locked) {
transform.rotation = transform.rotation * lockedRotation;
} else {
transform.rotation = transform.rotation * Quaternion.Inverse(lockedRotation);
}
}

// Color based on state
var shaderColor = Color.white;

if (locked) {
shaderColor = shaderColor * lockedColor;
}

if (selected) {
shaderColor = shaderColor * selectedColor;
}

if (mouseIn && !locked && !busy && faceUp) {
shaderColor = shaderColor * highlightColor;
}

var frontQuad = this.transform.FindChild("Front").gameObject;
frontQuad.renderer.material.color = shaderColor;
}

void PlayRandomSound(AudioClip[] sounds)
{
var myAudio = gameObject.AddComponent<AudioSource>();
myAudio.clip = sounds[Random.Range(0, sounds.Length)];
myAudio.Play();
}

void PlayPickup()
{
PlayRandomSound(takeSounds);
}

void PlayPlace()
{
PlayRandomSound(placeSounds);
}

void OnMouseDown()
{
//Debug.Log(string.Format("MouseDown `{0}`, hand `{1}`", name, this.transform.parent.name));
if (!locked && !busy && faceUp) {
//Check if any other card in the same hand is locked
var children = transform.parent.GetComponentsInChildren<CardLogic>();
foreach (var child in children) {
if (child.selected && child != this) {
child.selected = false;
}
}

//Swap selected state
selected = !selected;
Update();

//Possibly trigger a check.
if (selected) {
GameObject.Find("Main Camera").SendMessage("CheckCards");
}
}
}

void OnMouseEnter()
{
//Debug.Log(string.Format("MouseEnter `{0}`, hand `{1}`", name, this.transform.parent.name));
if (!Input.touchSupported) {
mouseIn = true;
}
}
}

void OnMouseExit() {
//Debug.Log(string.Format("MouseExit `{0}`, hand `{1}`", name, this.transform.parent.name));
mouseIn = false;
}
void OnMouseExit()
{
//Debug.Log(string.Format("MouseExit `{0}`, hand `{1}`", name, this.transform.parent.name));
mouseIn = false;
}
}
Loading

0 comments on commit 59e1264

Please sign in to comment.