示例#1
0
        private void StartMooving(float movingDuration)
        {
            for (var i = 0; i < ItemList.Count; i++)
            {
                if (_targetItemPositionPathList[i].Count < 1)
                {
                    continue;
                }

                var param = new TweenParms();

                if (_targetItemPositionPathList[i].Count > 1)
                {
                    param.Prop("localPosition", new PlugVector3Path(_targetItemPositionPathList[i].ToArray()));
                }
                else
                {
                    param.Prop("localPosition", _targetItemPositionPathList[i][0]);
                }


                if (i == 0)
                {
                    HOTween.Kill();

                    param.OnStart(() => { IsScrollingInProcess = true; });
                    param.OnComplete(DetectCurrentItem);
                }


                HOTween.To(ItemList[i].transform, movingDuration, param);
            }
        }
示例#2
0
 private void Runnable()
 {
     if (!_isRunnig)
     {
         try
         {
             _isRunnig = true;
             Vector2 position = _trajectory.GenerateCoord();
             MainThreadRunner.AddTask(() =>
             {
                 HOTween.Kill(_aircraftView.transform);
                 var velocity = new Vector3(position.x, position.y, 0) - _aircraftView.transform.localPosition;
                 float angle  = Mathf.Atan2(velocity.y, velocity.x) * Mathf.Rad2Deg;
                 Quaternion q = Quaternion.AngleAxis(angle, Vector3.forward);
                 _aircraftView.transform.rotation = q;
                 //Debug.LogWarning("rotation" + _aircraftView.transform.rotation.x + " " + _aircraftView.transform.rotation.y + " " + _aircraftView.transform.rotation.z);
                 HOTween.To(_aircraftView.transform, Constants.PulseRepetitionInterval / 1000.0f,
                            new TweenParms().Prop("localPosition", new Vector3(position.x, position.y, 0)).Ease(EaseType.Linear));
             });
             if (ChangePosition != null)
             {
                 ChangePosition(position);
             }
             _isRunnig = false;
         }
         catch (Exception e)
         {
             Debug.LogWarning(" AircraftController Runnable" + e.ToString());
         }
     }
 }
示例#3
0
 public void Kill()
 {
     if (_tweener != null)
     {
         HOTween.Kill(_tweener);
     }
 }
示例#4
0
        public void Fire(Transform obj)
        {
            _isFired = true;
            if (_leaserTargetPosition != null)
            {
                _currentPosition = new Vector3(0, 0, 0);
                Vector2 vectorRocket = _leaserTargetPosition.Value - _currentPosition;
                vectorRocket.Normalize();
                _currentPosition       = vectorRocket * Constants.RocketVelocity * Constants.PulseRepetitionInterval / 1000 * Constants.TimeScale;
                _timeOfPreviosPosition = System.DateTime.Now;                 // for renew rocket position on  OnLeaserTargetPositionChange


                float distanceToTarget = Mathf.Sqrt(Mathf.Pow((_rocketView.transform.localPosition.x - _leaserTargetPosition.Value.x), 2) +
                                                    Mathf.Pow((_rocketView.transform.localPosition.y - _leaserTargetPosition.Value.y), 2));

                float timeToTarget = distanceToTarget / Constants.RocketVelocity;
                //Debug.LogWarning("distanceToTarget= " + distanceToTarget + "  timeToTarget  " + timeToTarget);
                MainThreadRunner.AddTask(() =>
                {
                    _rocketView.transform.localPosition = new Vector3(0, 0, 0);
                    HOTween.Kill(_rocketView.transform);

                    Vector3 velocity = new Vector3(_leaserTargetPosition.Value.x, _leaserTargetPosition.Value.y, 0) - _rocketView.transform.position;
                    _rocketView.transform.rotation = Quaternion.LookRotation(velocity, Vector3.forward);
                    _rocketView.gameObject.SetActive(true);

                    HOTween.To(_rocketView.transform, timeToTarget / Constants.TimeScale,
                               new TweenParms().Prop("localPosition", new Vector3(_leaserTargetPosition.Value.x, _leaserTargetPosition.Value.y, 0)).Ease(EaseType.Linear));

                    //	HOTween.To(_rocketView.transform, Constants.PulseRepetitionInterval / 1000 ,
                    //new TweenParms().Prop("localPosition", new Vector3(_currentPosition.x, _currentPosition.y, 0)).Ease(EaseType.Linear));
                });
            }
        }
示例#5
0
    private void OnBackBtnClick()
    {
        GManger GameManger = GameObject.Find("GameManger").GetComponent <GManger>();

        GameManger.AllShow();
        HOTween.Kill();
        Destroy(mTrans.gameObject, 0.1f);
    }
示例#6
0
文件: hoMove.cs 项目: CRomeroP/VJ-3D
 //disables any running movement methods
 public void Stop()
 {
     //exit waypoint coroutine
     StopAllCoroutines();
     //destroy current HOTween movement component
     HOTween.Kill(transform);
     plugPath = null;
     tween    = null;
     //play idle animation if set
     PlayIdle();
 }
示例#7
0
    private int _activePanelIndex;            //The active panel index to know wich panel is active when transit


    //Called before init
    void Awake()
    {
        Time.timeScale = 1;
        HOTween.Kill();
        ButtonRedirect._FirstLevel = _FirstLevel;
        if (_listOfPanels.Length > 0)
        {
            _activePanelIndex = 0;
        }
        ButtonRedirect.scenes = scenes;
    }
示例#8
0
 public void StopAlphaTween()
 {
     if (this.tweenerAlpha != null)
     {
         HOTween.Kill(this.tweenerAlpha);
     }
     if (this.alphaTask != null)
     {
         this.alphaTask.Stop();
     }
 }
示例#9
0
 public void Stop()
 {
     _isFired         = false;
     _currentPosition = Vector2.zero;
     MainThreadRunner.AddTask(() =>
     {
         HOTween.Kill(_rocketView.transform);
         _rocketView.transform.localPosition = new Vector3(0, 0, 0);
         _rocketView.gameObject.SetActive(false);
     });
 }
示例#10
0
        public void Stop()
        {
            _scheduledTask.Stop();

            _isRunnig = false;
            MainThreadRunner.AddTask(() =>
            {
                _aircraftView.gameObject.SetActive(false);
                HOTween.Kill(_aircraftView.transform);
            });
        }
示例#11
0
    public static void Step(float size, float duration)
    {
        if (Instance == null ||
            Instance.DirXform == null)
        {
            return;
        }

        HOTween.Kill(Instance);
        Instance.stepDirection = Instance.DirXform.forward;
        HOTween.To(Instance, duration * 0.33f, new TweenParms().Prop("stepMomentum", size));
        HOTween.To(Instance, duration * 0.66f, new TweenParms().Prop("stepMomentum", 0f).Delay(duration));
    }
示例#12
0
        /// <summary>
        /// Kills this Tweener/Sequence and cleans it.
        /// </summary>
        /// <param name="p_autoRemoveFromHOTween">
        /// If <c>true</c> also calls <c>HOTween.Kill(this)</c> to remove it from HOTween.
        /// Set internally to <c>false</c> when I already know that HOTween is going to remove it.
        /// </param>
        internal virtual void Kill(bool p_autoRemoveFromHOTween)
        {
            if (_destroyed)
            {
                return;
            }

            _destroyed = _isEmpty = true;
            if (p_autoRemoveFromHOTween)
            {
                HOTween.Kill(this);
            }
        }
示例#13
0
    public void Put(IReinitable vm, Type type)
    {
        var transform = (vm as MonoBehaviour).transform;

        HOTween.Kill(transform);
        (transform as RectTransform).localScale = Vector3.one;
        transform.SetParent(parent);

        if (!pool.ContainsKey(type))
        {
            pool.Add(type, new Stack <IReinitable>());
        }

        if (pool[type].Count >= maxStackCount)
        {
            Object.Destroy(transform.gameObject);
            return;
        }

        pool[type].Push(vm);
    }
示例#14
0
    void OnGUI()
    {
        DGUtils.BeginGUI();

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Play"))
        {
            HOTween.Play();
        }
        if (GUILayout.Button("Pause"))
        {
            HOTween.Pause();
        }
        if (GUILayout.Button("Kill"))
        {
            HOTween.Kill();
        }
        GUILayout.EndHorizontal();

        DGUtils.EndGUI();
    }
示例#15
0
 void StopRun()
 {
     this.StopAllCoroutines();
     state = State.Menu;
     // Clear tweens
     if (engine == Engine.DOTween)
     {
         DOTween.Clear();
     }
     else if (engine == Engine.HOTween)
     {
         HOTween.Kill();
     }
     else if (engine == Engine.LeanTween)
     {
         LeanTween.reset();
     }
     else if (engine == Engine.GoKit)
     {
         KillAllGoTweens();
     }
     else if (engine == Engine.iTween)
     {
         iTween.Stop();
     }
     // Clean
     if (testObjsGos != null)
     {
         foreach (GameObject go in testObjsGos)
         {
             Destroy(go);
         }
     }
     testObjsGos   = null;
     testObjsTrans = null;
     testObjsData  = null;
     rndPositions  = null;
     rndRotations  = null;
 }
示例#16
0
        public void OnLeaserTargetPositionChange(Vector2 pos)
        {
            _leaserTargetPosition = pos;
            if (_isFired)
            {
                // figure out the current rocket position
                TimeSpan span       = (System.DateTime.Now - _timeOfPreviosPosition);
                int      differInMs = (int)span.TotalMilliseconds;
                //Debug.LogWarning(" delta time= " + i);
                Vector2 vectorRocket = _leaserTargetPosition.Value - _currentPosition;
                vectorRocket.Normalize();
                _currentPosition      += vectorRocket * Constants.RocketVelocity * differInMs / 1000 * Constants.TimeScale;
                _timeOfPreviosPosition = System.DateTime.Now;


                MainThreadRunner.AddTask(() =>
                {
                    HOTween.Kill(_rocketView.transform);

                    //https://answers.unity.com/questions/585035/lookat-2d-equivalent-.html
                    var velocity = new Vector3(_leaserTargetPosition.Value.x, _leaserTargetPosition.Value.y, 0) - _rocketView.transform.localPosition;
                    float angle  = Mathf.Atan2(velocity.y, velocity.x) * Mathf.Rad2Deg;
                    Quaternion q = Quaternion.AngleAxis(angle, Vector3.forward);

                    _rocketView.transform.localRotation = q;
                    float distanceToTarget = Mathf.Sqrt(Mathf.Pow((_rocketView.transform.localPosition.x - _leaserTargetPosition.Value.x), 2) +
                                                        Mathf.Pow((_rocketView.transform.localPosition.y - _leaserTargetPosition.Value.y), 2));

                    float timeToTarget = distanceToTarget / Constants.RocketVelocity;
                    //Debug.LogWarning("distanceToTarget= " + distanceToTarget + "  timeToTarget  " + timeToTarget);

                    HOTween.To(_rocketView.transform, timeToTarget / Constants.TimeScale,
                               new TweenParms().Prop("localPosition", new Vector3(_leaserTargetPosition.Value.x, _leaserTargetPosition.Value.y, 0)).Ease(EaseType.Linear));

                    //			HOTween.To(_rocketView.transform, Constants.PulseRepetitionInterval / 1000 ,
                    //new TweenParms().Prop("localPosition", new Vector3(_currentPosition.x, _currentPosition.y, 0)).Ease(EaseType.Linear));
                });
            }
        }
示例#17
0
 void Reset(bool complete = true)
 {
     if (complete)
     {
         if (engine == Engine.DOTween)
         {
             DOTween.Clear();
         }
         else if (engine == Engine.HOTween)
         {
             HOTween.Kill();
         }
         else if (engine == Engine.LeanTween)
         {
             LeanTween.reset();
         }
         else if (engine == Engine.GoKit)
         {
             KillAllGoTweens();
         }
         else if (engine == Engine.iTween)
         {
             iTween.Stop();
         }
     }
     if (testObjsTrans != null)
     {
         for (int i = 0; i < testObjsTrans.Length; ++i)
         {
             Transform t = testObjsTrans[i];
             t.position   = rndStartupPos[i];
             t.localScale = Vector3.one;
             t.rotation   = Quaternion.identity;
         }
     }
 }
示例#18
0
    void Roll()
    {
        if (isRoll)
        {
            return;
        }
        isRoll = true;
        float dist = mousePos.x - Input.mousePosition.x;
        float sign = Mathf.Sign(dist);

        if (Mathf.Abs(dist) < 1f)
        {
            Application.LoadLevel("Game" + seq);
        }
        int t = seq + (int)sign;

        seq = (t + 3) % 3;
        Vector3    rot    = new Vector3(0f, 120f * t, 0f);
        TweenParms tparms = new TweenParms().Prop("eulerAngles", rot).Ease(EaseType.EaseInOutQuad).Id("myTween");

        tparms.OnComplete(OnDoneRollEffect);
        HOTween.Kill("myTween");
        HOTween.To(tr, 0.5f, tparms);
    }
示例#19
0
 // Update is called once per frame
 void On()
 {
     lut.enabled = true;
     HOTween.Kill(lut);
     HOTween.To(lut, time, "offset", endValue);
 }
示例#20
0
    // =============================================================================



    // =============================================================================
    // METHODS ---------------------------------------------------------------------

    public IEnumerator Extinguish(Transform port)
    {
        if (!IsAvailable())
        {
            return(false);
        }

        float measureAnimationPartLength = ExtinguishAnimationLength / 4.0f;

        SetPlayerMotion(false);

        TweenParms parms1 = new TweenParms();

        parms1.Prop("position", new PlugVector3(port.position));
        parms1.Prop("rotation", new PlugQuaternion(port.rotation));
        //parms1.Prop("localScale", Plugins.Core.PlugVector3(port.localScale));
        parms1.Ease(EaseType.EaseInOutSine);
        Tweener tweener1 = HOTween.To(Trans, measureAnimationPartLength, parms1);

        tweener1.autoKillOnComplete = false;

        //dan
        //TODO
        //yield WaitForSeconds(measureAnimationPartLength);
        yield return(new WaitForSeconds(measureAnimationPartLength));

        LayerSetter.SetAllLayerRecursively(Nose.gameObject, Nose.OtherLayer);

        TweenParms parms2 = new TweenParms();

        parms2.Prop("position", new PlugVector3(Trans.forward * 0.18f, true));
        parms2.Ease(EaseType.EaseInOutSine);
        Tweener tweener2 = HOTween.To(Trans, measureAnimationPartLength, parms2);

        tweener2.autoKillOnComplete = false;

        //dan
        //TODO
        //yield WaitForSeconds(measureAnimationPartLength);
        yield return(new WaitForSeconds(measureAnimationPartLength));

        //dan
        //TODO
        //yield base.MeasureValues(3); // play sound
        yield return(base.MeasureValues(3)); // play sound


        //dan
        //TODO
        //yield WaitForSeconds(0.5f);
        yield return(new WaitForSeconds(0.5f));

        HOTween.PlayBackwards(tweener2);

        //dan
        //TODO
        //yield WaitForSeconds(measureAnimationPartLength);
        yield return(new WaitForSeconds(measureAnimationPartLength));

        LayerSetter.SetAllLayerRecursively(Nose.gameObject, Nose.OldLayer);

        HOTween.PlayBackwards(tweener1);

        //dan
        //TODO
        //yield WaitForSeconds(measureAnimationPartLength);
        yield return(new WaitForSeconds(measureAnimationPartLength));


        HOTween.Kill(tweener1);
        HOTween.Kill(tweener2);
        SetPlayerMotion(true);
    }
示例#21
0
 //Called before init
 void Awake()
 {
     Time.timeScale = 1;
     HOTween.Kill();
 }
示例#22
0
    // =============================================================================



    // =============================================================================
    // METHODS ---------------------------------------------------------------------

    public IEnumerator MeasureValues(string name, Transform port)
    {
        if (!IsAvailable())
        {
            return(false);
        }

        float measureAnimationPartLength = MeasureAnimationLength / 4.0f;

        SetPlayerMotion(false);

        TweenParms parms1 = new TweenParms();

        parms1.Prop("position", new PlugVector3(port.position));
        parms1.Prop("rotation", new PlugQuaternion(port.rotation));
        //parms1.Prop("localScale", Plugins.Core.PlugVector3(port.localScale));
        parms1.Ease(EaseType.EaseInOutSine);
        Tweener tweener1 = HOTween.To(Trans, measureAnimationPartLength, parms1);

        tweener1.autoKillOnComplete = false;

        //dan
        //TODO
        //yield WaitForSeconds(measureAnimationPartLength);
        yield return(new WaitForSeconds(measureAnimationPartLength));

        LayerSetter.SetAllLayerRecursively(Nose.gameObject, Nose.OtherLayer);

        TweenParms parms2 = new TweenParms();

        parms2.Prop("position", new PlugVector3(Trans.forward * 0.18f, true));
        parms2.Ease(EaseType.EaseInOutSine);
        Tweener tweener2 = HOTween.To(Trans, measureAnimationPartLength, parms2);

        tweener2.autoKillOnComplete = false;


        //dan
        //TODO
        //yield WaitForSeconds(measureAnimationPartLength);
        yield return(new WaitForSeconds(measureAnimationPartLength));

        //dan
        //TODO
        //yield WaitForSeconds(1);
        yield return(new WaitForSeconds(1));

        MeasurementValues values = MeasurementScript.GetValues(name);
        string            text   = values.isNull() ? "ERR" : values.ToString();

        //dan
        //Config.Log( "PORT port: " + name + " values " + text );
        DisplayValues(values);

        //dan
        //TODO
        //yield base.MeasureValues(0.5f); // play sound
        yield return(base.MeasureValues(0.5f)); // play sound

        HOTween.PlayBackwards(tweener2);

        //dan
        //TODO
        //yield WaitForSeconds(measureAnimationPartLength);
        yield return(new WaitForSeconds(measureAnimationPartLength));

        LayerSetter.SetAllLayerRecursively(Nose.gameObject, Nose.OldLayer);

        HOTween.PlayBackwards(tweener1);

        //dan
        //TODO
        //yield WaitForSeconds(measureAnimationPartLength);
        yield return(new WaitForSeconds(measureAnimationPartLength));

        HOTween.Kill(tweener1);
        HOTween.Kill(tweener2);
        SetPlayerMotion(true);

        //dan
        //TODO
        //yield WaitForSeconds(2.5f);
        yield return(new WaitForSeconds(2.5f));

        DisplayValues("", "");
    }
示例#23
0
 public override void OnEnter()
 {
     killedCount = HOTween.Kill(tweenID.Value);
     Finish();
 }
示例#24
0
 public static void Conclude()
 {
     HOTween.Kill();
     UnityEngine.Object.Destroy(GameObject.Find("HOTween"));
 }
示例#25
0
        // ===================================================================================
        // UNITY METHODS ---------------------------------------------------------------------

        override public void OnInspectorGUI()
        {
            HOGUIStyle.InitGUI();

            EditorGUIUtility.LookLikeControls(_labelsWidth, _fieldsWidth);

            GUILayout.Space(4);
#if MICRO
            GUILayout.Label("HOTweenMicro v" + HOTween.VERSION);
#else
            GUILayout.Label("HOTween v" + HOTween.VERSION);
#endif
            GUILayout.Space(4);

            TweenInfo[] twInfos = HOTween.GetTweenInfos();
            if (twInfos == null)
            {
                GUILayout.Label("No tweens");
                return;
            }

            // Store and display tot running/paused/disabled tweens.
            int totTweens = twInfos.Length;
            List <TweenInfo> runningTweens   = new List <TweenInfo>();
            List <TweenInfo> pausedTweens    = new List <TweenInfo>();
            List <TweenInfo> completedTweens = new List <TweenInfo>();
            List <TweenInfo> disabledTweens  = new List <TweenInfo>();
            foreach (TweenInfo twInfo in twInfos)
            {
                if (!twInfo.isEnabled)
                {
                    disabledTweens.Add(twInfo);
                }
                else if (twInfo.isComplete)
                {
                    completedTweens.Add(twInfo);
                }
                else if (twInfo.isPaused)
                {
                    pausedTweens.Add(twInfo);
                }
                else
                {
                    runningTweens.Add(twInfo);
                }
            }
            GUILayout.BeginHorizontal();
            GUILayout.FlexibleSpace();
            GUILayout.Label("Tweens (tot - running/paused/completed/disabled):\n" + totTweens + " - " + runningTweens.Count + "/" + "/" + pausedTweens.Count + "/" + completedTweens.Count + "/" + disabledTweens.Count);
            GUILayout.FlexibleSpace();
            GUILayout.EndHorizontal();

            // Draw play/pause/kill all buttons
            GUILayout.Space(4);
            GUILayout.BeginHorizontal();
            GUILayout.FlexibleSpace();
            if (GUILayout.Button("Play All", HOGUIStyle.BtTinyStyle, GUILayout.Width(76)))
            {
                HOTween.Play();
            }
            if (GUILayout.Button("Pause All", HOGUIStyle.BtTinyStyle, GUILayout.Width(76)))
            {
                HOTween.Pause();
            }
            if (GUILayout.Button("Complete All", HOGUIStyle.BtTinyStyle, GUILayout.Width(86)))
            {
                HOTween.Complete();
            }
            if (GUILayout.Button("Kill All", HOGUIStyle.BtTinyStyle, GUILayout.Width(76)))
            {
                HOTween.Kill();
            }
            GUILayout.FlexibleSpace();
            GUILayout.EndHorizontal();

            // Display data for each tween (divided by running/paused/completed/disabled)
            for (int i = 0; i < 4; ++i)
            {
                TweenGroup       twGroup;
                List <TweenInfo> targetInfos;
                string           groupLabel;
                switch (i)
                {
                case 0:
                    twGroup     = TweenGroup.Running;
                    targetInfos = runningTweens;
                    groupLabel  = "Running";
                    break;

                case 1:
                    twGroup     = TweenGroup.Paused;
                    targetInfos = pausedTweens;
                    groupLabel  = "Paused";
                    break;

                case 2:
                    twGroup     = TweenGroup.Completed;
                    targetInfos = completedTweens;
                    groupLabel  = "Completed but not killed";
                    break;

                default:
                    twGroup     = TweenGroup.Disabled;
                    targetInfos = disabledTweens;
                    groupLabel  = "Disabled";
                    break;
                }

                if (targetInfos.Count == 0)
                {
                    continue;
                }
                GUILayout.Space(8);
                GUILayout.BeginVertical(HOGUIStyle.BoxStyleRegular);
                GUILayout.BeginHorizontal();
                GUILayout.Label(groupLabel + " Tweens (" + targetInfos.Count + ")", HOGUIStyle.TitleStyle, GUILayout.ExpandWidth(false));
                GUILayout.FlexibleSpace();
                GUILayout.Label("Click a target to select it");
                GUILayout.EndHorizontal();
                GUILayout.Space(6);
                foreach (TweenInfo twInfo in targetInfos)
                {
                    GUILayout.BeginVertical(GUI.skin.box);
                    if (twInfo.isSequence)
                    {
                        GUILayout.BeginHorizontal();
                        GUILayout.Label("[Sequence]", HOGUIStyle.LabelSmallStyle);
                        if (twGroup != TweenGroup.Disabled)
                        {
                            DrawTargetButtons(twInfo, twGroup);
                        }
                        GUILayout.EndHorizontal();
                        DrawInfo(twInfo);
                        foreach (object twTarget in twInfo.targets)
                        {
                            DrawTarget(twInfo, twTarget, twGroup, true);
                        }
                    }
                    else
                    {
                        DrawTarget(twInfo, twInfo.targets[0], twGroup, false);
                    }
                    GUILayout.EndVertical();
                }
                GUILayout.EndVertical();
            }
        }
示例#26
0
    private void Update()
    {
        switch (state)
        {
        case GameState.MainMenu:

            break;

        case GameState.Pause:
            break;

        case GameState.Transition:
            break;

        case GameState.GetReady:
            ResetBattle();
            state = GameState.Battle;
            TimeText.gameObject.SetActive(true);
            ShowBattle();
            TimeText.color = Color.black;
            HOTween.Kill(TimeText);
            HOTween.To(TimeText, 10f, new TweenParms()
                       .Prop("color", Color.red)
                       .Ease(EaseType.Linear)
                       );
            break;

        case GameState.Battle:
            timer -= Time.deltaTime;

            TimeText.text = timer.ToString("0.00");

            if (timer <= 0.0f &&
                Player.go.GetComponent <PlayerScript>().GetState() != PlayerScript.PlayerState.Prepare &&
                Player.go.GetComponent <PlayerScript> ().GetState() != PlayerScript.PlayerState.Attack)
            {
                state = GameState.GameOver;
                TimeText.gameObject.SetActive(false);
                HOTween.To(Battle, 1f, new TweenParms()
                           .Prop("position", new Vector3(Screen.width * 0.5f, -512f, 0.5f))
                           .Ease(EaseType.EaseInOutBack)
                           .OnComplete(ShowGameOver)
                           );
            }
            else
            {
                if (enemyAttackTimes.Count > 0)
                {
                    float time = enemyAttackTimes[0];

                    if (timer <= time &&
                        numEnemyAttacks < maxEnemyAttacks &&
                        Enemy.go.GetComponent <EnemyScript> ().GetState() == EnemyScript.EnemyState.Idle)
                    {
                        Enemy.go.GetComponent <EnemyScript> ().Attack();
                        Enemy.go.audio.PlayOneShot(prepareSFX);
                        enemyAttackTimes.RemoveAt(0);
                        numEnemyAttacks++;
                    }
                }

                if (Input.GetButtonDown("Attack") &&
                    hitted == false &&
                    gotHit == false &&
                    Player.go.GetComponent <PlayerScript> ().GetState() == PlayerScript.PlayerState.Idle)
                {
                    Player.go.GetComponent <PlayerScript> ().Attack();
                    Player.go.audio.PlayOneShot(prepareSFX);
                }

                // Change to an collision detect
                if (hitted == false &&
                    Player.go.GetComponent <PlayerScript> ().GetState() == PlayerScript.PlayerState.Attack &&
                    Enemy.go.GetComponent <EnemyScript> ().GetState() == EnemyScript.EnemyState.Prepare)
                {
                    hitted = true;
                    Player.go.audio.PlayOneShot(hitSFX);
                }

                if (hitted == false &&
                    Player.go.GetComponent <PlayerScript> ().GetState() == PlayerScript.PlayerState.Attack &&
                    Enemy.go.GetComponent <EnemyScript> ().GetState() == EnemyScript.EnemyState.Idle)
                {
                    Enemy.go.GetComponent <EnemyScript> ().Guard();
                }

                // Change to an collision detect
                if (gotHit == false &&
                    Player.go.GetComponent <PlayerScript> ().GetState() == PlayerScript.PlayerState.Prepare &&
                    Enemy.go.GetComponent <EnemyScript> ().GetState() == EnemyScript.EnemyState.Attack)
                {
                    gotHit = true;
                    Enemy.go.audio.PlayOneShot(hitSFX);
                }

                if (gotHit == false &&
                    Player.go.GetComponent <PlayerScript> ().GetState() == PlayerScript.PlayerState.Idle &&
                    Enemy.go.GetComponent <EnemyScript> ().GetState() == EnemyScript.EnemyState.Attack)
                {
                    Player.go.GetComponent <PlayerScript> ().Guard();
                }

                if (hitted == true &&
                    Player.go.GetComponent <PlayerScript> ().GetState() == PlayerScript.PlayerState.Idle &&
                    Enemy.go.GetComponent <EnemyScript> ().GetState() == EnemyScript.EnemyState.Idle)
                {
                    Enemy.go.GetComponent <EnemyScript> ().Die();
                    state = GameState.Victory;
                    TimeText.gameObject.SetActive(false);
                    HOTween.To(Battle, 1f, new TweenParms()
                               .Prop("position", new Vector3(Screen.width * 0.5f, -512f, 0.5f))
                               .Ease(EaseType.EaseInOutBack)
                               .OnComplete(ShowVictory)
                               );
                }

                if (gotHit == true &&
                    Player.go.GetComponent <PlayerScript> ().GetState() == PlayerScript.PlayerState.Idle &&
                    Enemy.go.GetComponent <EnemyScript> ().GetState() == EnemyScript.EnemyState.Idle)
                {
                    Player.go.GetComponent <PlayerScript> ().Die();
                    state = GameState.GameOver;
                    TimeText.gameObject.SetActive(false);
                    HOTween.To(Battle, 1f, new TweenParms()
                               .Prop("position", new Vector3(Screen.width * 0.5f, -512f, 0.5f))
                               .Ease(EaseType.EaseInOutBack)
                               .OnComplete(ShowGameOver)
                               );
                }
            }

            if (Input.GetButtonDown("MainMenu"))
            {
                state = GameState.MainMenu;
                TimeText.gameObject.SetActive(false);
                HideBattle();
                ShowMainMenu();
            }

            break;

        case GameState.Victory:
        case GameState.GameOver:
            TimeText.gameObject.SetActive(false);
            if (Input.GetButtonDown("Reset"))
            {
                state = GameState.GetReady;
            }
            if (Input.GetButtonDown("MainMenu"))
            {
                state = GameState.MainMenu;
                HideGameOver();
                HideVictory();
                ShowMainMenu();
            }
            break;
        }
        StartGame.position = MainMenu.position + StartGameOff;
        About.position     = MainMenu.position + AboutOff;
        Exit.position      = MainMenu.position + ExitOff;
        Back.position      = Credit.position + BackOff;
    }
示例#27
0
 public override void Stop()
 {
     base.Stop();
     HOTween.Kill(go);
 }
示例#28
0
        public override void OnEnter()
        {
            killedCount.Value = HOTween.Kill();

            Finish();
        }
示例#29
0
 public void RemoveTweens()
 {
     HOTween.Kill(this.transform);
 }