예제 #1
0
    private void Awake()
    {
        honeyCounter = GameObject.FindGameObjectWithTag("HoneyCounter").GetComponent <HoneyCounter>();
        if (handSpawner == null)
        {
            handSpawner = GameObject.FindGameObjectWithTag("HandSpawner").GetComponent <HandSpawner>();
        }

        initialPosition         = transform.position;
        moveBack                = false;
        wasUsed                 = false;
        stealAnimationTriggered = false;

        transform.rotation = rotationTowardsHive();

        honey.transform.localScale = Vector3.zero;

        // iTween setup
        {
            iTween.Init(gameObject);

            forwardMovementProperties  = new List <Hashtable>();
            backwardMovementProperties = new List <Hashtable>();

            float time = (new Vector2(transform.position.x, transform.position.y).magnitude) / speed;

            // Movement properties: initial position -> hive
            forwardMovementProperties.Add(iTween.Hash(
                                              "position", hive.transform.position,
                                              "time", 1.0f * time,
                                              "easeType", iTween.EaseType.easeInSine));
            forwardMovementProperties.Add(iTween.Hash(
                                              "position", hive.transform.position,
                                              "time", 1.2f * time,
                                              "easeType", iTween.EaseType.easeInQuad));
            forwardMovementProperties.Add(iTween.Hash(
                                              "position", hive.transform.position,
                                              "time", 1.4f * time,
                                              "easeType", iTween.EaseType.easeInCubic));
            // TODO: These bouncy comments below look cool, but need more work
            // forwardMovementProperties.Add(iTween.Hash(
            //         "position", hive.transform.position,
            //         "time", 1.8f * time,
            //         "easeType", iTween.EaseType.easeInBounce));
            // forwardMovementProperties.Add(iTween.Hash(
            //         "position", hive.transform.position,
            //         "time", 2.6f * time,
            //         "easeType", iTween.EaseType.easeInOutBounce));

            // Movement properties: hive -> initial position
            backwardMovementProperties.Add(iTween.Hash(
                                               "position", initialPosition,
                                               "time", 1.0f * time,
                                               "easeType", iTween.EaseType.easeOutSine));
            backwardMovementProperties.Add(iTween.Hash(
                                               "position", initialPosition,
                                               "time", 1.2f * time,
                                               "easeType", iTween.EaseType.easeOutQuad));
            backwardMovementProperties.Add(iTween.Hash(
                                               "position", initialPosition,
                                               "time", 1.4f * time,
                                               "easeType", iTween.EaseType.easeOutCubic));
        }

        iTween.MoveTo(gameObject,
                      forwardMovementProperties[Random.Range(0, forwardMovementProperties.Count)]);
    }
예제 #2
0
 private void Start()
 {
     honeyCounter = FindObjectOfType <HoneyCounter>();
 }