public void Setup(SacredIcon firstSacredIcon, Icon firstIcon) { sacredIcons = new List <SacredIcon>(); icons = new List <Icon>(); BindIcon(firstIcon); BindIcon(firstSacredIcon); }
public bool BindIcon(SacredIcon icon) { bool done = false; Icon situationIcon = Icon(Glyph.Categories.situation); Debug.Log("BindIcon called for sacred icon"); if (situationIcon != null) { Debug.Log("... and situation icon ain't null"); Rigidbody situationIconBody = situationIcon.gameObject.GetComponent <Rigidbody>(); if (situationIcon.Glyph().Situation().DeitiesRequired() > sacredIcons.Count) { done = true; icon.Episode(this); icon.BindTo(situationIconBody); sacredIcons.Add(icon); } } else { Debug.Log("Sacred icons can't be bound without a set situation glyph"); Cancel(); } return(done); }
private void Awake() { rb = GetComponent <Rigidbody>(); icon = GetComponent <Icon>(); lineRenderer = GetComponent <LineRenderer>(); sacredIcon = GetComponent <SacredIcon>(); }
private void OnCollisionEnter(Collision collision) { Icon collidingIcon = collision.gameObject.GetComponent <Icon>(); SacredIcon collidingSacredIcon = collision.gameObject.GetComponent <SacredIcon>(); if (collidingIcon != null) { Glyph collidingGlyph = collidingIcon.Glyph(); if (collidingGlyph.Category() == Glyph.Categories.situation && episode == null) { Stage.instance.StartEpisode(this, collidingIcon); } if (episode != null) { episode.BindIcon(collidingIcon); } } if (collidingSacredIcon != null) { if (episode != null && collidingSacredIcon.Episode() == null) { episode.BindIcon(collidingSacredIcon); } } }
public void StartEpisode(SacredIcon sacredIcon, Icon situationIcon) { GameObject newEpisodeObject = Instantiate(Data.instance.EpisodePrefab(), episodesContainer); Episode newEpisode = newEpisodeObject.GetComponent <Episode>(); newEpisode.Setup(sacredIcon, situationIcon); openEpisodes.Add(newEpisode); }
public void MouseOver(SacredIcon sacredIcon) { Deity deity = sacredIcon.Deity(); if (selected == null) { glyphImage.enabled = true; glyphImage.sprite = deity.Sprite(); playableLabel.SetText(deity.Name()); } }
public void DestroySacredIcon(SacredIcon icon) { Playable ply = icon.gameObject.GetComponent <Playable>(); if (ply != null && selected == ply) { Unselect(); } if (playableObjects.Contains(ply)) { playableObjects.Remove(ply); } if (sacredIcons.Contains(icon)) { sacredIcons.Remove(icon); } Destroy(icon.gameObject); }
public void UnbindIcon(SacredIcon icon) { icon.Unbind(); icon.ClearEpisode(); sacredIcons.Remove(icon); }