Esempio n. 1
0
        private void FixedUpdate()
        {
            if (animState)
            {
                return;
            }

            if (data == null)
            {
                return;
            }

            if (!data.Alive)
            {
                return;
            }

            if (data.CurrentAttackInterval > 0)
            {
                data.CurrentAttackInterval -= Time.fixedDeltaTime;
            }

            if (targetControl == null)
            {
                targetControl = FightMgr.instance.GetHeroTarget(transform.position, data.AttackDistance, data.Stance);
                OnMoveForTarget();
            }
            else
            {
                Attack();
            }
        }
Esempio n. 2
0
        public Config(UnitsControlPlus main)
        {
            Main   = main;
            Screen = new Vector2(Drawing.Width - 160, Drawing.Height);

            Factory = MenuFactory.CreateWithTexture("UnitsControlPlus", "unitscontrolplus");
            Factory.Target.SetFontColor(Color.Aqua);

            ControllableMenu  = Factory.Menu("Controllable Heroes");
            ControlHeroesItem = ControllableMenu.Item("Control Heroes", false);

            var DrawingMenu = Factory.Menu("Drawing");

            TextItem  = DrawingMenu.Item("Text", true);
            TextXItem = DrawingMenu.Item("X", new Slider(0, 0, (int)Screen.X - 60));
            TextYItem = DrawingMenu.Item("Y", new Slider(0, 0, (int)Screen.Y - 200));

            RadiusTargetUnitsItem = Factory.Item("Radius from Target to Units", new Slider(5000, 0, 10000));
            RadiusTargetUnitsItem.Item.SetTooltip("Activation for Units from Target Radius");
            PressKeyItem     = Factory.Item("Press Key", new KeyBind('0'));
            PressTargetItem  = Factory.Item("Press Target", new StringList("Lock", "Default"));
            ToggleKeyItem    = Factory.Item("Toggle Key", new KeyBind('0', KeyBindType.Toggle, false));
            ChangeTargetItem = Factory.Item("Change Target Key", new KeyBind('0'));
            FollowKeyItem    = Factory.Item("Follow Key", new KeyBind('0', KeyBindType.Toggle, false));

            ControlWithoutTargetItem = Factory.Item("Control Without Target in Radius", new Slider(5000, 0, 10000));
            ControlWithoutTargetItem.Item.SetTooltip("Control all Units in this radius, if there is no Target");
            WithoutTargetItem = Factory.Item("Without Target", new StringList("Move Mouse Position", "Follow on Hero", "None"));

            Mode        = new Mode(this);
            FollowMode  = new FollowMode(this);
            HeroControl = new HeroControl(this);
            UpdateMode  = new UpdateMode(this);
            Renderer    = new Renderer(this);
        }
Esempio n. 3
0
    public void Damaged()
    {
        Debug.Log("monster hitted");

        GameObject  Hero         = GameObject.Find("Hero");
        HeroControl mHeroControl = Hero.GetComponent <HeroControl> ();

        saveDamageTextForShow = mHeroControl.GetRandomDamage();
        mIn_GameManager.mIngTextMassage.text = "적에게 데미지:" + saveDamageTextForShow + "를 주었다.";

        mHP -= saveDamageTextForShow;

        monsterHPtext.text = mHP.ToString();

        mAnimator.SetTrigger("Damaged");

        Debug.Log("last hp =" + mHP);

        // 사망처리
        if (mHP <= 0)
        {
            mStatus = Status.Dead;
            mHP     = 0;
            mIn_GameManager.mIngTextMassage.text = "적을 물리쳤다.";
            SingleTargeted = false;
            AllTargeted    = false;
            mAnimator.SetTrigger("Dead");
            TargetNumber = -1;             //더이상 타겟이 아님요...
            Debug.Log("Dead");
            mIn_GameManager.ReAutoTarget();
            Destroy(gameObject, 1);
        }
    }
Esempio n. 4
0
File: Hero.cs Progetto: Kinderril/p3
//    public float CurrenthBonus
//    {
//        get { return currenthBonus; }
//        set
//        {
//            currenthBonus = value;
//            if (CurrentBonusUpdateX != null)
//            {
//                CurrentBonusUpdateX( currenthBonus );
//            }
//        }
//    }

    public void Init(Level lvl)
    {
        base.Init();
        var playerData = MainController.Instance.PlayerData;
        var allWeared = playerData.GetAllWearedItems();
        var notBonuses = allWeared.Where(x => x.Slot != Slot.bonus);
        var bonuses = allWeared.Where(x => x.Slot == Slot.bonus);
        foreach (var allWearedItem in notBonuses)
        {
            allWearedItem.Activate(this, lvl);
        }
        foreach (var bonuseItem in bonuses)
        {
            bonuseItem.Activate(this, lvl);
        }

        foreach (ParamType v in Enum.GetValues(typeof(ParamType)))
        {
            Parameters[v] = playerData.CalcParameter(v);
            Debug.Log("Calc parameter: " + v + " : " + Parameters[v]);
        }
        curHp = Parameters[ParamType.Heath];
        Parameters[ParamType.Speed] /= Formuls.SpeedCoef; ;
//        Parameters.Parameters[ParamType.PPower] *= (damageBonusFromItem + 1f);
//        Parameters.Parameters[ParamType.MPower] *= (damageBonusFromItem + 1f);
//        GetItemEffect.Stop(true);
        heorControl = Control as HeroControl;
        heorControl.Init(OnRotationEnds);
        Utils.GroundTransform(transform);
    }
Esempio n. 5
0
 // Use this for initialization
 void Awake()
 {
     startHP  = 5;
     hp       = startHP;
     isDead   = false;
     lastHero = this;
 }
Esempio n. 6
0
 public void AddNewHero(HeroControl hero)
 {
     if (Pursuer.IndexOf(hero) == -1)
     {
         Pursuer.Add(hero);
     }
 }
Esempio n. 7
0
        public override void Attack()
        {
            if (!targetControl.data.Alive)
            {
                targetControl = null;
                return;
            }

            if (targetControl != null && targetControl.data.Alive)
            {
                if (data.CurrentAttackInterval <= 0)
                {
                    Debug.Log("怪物:攻击");
                    if (targetControl != null)
                    {
                        if (targetControl.transform.position.x > transform.position.x)
                        {
                            renderer.flipX = false;
                        }
                        else
                        {
                            renderer.flipX = true;
                        }
                    }
                    //攻击
                    Damage();
                    data.CurrentAttackInterval = data.AttackInterval;
                }
            }
        }
Esempio n. 8
0
 // Use this for initialization
 void Start()
 {
     hero_     = GameObject.Find("Hero").GetComponent <HeroControl>();
     heroPre   = GameObject.Find("Hero");
     samen     = GameObject.Find("saman");
     anim      = this.GetComponent <Animator>();
     deadSound = GetComponent <AudioSource>();
 }
Esempio n. 9
0
 void Start()
 {
     instance          = this;
     heroStrong        = FindObjectOfType <HeroStrong>();
     heroFast          = FindObjectOfType <HeroFast>();
     heroStrongControl = heroStrong.GetComponent <HeroControl>();
     heroFastControl   = heroFast.GetComponent <HeroControl>();
 }
Esempio n. 10
0
        public void InstantiateHero(GameObject heroModel)
        {
            hero = Instantiate(heroModel, transform);

            heroControl = hero.GetComponent <HeroControl>();
            heroControl.SetPos();
            hero.SetActive(true);
        }
Esempio n. 11
0
    // Use this for initialization
    void Start()
    {
        mControl = gameObject.AddComponent<HeroControl> () as HeroControl;
        mControl.mHero = this;
        mMotion = gameObject.AddComponent<HeroMotion> () as HeroMotion;
        mMotion.mHero = this;
        mProperty = gameObject.AddComponent<HeroProperty> () as HeroProperty;

        mAnimator = gameObject.GetComponent<Animator>() as Animator;
    }
Esempio n. 12
0
 public void UpdateHeroes(HeroControl heroControl)
 {
     foreach (var element in heroWrapPanel.Children)
     {
         if ((element as HeroControl) != heroControl && viewModel.CheckHero((element as HeroControl).GetHero()))
         {
             (element as HeroControl).ResetExcretion();
         }
     }
 }
Esempio n. 13
0
    // Use this for initialization
    void Start()
    {
        mControl       = gameObject.AddComponent <HeroControl> () as HeroControl;
        mControl.mHero = this;
        mMotion        = gameObject.AddComponent <HeroMotion> () as HeroMotion;
        mMotion.mHero  = this;
        mProperty      = gameObject.AddComponent <HeroProperty> () as HeroProperty;


        mAnimator = gameObject.GetComponent <Animator>() as Animator;
    }
Esempio n. 14
0
    //Стандартна функція, яка викличеться,
    //коли поточний об’єкт зіштовхнеться із іншим
    void OnTriggerEnter2D(Collider2D collider)
    {
        //Намагаємося отримати компонент кролика
        HeroControl hero = collider.GetComponent <HeroControl>();

        //Впасти міг не тільки кролик
        if (hero != null)
        {
            //Повідомляємо рівень, про смерть кролика
            LevelController.current.onHeroDeath(hero);
        }
    }
Esempio n. 15
0
    public void OnTriggerEnter(Collider other)
    {
        //When I detect the enemy base, I will explode and do some damage based on my own AD
        //In future releases, I will keep attacking the base until someone comes after me


        //If we find an enemy, we update the list, and update the objective of NavMesh
        if ((gameObject.tag).Equals("Demacia") && (other.gameObject.tag).Equals("Noxus") ||
            (gameObject.tag).Equals("Noxus") && (other.gameObject.tag).Equals("Demacia"))
        {
            //Find amount of soldiers already attackin detected enemy, to check if we should attack as well
            HeroControl tmp = (other.transform.gameObject).GetComponent <HeroControl>();
            if (tmp.getEnemiesAmt() < 2)
            {
                enemyFound = true;
                bool addedHimAlready = false;

                for (int i = 0; i < detectedEnemies.Count; i++)
                {
                    if (detectedEnemies[i] == other.gameObject)
                    {
                        addedHimAlready = true;
                    }
                }

                if (!addedHimAlready)
                {
                    detectedEnemies.Add(other.gameObject);
                }
            }
            chooseNextPath();
        }
        //If we get to the position that we were walking to, find next Path to move to
        else if (objective != null && (other.gameObject.name).Equals(objective.name) && !movingToEnemy)
        {
            if ((hero.Faction).Equals(UnitType.NOXUS))
            {
                reachedPosition++;
            }
            else
            {
                reachedPosition--;
            }
            chooseNextPath();
        }
        else if (objective == null)
        {
            chooseNextPath();
        }
    }
Esempio n. 16
0
    void enabledMoving()
    {
        this.gameObject.GetComponent <CapsuleCollider2D>().isTrigger = true;

        GameObject  hero = GameObject.Find("main_hero");
        HeroControl move = hero.GetComponent <HeroControl>();

        move.enabled = false;

        HeroJump jump = hero.GetComponent <HeroJump>();

        jump.enabled = false;

        HeroAttack attack = hero.GetComponent <HeroAttack>();

        attack.enabled = false;
    }
Esempio n. 17
0
    public override void Init()
    {
        base.Init();
        var playerData = MainController.Instance.PlayerData;
        foreach (ParamType v in Enum.GetValues(typeof(ParamType)))
        {
            Parameters.Parameters[v] = playerData.CalcParameter(v);
            Debug.Log("Calc parameter: " + v + " : " + Parameters.Parameters[v]);
        }
        curHp = Parameters.Parameters[ParamType.Hp];

        Parameters.Parameters[ParamType.PPower] *= damageBonusFromItem + 1f;
        Parameters.Parameters[ParamType.MPower] *= damageBonusFromItem + 1f;
//        GetItemEffect.Stop(true);
        heorControl = Control as HeroControl;
        heorControl.Init(OnRotationEnds);
        Utils.GroundTransform(transform);
    }
Esempio n. 18
0
    void OnTriggerEnter2D(Collider2D collider)
    {
        //Намагаємося отримати компонент кролика
        HeroControl hero = collider.GetComponent <HeroControl>();

        //Впасти міг не тільки кролик
        if (hero != null)
        {
            if (once == 1)
            {
                attackSource.Play();
                Vector3 temp = new Vector3(0, 0, -1f);
                LevelController.current.setStartPosition(transform.position + temp);
                Animator animator = GetComponent <Animator>();
                animator.SetBool("fire", true);
                once = 0;
            }
        }
    }
Esempio n. 19
0
    private HeroControl GetNearestHeroMag(HexagonControl hexagon)
    {
        HeroControl heroControl = null;
        float       Magnitude   = float.PositiveInfinity;

        for (int i = 0; i < _listHero.Count; i++)
        {
            float magnitude = 0;

            magnitude += (hexagon.position - (Vector2)_listHero[i].transform.position).magnitude;

            if (Magnitude > magnitude)
            {
                Magnitude   = magnitude;
                heroControl = _listHero[i];
            }
        }
        return(heroControl);
    }
Esempio n. 20
0
    void Start()
    {
        Dbg.Log(this, "Start");

        hero        = GameObject.FindGameObjectWithTag("Player");
        messageText = GameObject.Find("MessageText").GetComponent <Text> ();

        messageText.text = "\n\n\nSmall Worlds!\nMade by @damrem in 48h for #ld38.\n\n\nUse arrow keys to move.\nYou can 'multi-jump'.\n\n\nMusic by @Ynck_33.";

        heroControl = hero.GetComponent <HeroControl> ();
        heroControl.moved.AddListener(ClearMessage);

        heroGravityAttracted = hero.GetComponent <GravityAttracted> ();

        sfxSource = GetComponent <AudioSource> ();

        planets = GetComponentsInChildren <PlanetView> ();

        isOver = false;
    }
Esempio n. 21
0
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Collider2D Collider = Physics2D.OverlapPoint(_camera.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, -100)));
            if (Collider != null)
            {
                if (Collider.gameObject.tag == "Hero")
                {
                    _heroControl = Collider.gameObject.GetComponentInParent <HeroControl>();
                }
            }
        }
        else if (Input.GetMouseButtonUp(0))
        {
            Collider2D Collider = Physics2D.OverlapPoint(_camera.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, -100)));

            if (_heroControl != null)
            {
                if (Collider != null)
                {
                    var Hexagon = Collider.GetComponent <HexagonControl>();

                    if ((Collider.gameObject.layer == 9 || Collider.gameObject.layer == 10) && Hexagon.TypeHexagon != 1)
                    {
                        _heroControl.DisConectEnemy();
                        _heroControl.StartWay(Hexagon);
                    }
                    else if (Collider.tag == "Enemy")
                    {
                        var Enemy = Collider.GetComponent <EnemyControl>();

                        _heroControl.StartWayEnemy(Enemy);
                    }
                }
            }
            _heroControl = null;
        }
    }
Esempio n. 22
0
    private HeroControl GetNearestHero(HexagonControl hexagon)
    {
        HeroControl heroControl = null;
        float       Magnitude   = float.PositiveInfinity;

        for (int i = 0; i < _listHero.Count; i++)
        {
            List <HexagonControl> listHex = new List <HexagonControl>();
            listHex.AddRange(hexagon.GetWay(_listHero[i].HexagonMain()));
            float magnitude = 0;

            for (int j = 0; j < listHex.Count - 1; j++)
            {
                magnitude += (listHex[j].position - listHex[j + 1].position).magnitude;
            }

            if (Magnitude > magnitude)
            {
                Magnitude   = magnitude;
                heroControl = _listHero[i];
            }
        }
        return(heroControl);
    }
Esempio n. 23
0
    void FixedUpdate()
    {
        Animator animator = GetComponent <Animator>();

        if (isDead == true)
        {
            // myBody.simulated=false;
            HeroControl hero = GetComponent <HeroControl>();
            animator.SetBool("dead", true);
            timer -= Time.deltaTime;
            if (timer <= 0)
            {
                LevelController.current.onHeroDeath(hero);
                timer   = time_to_wait;
                isDead  = false;
                startHP = 5;
                hp      = startHP;
            }
        }
        else
        {
            myBody.simulated = true;
            animator.SetBool("dead", false);
        }
        if (isDead == true)
        {
            return;
        }

        Vector3 from     = transform.position + Vector3.up * 0.1f;
        Vector3 to       = transform.position + Vector3.down * 0.2f;
        int     layer_id = 1 << LayerMask.NameToLayer("Ground");



        RaycastHit2D hit = Physics2D.Linecast(from, to, layer_id);

        if (hit)
        {
            //Перевіряємо чи ми опинились на платформі
            if (hit.transform != null &&
                hit.transform.GetComponent <MovingPlatform>() != null)
            {
                //Приліпаємо до платформи
                SetNewParent(this.transform, hit.transform);
            }
        }
        else
        {
            //Ми в повітрі відліпаємо під платформи
            SetNewParent(this.transform, this.heroParent);
        }

        if (hit)
        {
            isGrounded = true;
        }
        else
        {
            isGrounded = false;
        }
        //Намалювати лінію (для розробника)
        Debug.DrawLine(from, to, Color.red);
        if (Input.GetButtonDown("Jump") && isGrounded)
        {
            this.JumpActive = true;
        }
        if (this.JumpActive)
        {
            //Якщо кнопку ще тримають
            if (Input.GetButton("Jump"))
            {
                this.JumpTime += Time.deltaTime;
                if (this.JumpTime < this.MaxJumpTime)
                {
                    Vector2 vel = myBody.velocity;
                    vel.y           = JumpSpeed * (1.0f - JumpTime / MaxJumpTime);
                    myBody.velocity = vel;
                }
            }
            else
            {
                this.JumpActive = false;
                this.JumpTime   = 0;
            }
        }


        if (this.isGrounded)
        {
            animator.SetBool("jump", false);
        }
        else
        {
            animator.SetBool("jump", true);
        }

        //[-1, 1]
        float value = Input.GetAxis("Horizontal");



        if (Mathf.Abs(value) > 0)
        {
            Vector2 vel = myBody.velocity;
            vel.x           = value * speed;
            myBody.velocity = vel;
            animator.SetBool("run", true);
        }
        else
        {
            animator.SetBool("run", false);
        }
        SpriteRenderer sr = GetComponent <SpriteRenderer>();

        if (value < 0)
        {
            sr.flipX = true;
        }
        else if (value > 0)
        {
            sr.flipX = false;
        }
    }
Esempio n. 24
0
 public void StartWay(HeroControl hero)
 {
     IMoveMain.StartWay(hero.IControlMain.HexagonMain(), hero.IMoveMain);
 }
Esempio n. 25
0
 protected override void OnHeroHit(HeroControl hero)
 {
     attackSource.Play();
     up = true;
 }
Esempio n. 26
0
 public void RemoveHero(HeroControl hero)
 {
     Pursuer.Remove(hero);
 }
Esempio n. 27
0
 void OnClick2()
 {
     HeroControl.settype(false);
     down = true;
 }
Esempio n. 28
0
 void OnClick1()
 {
     HeroControl.settype(true);
     down = true;
 }
Esempio n. 29
0
 private void Start()
 {
     hero = GameObject.FindGameObjectWithTag("hero").GetComponent <HeroControl>();
 }
Esempio n. 30
0
 protected override void OnHeroHit(HeroControl hero)
 {
     this.CollectedHide();
 }
Esempio n. 31
0
 public void RemoveHero(HeroControl heroControl)
 {
     _listHero.Remove(heroControl);
 }
Esempio n. 32
0
 public void CancelHero()
 {
     Destroy(hero);
     hero        = null;
     heroControl = null;
 }
 private void Awake()
 {
     //获取主角的游戏物体
     hero = GameObject.FindGameObjectWithTag("hero");
     hc   = hero.GetComponent <HeroControl>();
 }