예제 #1
0
    void UpdateSpriteOnKeyWithIdle(Actions action, bool released, System.Action <Collider2D, ResultType> callback)
    {
        if (released)
        {
            if (actionsStarted.Contains(action))
            {
                actionsStarted.Remove(action);
            }

            if (actionsStarted.Count == 0)
            {
                rend.sprite = spritesToUse[spritesToUse.Count - 1].GetSprite();
                SetCollider(callback, spritesToUse.Count - 1);
            }
            else
            {
                rend.sprite = spritesToUse[actionsToMap.IndexOf(actionsStarted[actionsStarted.Count - 1])].GetSprite();
                SetCollider(callback, actionsToMap.IndexOf(actionsStarted[actionsStarted.Count - 1]));
            }
            StaticDelegates.PlayAudio(false);
        }
        else
        {
            if (actionsToMap.Contains(action))
            {
                actionsStarted.Add(action);
                rend.sprite = spritesToUse[actionsToMap.IndexOf(action)].GetSprite();
                SetCollider(callback, actionsToMap.IndexOf(action));
                StaticDelegates.PlayAudio(false);
            }
        }
    }
예제 #2
0
    bool Collection()
    {
        if (coll.enabled == false)
        {
            return(false);
        }


        Collider2D c = Physics2D.OverlapBox(coll.bounds.center, coll.bounds.extents * 2f, this.transform.eulerAngles.z, (1 << LayerMask.NameToLayer("Item")));

        if (c != null)
        {
            c.gameObject.transform.parent = this.gameObject.transform;
            c.gameObject.layer            = LayerMask.NameToLayer("Player");
            this.coll = c;

            StaticDelegates.PlayAudio(true);
        }

        if (this.transform.childCount == NumItemsToCollect)
        {
            return(true);
        }
        return(false);
    }
예제 #3
0
    void CycleSprite(System.Action <Collider2D, ResultType> callback)
    {
        currentSpriteIndex = (currentSpriteIndex + 1) % spritesToUse.Count;
        rend.sprite        = spritesToUse[currentSpriteIndex].GetSprite();
        SetCollider(callback, currentSpriteIndex);

        StaticDelegates.PlayAudio(false);
    }
예제 #4
0
    void OnEvent()
    {
        if (currentSpriteIndex < spritesToUse.Count)
        {
            rend.sprite         = spritesToUse[currentSpriteIndex].GetSprite();
            currentSpriteIndex += 1;
        }

        StaticDelegates.PlayAudio(false);
    }
예제 #5
0
 void UpdateSpriteOnKey(Actions action, System.Action <Collider2D, ResultType> callback)
 {
     for (int i = 0; i < actionsToMap.Count; ++i)
     {
         if (actionsToMap[i] == action)
         {
             rend.sprite = spritesToUse[i].GetSprite();
             SetCollider(callback, i);
             StaticDelegates.PlayAudio(false);
         }
     }
 }
예제 #6
0
 private void Update()
 {
     if (movement.CanCurrentlyMove())
     {
         if (completionFunction())
         {
             StaticDelegates.PlayAudio(true);
             Debug.Log(spriteResult + " " + locationResult + " " + result);
             result = spriteResult != ResultType.None ? spriteResult : (locationResult != ResultType.None ? locationResult : ResultType.Win);
             GameManager.GameFinished(result);
         }
     }
 }
예제 #7
0
    void ToggleSprite(bool released, System.Action <Collider2D, ResultType> callback)
    {
        if (spritesToUse.Count < 2)
        {
            return;
        }

        if (released)
        {
            rend.sprite = spritesToUse[0].GetSprite();
            SetCollider(callback, 0);
        }
        else
        {
            rend.sprite = spritesToUse[1].GetSprite();
            SetCollider(callback, 1);
            StaticDelegates.PlayAudio(false);
        }
    }