Exemplo n.º 1
0
        public void CloseHighlight(int heroId, StanceEnum stanceEnum)
        {
            for (int i = 0; i < platformItemList.Count; i++)
            {
                platformItemList[i].CloseHighlight();
            }

            int price = HeroConfig.GetHeroPrice(heroId);

            if (coin < price)
            {
                return;
            }

            Vector3 pos = Camera.main.ScreenToWorldPoint(Input.mousePosition);

            pos.z = 10;

            for (int i = 0; i < platformItemList.Count; i++)
            {
                if (platformItemList[i].hero == null && platformItemList[i].stance == stanceEnum)
                {
                    if (Vector3.Distance(platformItemList[i].transform.position, pos) < 1)
                    {
                        platformItemList[i].InstantiateHero(GetHeroPrefab(heroId));
                        CoinChange(-price);
                        return;
                    }
                }
            }
        }
Exemplo n.º 2
0
 public void ShowHighlight(StanceEnum stanceEnum)
 {
     for (int i = 0; i < platformItemList.Count; i++)
     {
         if (platformItemList[i].hero == null && platformItemList[i].stance == stanceEnum)
         {
             platformItemList[i].ShowHighlight();
         }
     }
 }
Exemplo n.º 3
0
    public static StanceBase GetStance(StanceEnum stance)
    {
        StanceBase res = null;

        for (int i = 0; i < ConfigData.StanceEnumList.Length; i++)
        {
            if (ConfigData.StanceEnumList[i].Type == stance)
            {
                res = ConfigData.StanceEnumList[i];
                break;
            }
        }

        return(res);
    }
Exemplo n.º 4
0
        public void Move(bool state, int heroId, StanceEnum stanceEnum)
        {
            if (state)
            {
                _dragObj = FightMgr.instance.GetHeroModel(heroId);

                FightMgr.instance.ShowHighlight(stanceEnum);
            }
            else
            {
                FightMgr.instance.CloseHighlight(heroId, stanceEnum);
                _dragObj.SetActive(false);
                _dragObj = null;
            }
        }
Exemplo n.º 5
0
 public MonsterData(int id, string roleName, int maxLife, float attackDistance,
                    int attack, int defense,
                    float attackInterval, StanceEnum stance, float speed)
 {
     AttackTarget          = AttackTargetEnum.Player;
     RoleName              = roleName;
     Id                    = id;
     Ascription            = AscriptionEnum.Monster;
     Life                  = maxLife;
     MaxLife               = maxLife;
     Alive                 = true;
     AttackDistance        = attackDistance;
     Attack                = attack;
     Defense               = defense;
     AttackInterval        = attackInterval;
     CurrentAttackInterval = 0;
     this.Stance           = stance;
     this.speed            = speed;
 }
Exemplo n.º 6
0
 public HeroData(int id, string roleName, AttackTargetEnum attackTargetEnum, int maxLife, int maxEnergy,
                 int attack, int defense, float attackDistance, float attackInterval, OccupationEnum occupation,
                 StanceEnum stance)
 {
     Alive                 = true;
     Id                    = id;
     RoleName              = roleName;
     AttackTarget          = attackTargetEnum;
     MaxLife               = maxLife;
     Life                  = maxLife;
     MaxEnergy             = maxEnergy;
     Energy                = 0;
     Attack                = attack;
     Defense               = defense;
     AttackDistance        = attackDistance;
     AttackInterval        = attackInterval;
     Occupation            = occupation;
     Stance                = stance;
     Ascription            = AscriptionEnum.Player;
     CurrentAttackInterval = 0;
 }
Exemplo n.º 7
0
        public MonsterControl GetMonsterTarget(Vector3 pos, float distance, StanceEnum stanceEnum)
        {
            if (sceneMonsterList.Count <= 0)
            {
                return(null);
            }

            for (int i = 0; i < sceneMonsterList.Count; i++)
            {
                if (Vector3.Distance(pos, sceneMonsterList[i].transform.position) < distance)
                {
                    if (stanceEnum == StanceEnum.None || stanceEnum == sceneMonsterList[i].data.Stance)
                    {
                        if (sceneMonsterList[i].data.Alive)
                        {
                            return(sceneMonsterList[i]);
                        }
                    }
                }
            }

            return(null);
        }
Exemplo n.º 8
0
        public HeroControl GetHeroTarget(Vector3 pos, float distance, StanceEnum stanceEnum)
        {
            for (int i = 0; i < platformItemList.Count; i++)
            {
                if (platformItemList[i].stance != stanceEnum)
                {
                    continue;
                }

                if (platformItemList[i].CheckoutHero())
                {
                    if (Vector3.Distance(pos, platformItemList[i].transform.position) < distance)
                    {
                        if (platformItemList[i].heroControl.data.Alive)
                        {
                            return(platformItemList[i].heroControl);
                        }
                    }
                }
            }

            return(null);
        }
Exemplo n.º 9
0
 public static float GetReinforce(StanceEnum stance1, StanceEnum stance2)
 {
     return(DataUtils.GetStance(stance1).ReinForce[stance2]);
 }
Exemplo n.º 10
0
 public void StanceChange(BaseCharacter target, StanceEnum stance)
 {
     RenderMessage("{0} changed its stance to {1}", new object[] { target.Name, stance });
     target.Stance = (int)stance;
 }