Esempio n. 1
0
 public void MoveTo(Board board, Position newPosition)
 {
     if (HeroMovement.IsValidMovement(board, newPosition))
     {
         this.Position = newPosition;
     }
 }
Esempio n. 2
0
    public override void Action(GameObject target)
    {
        base.Action(target);

        _cardAction         = target.GetComponent <HeroMovement>();
        _cardAction.enabled = true;
    }
Esempio n. 3
0
    // Use this for initialization
    void Start()
    {
        if (!tbmExists)
        {
            tbmExists = true;
            DontDestroyOnLoad(transform.gameObject);
        }
        else
        {
            Destroy(gameObject);
        }

        hero = FindObjectOfType<HeroMovement>();
        if (textFile != null)
        {
            textLines = (textFile.text.Split('\n'));
        }
        if(endAtLine == 0)
        {
            endAtLine = textLines.Length - 1;
        }
        if (isActive)
        {
            EnableTextBox();
        }
        else
        {
            DisableTextBox();
        }
    }
Esempio n. 4
0
    void playMiningAnimation()
    {
        Animator animator = GameObject.Find("Hero").GetComponent <Animator> ();
        string   side     = new HeroMovement().findSide();

        animator.SetBool(side + "Mining", true);
    }
Esempio n. 5
0
 // Start is called before the first frame update
 void Start()
 {
     heroMovement = GetComponent <HeroMovement>();
     maxHealth    = 100;
     health       = maxHealth;
     SetMaxHealth();
 }
Esempio n. 6
0
    // Update is called once per frame
    void Update()
    {
        if (hm == null)
            hm = ObstacleController.PLAYER.GetComponent<HeroMovement>();

        Vector3 newPos = Target.transform.position;

        CameraSmoothing(hm.Rage);

        newPos.x += OffsetX;
        newPos.y += OffsetY + (UseBump ? Mathf.Sin(y_bump) * 10f * Time.deltaTime : 0);
        newPos.z += OffsetZ;

        if (rageCurrent > 0)
        {
            Vector3 pos = ObstacleController.PLAYER.transform.position;
            Vector3 cam = transform.position;

            Vector3 direction = (cam - pos).normalized;

            direction *= rageCurrent * 2;

            newPos += direction;
        }

        y_bump += 0.15f;

        transform.position = newPos;
    }
Esempio n. 7
0
    public void AnimateMovement(HeroManager hero)
    {
        if (animator == null)
        {
            OnAvatarCreated();
            return;
        }

        string       animation = Idle;
        HeroMovement h         = hero.heroMovement;

        if (h.xzMovement != Vector3.zero)
        {
            if (h.xMove)
            {
                animation = Run;
            }
            if (h.zMove)
            {
                if (h.zMotion > 0)
                {
                    if (h.isWalking)
                    {
                        animation = Walk;
                    }
                    else
                    {
                        animation = Run;
                    }
                }
                else
                {
                    animation = BackPedal;
                }
            }
        }

        if (!h.isGrounded)
        {
            if (h.yMovement.y > 0)
            {
                animation = Fall;
            }
            else
            {
                animation = Fall;
            }
        }

        if (hero.heroCombat.health == 0)
        {
            animation = Death;
        }

        if (lastMovementAnim != animation)
        {
            CmdStartAnimation(animation);
        }
        lastMovementAnim = animation;
    }
Esempio n. 8
0
    private void SetDestinationSystem(int targetSystem, string task)
    {
        float offence   = 0f;
        int   hero      = -1;
        bool  foundHero = false;

        for (int k = 0; k < player.playerOwnedHeroes.Count; ++k)
        {
            heroScript = player.playerOwnedHeroes[k].GetComponent <HeroScriptParent>();

            if (offence < heroScript.assaultDamage && heroScript.isBusy == false)
            {
                offence   = heroScript.assaultDamage;
                hero      = k;
                foundHero = true;
            }
        }

        if (foundHero == true)
        {
            HeroMovement heroMovement = player.playerOwnedHeroes[hero].GetComponent <HeroMovement>();
            heroScript = player.playerOwnedHeroes[hero].GetComponent <HeroScriptParent>();

            heroMovement.FindPath(heroScript.heroLocation, MasterScript.systemListConstructor.systemList[targetSystem].systemObject, true);

            heroScript.isBusy = true;

            if (task == "Invade")
            {
                heroScript.aiInvadeTarget = targetSystem;
            }
        }
    }
Esempio n. 9
0
 // Use this for initialization
 void Start()
 {
     //In order to figure out which way the character is facing I need to access the HeroMovement script
     hm          = gameObject.GetComponent <HeroMovement>();
     myAttribute = gameObject.GetComponent <AttributeController>();
     animator    = gameObject.GetComponent <Animator>();
 }
Esempio n. 10
0
 protected override void Start()
 {
     base.Start();
     AbilityWParticle = GameObject.FindGameObjectWithTag("PW").GetComponent <ParticleSystem>();
     AbilityWParticle.Stop();
     movement = heroInfo.GetComponent <HeroMovement>();
 }
 protected override void OnCollectEffect(HeroMovement Hero)
 {
     if (activated)
     {
         GameManager.Instance.ChangeScene(SceneName);
     }
 }
Esempio n. 12
0
 // Use this for initialization
 public void Start()
 {
     //loading scripts
     hero         = GameObject.FindWithTag("Player");
     heroScript   = hero.GetComponent <HeroMovement> ();
     combatMan    = GameObject.FindGameObjectWithTag("Manager");
     combatScript = combatMan.GetComponent <combatManagerScript> ();
 }
Esempio n. 13
0
 // Use this for initialization
 void Start()
 {
     mapTheme = mapThemes[Random.Range(0, 4)];
     mapTheme.SetActive(!mapTheme.activeInHierarchy);
     startTheGame();
     getMovementScript = player.GetComponent <HeroMovement>();
     getPlayer         = player.GetComponent <Player>();
 }
Esempio n. 14
0
    void Start()
    {
        hm = GetComponent <HeroMovement>();

        if (gameObject.name == "Kitty(Clone)" || gameObject.name == "Kitty")
        {
            isKitty = true;
        }
    }
Esempio n. 15
0
 void Start()
 {
     if (ObstacleController.PLAYER != null)
     {
         hm = ObstacleController.PLAYER.GetComponent<HeroMovement>();
     }
     levelLength = LevelCreator.LengthConverter(LevelCreator.LEVEL_LENGTH) * 64 - 32;
     SetFellowActive(false);
 }
Esempio n. 16
0
 // Use this for initialization
 void Start()
 {
     myMovement   = gameObject.GetComponent <HeroMovement>();
     myAttribute  = gameObject.GetComponent <AttributeController>();
     hasWall      = false;
     BigAttack    = false;
     LittleAttack = false;
     animator     = gameObject.GetComponent <Animator>();
 }
Esempio n. 17
0
 // Use this for initialization
 void Start()
 {
     photon           = this.GetComponent <PhotonView>();
     animator         = this.GetComponent <Animator>();
     isAttacking      = false;
     canPerformAttack = false;
     heroMovement     = this.GetComponent <HeroMovement>();
     hero             = this.GetComponent <Hero>();
 }
Esempio n. 18
0
 // Use this for initialization
 void Start()
 {
     heroAvatar          = GetComponent <HeroAvatar> ();
     heroMovement        = GetComponent <HeroMovement> ();
     heroCombat          = GetComponent <HeroCombat> ();
     heroHud             = GetComponent <HeroHud> ();
     characterController = GetComponent <CharacterController> ();
     camera = GetComponentInChildren <Camera>(true);
     camera.gameObject.tag = "LocalHeroCamera";
 }
Esempio n. 19
0
 // Use this for initialization
 void Start()
 {
     flippers.enabled = !flippers.enabled;
     iceaxes.enabled = !iceaxes.enabled;
     gameoverpanel.SetActive(false);
     winpanel.SetActive(false);
     heroMovement = hero.GetComponent<HeroMovement>();
     sec = 0;
     min = 0;
     text.text = "0";
 }
Esempio n. 20
0
 // Use this for initialization
 void Start()
 {
     flippers.enabled = !flippers.enabled;
     iceaxes.enabled  = !iceaxes.enabled;
     gameoverpanel.SetActive(false);
     winpanel.SetActive(false);
     heroMovement = hero.GetComponent <HeroMovement>();
     sec          = 0;
     min          = 0;
     text.text    = "0";
 }
Esempio n. 21
0
    void Start()
    {
        heroAge = Time.time;

        heroShip     = gameObject.GetComponent <HeroShip> ();
        heroMovement = gameObject.GetComponent <HeroMovement> ();

        system = MasterScript.RefreshCurrentSystem(heroLocation);

        movementSpeed = 1;
        currentHealth = 100;
    }
Esempio n. 22
0
 // Use this for initialization
 void Start()
 {
     hero = FindObjectOfType<HeroMovement>();
     if (isActive)
     {
         EnableLevelPanel();
     }
     else
     {
         DisableLevelPanel();
     }
 }
        public void WhenMove_ThenReturnTheHeroPosition(
            Directions direction, int initialPositionX, int initialPositionY)
        {
            var hero = new HeroSpawner()
                       .CreateHero(_map, initialPositionX, initialPositionY);
            var subjectUnderTest = new HeroMovement(hero, _map);

            var result = subjectUnderTest.Move(direction);

            // Assert
            Assert.AreEqual(hero.PositionX, result.PositionX);
            Assert.AreEqual(hero.PositionY, result.PositionY);
        }
Esempio n. 24
0
    // Use this for initialization
    void Start()
    {
        hero = FindObjectOfType<HeroMovement>();

        if (hero.startPoint == pointName)
        {
            hero.transform.position = transform.position;

            cam = FindObjectOfType<CameraFollow>();
            cam.transform.position = new Vector3(transform.position.x, transform.position.y, cam.transform.position.z);

        }
    }
        public void WhenMove_ThenUpdateTheHeroPosition(
            Directions direction, int initialPositionX, int initialPositionY,
            int expectedPositionX, int expectedPositionY)
        {
            var hero             = new HeroSpawner().CreateHero(_map, initialPositionX, initialPositionY);
            var subjectUnderTest = new HeroMovement(hero, _map);

            subjectUnderTest.Move(direction);

            // Assert
            Assert.AreEqual(expectedPositionX, hero.PositionX);
            Assert.AreEqual(expectedPositionY, hero.PositionY);
        }
        public void WhenMove_ThenUpdateTheHeroPositionInTheMap(
            Directions direction, int initialPositionX, int initialPositionY,
            int expectedPositionX, int expectedPositionY)
        {
            var hero             = new HeroSpawner().CreateHero(_map, initialPositionX, initialPositionY);
            var subjectUnderTest = new HeroMovement(hero, _map);

            subjectUnderTest.Move(direction);

            // Assert
            Assert.IsTrue(_map.ContainsAHero(expectedPositionX, expectedPositionY),
                          "The hero is not in the expected position");
        }
Esempio n. 27
0
    // Use this for initialization
    void Start()
    {
        cameraTransform = GetComponentInChildren <Camera>(true).transform;
        if (!isLocalPlayer)
        {
            return;
        }

        cameraTransform.gameObject.SetActive(true);

        movement = GetComponent <HeroMovement> ();
        x        = transform.eulerAngles.y;
        y        = transform.eulerAngles.x;
    }
Esempio n. 28
0
 public override void OnEpisodeBegin()
 {
     count = 7000;
     heroMovement = GetComponent<HeroMovement>();
     transform.position = startingHeroPosition;
     enemy.position = startingEnemyPosition;
     enemy2.position = e2;
     enemy3.position = e3;
     //transform.localPosition = new Vector3(-9, -4f, 0);
     //enemy.localPosition = new Vector3(12.1f, 0, 0);
     //enemy2.localPosition = new Vector3(1.9f, -2, 0);
     //enemy3.localPosition = new Vector3(7.1f, -1, 0);
     //enemy5.localPosition = new Vector3(9.9f, 3, 0);
 }
Esempio n. 29
0
 protected override void Start()
 {
     base.Start();
     movement   = GetComponent <HeroMovement>();
     mana       = maxMana;
     invMaxMana = 1.0f / maxMana;
     Attacked  += HeroAttacked;
     Destroyed += HeroDeath;
     if (GameManager.Avail)
     {
         GameManager.Instance.AddHero(this);
     }
     TheHeroAudio = GetComponent <HeroAudio>();
     idleTimer    = 8.0f;
 }
Esempio n. 30
0
    public void Start()
    {
        myMovement = gameObject.GetComponent <HeroMovement>();
        myBody     = gameObject.GetComponent <Rigidbody2D>();
        if (gameObject.layer != 13)
        {
            myLayer = gameObject.layer;
        }
        health = maxHealth;

        if (gameObject.tag == "Enemy")
        {
            enemyAI = gameObject.GetComponent <EnemyAI>();
            speed   = enemyAI.maxSpeed;
        }
    }
Esempio n. 31
0
        public void SetUp()
        {
            input = Substitute.For <Input>();

            var heroPrefab   = AssetDatabase.LoadAssetAtPath <GameObject>("Assets/Prefabs/Hero.prefab");
            var heroInstance = Object.Instantiate(heroPrefab);

            heroView = heroInstance.GetComponent <HeroView>();

            var map                = MapFactory.AMap.Build();
            var hero               = new HeroSpawner().CreateHero(map, 0, 0);
            var heroMovement       = new HeroMovement(hero, map);
            var movementController = new MovementController(heroView, heroMovement);

            heroView.Configure(input, movementController);
        }
Esempio n. 32
0
    // Use this for initialization
    void Start()
    {
        hero         = GameObject.FindGameObjectWithTag("Player");              //Initializing gameobjects and scripts.
        heroScript   = hero.GetComponent <HeroMovement> ();
        comMan       = GameObject.FindGameObjectWithTag("Manager");
        combatScript = comMan.GetComponent <combatManagerScript>();

        //enemyTextObject = Find
        texts = GetComponentsInChildren <GUIText>();                    //Figuring out which script belongs to which variable through this array and 4 for-loops, checking for each script name.

        for (int i = 0; i < 4; i++)
        {
            if (texts[i].name == "enemyText")
            {
                enemyText = texts[i];
            }
        }
        for (int i = 0; i < 4; i++)
        {
            if (texts[i].name == "heroText")
            {
                heroText = texts[i];
            }
        }
        for (int i = 0; i < 4; i++)
        {
            if (texts[i].name == "enemyDamText")
            {
                enemyDamText = texts[i];
            }
        }
        for (int i = 0; i < 4; i++)
        {
            if (texts[i].name == "heroDamText")
            {
                heroDamText = texts[i];
            }
        }


        guiTexture.color   = Color.clear;               //Since the game does not start in combat, the text needs to be invisible.
        guiTexture.enabled = false;
        enemyText.color    = Color.clear;
        heroText.color     = Color.clear;
        enemyDamText.color = Color.clear;
        heroDamText.color  = Color.clear;
    }
        public void TestJump()
        {
            GameObject testObj = new GameObject("testGO");

            testObj.AddComponent <Rigidbody2D>();
            testObj.AddComponent <Animator>();
            HeroMovement heroMovement = testObj.AddComponent(typeof(HeroMovement)) as HeroMovement;

            Rigidbody2D rb2d = heroMovement.gameObject.GetComponent <Rigidbody2D>();

            Assert.AreEqual(rb2d.velocity.y, 0);

            heroMovement.Start();
            heroMovement.OnJump();

            Assert.Greater(rb2d.velocity.y, 0);
        }
Esempio n. 34
0
    public void CheckIfCanHire(TurnInfo player, string heroType)
    {
        if (player.wealth >= 50 && player.playerOwnedHeroes.Count < 7)
        {
            int i = MasterScript.RefreshCurrentSystem(GameObject.Find(player.homeSystem));

            GameObject instantiatedHero = (GameObject)Instantiate(MasterScript.heroGUI.heroObject, MasterScript.systemListConstructor.systemList[i].systemObject.transform.position,
                                                                  MasterScript.systemListConstructor.systemList[i].systemObject.transform.rotation);

            instantiatedHero.name = "Basic Hero_" + heroCounter;

            HeroScriptParent tempHero = instantiatedHero.GetComponent <HeroScriptParent>();

            tempHero.heroType = heroType;

            tempHero.heroLocation = MasterScript.systemListConstructor.systemList[i].systemObject;

            tempHero.heroOwnedBy = player.playerRace;

            HeroMovement tempMove = instantiatedHero.GetComponent <HeroMovement>();

            instantiatedHero.transform.position = tempMove.HeroPositionAroundStar(tempHero.heroLocation);

            ++heroCounter;

            player.wealth -= 50;

            player.playerOwnedHeroes.Add(instantiatedHero);

            switch (tempHero.heroType)
            {
            case "Soldier":
                tempHero.classModifier = 1.75f;
                break;

            case "Infiltrator":
                tempHero.classModifier = 1f;
                break;

            case "Diplomat":
                tempHero.classModifier = 1.5f;
                break;
            }
        }
    }
Esempio n. 35
0
    // Use this for initialization
    void Start()
    {
        numOfEnemies = 0;

        listOfEnemies [0] = 0;
        listOfEnemies [1] = 0;
        listOfEnemies [2] = 0;
        listOfEnemies [3] = 0;

        comPlayer  = GameObject.FindGameObjectWithTag("Player");
        heroScript = comPlayer.GetComponent <HeroMovement> ();

        cText = GameObject.Find("combatTextBox");
        t     = cText.GetComponent <combatTextScript>();

        vic     = GameObject.Find("VictoryConditionObject");
        vScript = vic.GetComponent <victoryScript>();
    }
Esempio n. 36
0
 // Use this for initialization
 void Start()
 {
     hero = FindObjectOfType<HeroMovement>();
     if (textFile != null)
     {
         textLines = (textFile.text.Split('\n'));
     }
     if(endAtLine == 0)
     {
         endAtLine = textLines.Length - 1;
     }
     if (isActive)
     {
         EnableTextBox();
     }
     else
     {
         DisableTextBox();
     }
 }
        private GameObject m_CanvasGameObject;                  // Used to disable the world space UI during the Starting and Ending phases of each round.


        public void Setup ()
        {
            // Get references to the components.
            m_Movement = m_Instance.GetComponent<HeroMovement> ();
            m_Shooting = m_Instance.GetComponent<HeroShooting> ();
            m_CanvasGameObject = m_Instance.GetComponentInChildren<Canvas> ().gameObject;

            // Set the player numbers to be consistent across the scripts.
            m_Movement.m_PlayerNumber = m_PlayerNumber;
            m_Shooting.m_PlayerNumber = m_PlayerNumber;

            // Create a string using the correct color that says 'PLAYER 1' etc based on the tank's color and the player's number.
            m_ColoredPlayerText = "<color=#" + ColorUtility.ToHtmlStringRGB(m_PlayerColor) + ">PLAYER " + m_PlayerNumber + "</color>";

            // Get all of the renderers of the tank.
            MeshRenderer[] renderers = m_Instance.GetComponentsInChildren<MeshRenderer> ();

            // Go through all the renderers...
            for (int i = 0; i < renderers.Length; i++)
            {
                // ... set their material color to the color specific to this tank.
                renderers[i].material.color = m_PlayerColor;
            }
        }
Esempio n. 38
0
    // Update is called once per frame
    void Update()
    {
        if (hm == null && ObstacleController.PLAYER != null)
        {
            hm = ObstacleController.PLAYER.GetComponent<HeroMovement>();
        }
        pZ = ObstacleController.PLAYER.transform.position.z;
        aZ = transform.position.z;

        if (pZ > levelLength && !LevelCreator.INF_MODE)
        {
            return;
        }

        dZ = pZ - aZ;

        speedMod = 1.05f * InfSpeedMod;

        if (dZ < VisibleDistance + 3)
        {
            SetFellowActive(true);
        }
        else
        {
            SetFellowActive(false);
        }

        if (!AreClose)
        {

            if (dZ < VisibleDistance)
            {
             //   SetFellowActive(true);
                AreClose = true;
                closeTimer = 0;
            }
            else
            {
              //  SetFellowActive(false);
                AreClose = false;
                GetTrampled = false;
            }

        }
        if (dZ <= 0)
        {
            if (!hm.dead)
                hm.Kill();
        }

        if (AreClose)
        {
            if (closeTimer < MaxClose)
            {
                closeTimer += Time.deltaTime;
                speedMod = 1;
            }
            else
            {
                GetTrampled = true;
                trampleSpeed = 1.05f;
                AreClose = false;
            }
        }

        if (GetTrampled)
        {
            speedMod = trampleSpeed;
            transform.position += (new Vector3(0, 0, hm.MoveSpeed * speedMod) * Time.deltaTime);
        }
        else
        {
            transform.position += (new Vector3(0, 0, AreClose ? Mathf.Min(hm.MoveSpeed, hm.CurrentSpeed) : hm.MoveSpeed * speedMod) * Time.deltaTime);
        }

        if (dZ < VisibleDistance + 3)
        {
            RaycastHit rh;
            Vector3 tmpPos = transform.position;
            tmpPos.y += 5;
            if (Physics.Raycast(tmpPos, Vector3.down, out rh, 6))
            {
                if (rh.collider.tag.Equals("Road"))
                {
                    transform.position = rh.point;
                }
            }
        }
    }
Esempio n. 39
0
 void Start()
 {
     hm = ObstacleController.PLAYER.GetComponent<HeroMovement>();
 }
Esempio n. 40
0
    // Update is called once per frame
    void Update()
    {
        if (hm == null)
            hm = ObstacleController.PLAYER.GetComponent<HeroMovement>();

        if (started)
        {
            screencountdown -= Time.deltaTime;
            if (screencountdown < 0)
            {
                screencountdown = 0;
                started = false;
            }
        }
        else if (lost)
        {
            prescreencountdown -= Time.deltaTime;
            if (prescreencountdown <= 0)
            {
                screencountdown -= Time.deltaTime;
                if (screencountdown < 0)
                {
                    screencountdown = 0;
                    CurrentGameState.highscorecondition = EndState.Lost;
                    if (CurrentGameState.InfiniteMode)
                        CompleteLevel();
                    else
                    {
                        CurrentGameState.currentScore = SCORE;
                        Application.LoadLevel(4);
                    }
                }
            }
        }

        if (!PERFECT_RUN && lcs.perfectRun)
        {
            lcs.perfectRun = false;
        }

        soldierAnim += Time.deltaTime;

        if (soldierAnim > 1)
            soldierAnim -= 1;

        currentZ = ObstacleController.PLAYER.transform.position.z;

        if (showLinger)
        {
            if (lingerTimer > ShowLingerTime)
            {
                engagePercent = 0;
                releasePercent = 0;
                fixedEngagePercent = 0;
                engageFixed = false;
                showLinger = false;
            }
            else
            {
                lingerTimer += Time.deltaTime;
            }
        }
    }
Esempio n. 41
0
    // Use this for initialization
    void Start()
    {
        int moduleCount = (int)LevelCreator.LengthConverter(LevelCreator.LEVEL_LENGTH);
        maxScore = moduleCount * 5000;

        maxZ = (moduleCount * 64) - 32;
        HitList = new List<HitAccuracy>();
        soldierAnim = 0;
        Screen.lockCursor = false;
        music.useGlobal = false;
        started = true;
        screencountdown = 1f;
        PERFECT_RUN = true;
        guin = GetComponent<GUINavigation>();
        guin.maxKeys = 0;
        lcs = GetComponent<LevelCompleteScript>();
        lost = false;
        prescreencountdown = 0f;
        countdown = 0;

        if (ObstacleController.PLAYER != null)
            hm = ObstacleController.PLAYER.GetComponent<HeroMovement>();
    }
Esempio n. 42
0
 void Start()
 {
     hero = FindObjectOfType<HeroMovement>();
 }
Esempio n. 43
0
    void Update()
    {
        if (Time.timeScale <= 0)
            return;

        if (hm.Charging)
        {
            charging = false;
            GUI.ResetBar();
            GUI.BarActive = false;
            anim.SetInteger("AttackState", 0);
        }

        //if (anim != null)
        //    print(anim.GetInteger("AttackState") + ", charging: " + charging);
        if (hm == null)
        {
            hm = ObstacleController.PLAYER.GetComponent<HeroMovement>();
            anim = ObstacleController.PLAYER.GetComponent<Animator>();
            anim.SetLayerWeight(1, 1);
            anim.SetLayerWeight(2, 1);
            anim.SetLayerWeight(3, 1);
        }

        if (Input.GetButtonDown("Fire1") && !hm.Charging)
        {
            //print("Fire1 down");
            // Start charging attack
            charging = true;
            chargePercent = 0;
            chargeTime = 0;
            GUI.BarActive = true;
            GUI.lastEngagePercent = 0;

            anim.SetInteger("AttackState", 1);
        }

        if (charging)
        {
            if (chargeTime > MaxCharge * 1.1f)
            {
                // Stop attacking - overcharged
                charging = false;
                GUI.ResetBar();
                GUI.BarActive = false;
                anim.SetInteger("AttackState", 0);
                return;
            }
            else
            {
                // Continue charging attack
                chargeTime += Time.deltaTime;

                //if (false)
                //{
                //    chargePercent = chargeTime;
                //}
                //else
                //{
                lastChargePercent = chargePercent;
                chargePercent = ChargeSmoothing(chargeTime);
                //}
                //print("ChargePercent: " + chargePercent);
                float percent = chargePercent * 100;
                if (lastChargePercent > chargePercent)
                {
                    percent = (1 + (1 - chargePercent)) * 100;
                }

                //print("chargePercent: " + chargePercent + ", percent: " + percent + ", time: " + chargeTime);
                GUI.engagePercent = percent;
            }
        }
        else if (anim != null && anim.GetInteger("AttackState") == 2)
        {
            if (attackAnimCountdown > 0)
                attackAnimCountdown -= Time.deltaTime;
            else
            {
                attackAnimCountdown = 0;
                anim.SetInteger("AttackState", 0);
            }
        }

        if (Input.GetButtonUp("Fire1"))
        {
            //print("Fire1 up");
            // Release attack - hit if in a collider box

            anim.SetInteger("AttackState", 2);
            attackAnimCountdown = attackAnimLength;
            GUI.ResetBar();
            GUI.BarActive = false;
            if (charging)
            {
                if (hitableEnemies.Count > 0)
                {
                    int ri = UnityEngine.Random.Range(0, 2);
                    if (ri == 1)
                        SoundKill1.Play();
                    else
                        SoundKill2.Play();

                    HitAccuracy ha = new HitAccuracy();
                    ha.Accuracy = chargePercent;
                    ha.NumberOfHits = hitableEnemies.Count;
                    ha.CurrentSpeed = hm.CurrentSpeed;

                    //print(ha.ToString());

                    hm.SpeedUp += 0.5f; //capped at 4.0f in the setter
                    if (!hm.Charging)
                    {
                        hm.Rage = Mathf.Min(hm.Rage + chargePercent / 5, 1);
                    }
                    GUI.AddHit(ha);
                    //   GUI.AttackFeedback(chargePercent);

                    if (chargePercent > MIN_CHARGE)
                    {
                        foreach (GameObject enemy in hitableEnemies)
                        {
                            KillEnemy(enemy);
                        }
                    }
                    hitableEnemies.Clear();
                }
                else
                {
                    HitAccuracy ha = new HitAccuracy();
                    ha.Accuracy = -1;
                    ha.NumberOfHits = 0;
                    ha.CurrentSpeed = hm.CurrentSpeed;
                    GUI.AddHit(ha);
                    if (!hm.complete && !hm.dead)
                        SoundMiss.Play();
                }
            }
            charging = false;
            GUI.lastEngagePercent = 0;
        }
    }
 private void Start()
 {
     Hero = FindObjectOfType <HeroMovement>();
 }
Esempio n. 45
0
    // Use this for initialization
    void Start()
    {
        if (ObstacleController.PLAYER != null)
        {
            hm = ObstacleController.PLAYER.GetComponent<HeroMovement>();
            anim = ObstacleController.PLAYER.GetComponent<Animator>();
            anim.SetInteger("AttackState", 0);
            anim.SetLayerWeight(1, 1);
            anim.SetLayerWeight(2, 1);
            anim.SetLayerWeight(3, 1);
        }
        attackAnimCountdown = 0f;
        AttackList = new List<GameObject>();
        GUI = Camera.mainCamera.GetComponent<GUIScript>();
        hitableEnemies = new List<GameObject>();
        //  Time.timeScale = 0.5f;
        LstSquQuadRegr solvr = new LstSquQuadRegr();
        solvr.AddPoints(0, 0);
        solvr.AddPoints(MaxCharge / 2, 1);
        solvr.AddPoints(MaxCharge, 0);
        a = (float)solvr.aTerm();
        b = (float)solvr.bTerm();
        c = (float)solvr.cTerm();

        //print("a: " + a + ", b: " + b + ", c: " + c);
    }