Beispiel #1
0
 public void Setup(SacredIcon firstSacredIcon, Icon firstIcon)
 {
     sacredIcons = new List <SacredIcon>();
     icons       = new List <Icon>();
     BindIcon(firstIcon);
     BindIcon(firstSacredIcon);
 }
Beispiel #2
0
    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);
    }
Beispiel #3
0
 private void Awake()
 {
     rb           = GetComponent <Rigidbody>();
     icon         = GetComponent <Icon>();
     lineRenderer = GetComponent <LineRenderer>();
     sacredIcon   = GetComponent <SacredIcon>();
 }
Beispiel #4
0
    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);
            }
        }
    }
Beispiel #5
0
    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);
    }
Beispiel #6
0
    public void MouseOver(SacredIcon sacredIcon)
    {
        Deity deity = sacredIcon.Deity();

        if (selected == null)
        {
            glyphImage.enabled = true;
            glyphImage.sprite  = deity.Sprite();
            playableLabel.SetText(deity.Name());
        }
    }
Beispiel #7
0
    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);
    }
Beispiel #8
0
 public void UnbindIcon(SacredIcon icon)
 {
     icon.Unbind();
     icon.ClearEpisode();
     sacredIcons.Remove(icon);
 }