Пример #1
0
        public void InitCustom(GuestInfoRecord guestInfo)
        {
            _ShowGuest = guestInfo;

            if (_ShowGuest != null)
            {
                gameObject.SetActive(true);

                _CustomAtractAttrs.InitContentItem(GetSortedAtractAttr());
                _CustomPointAttrs.InitContentItem(GetSortedPointAttr());

                _CustomLikeSkill.InitContentItem(guestInfo.GetNotNullSkills());

                if (_CustomAnimation != null)
                {
                    _CustomAnimation.ShowCustomCount(guestInfo.GuestNum);

                    _CustomAnimation.StartPlaySwing();
                }
            }
            else
            {
                gameObject.SetActive(false);
            }
        }
Пример #2
0
 public void Calculate(GirlMemberInfo girl, GuestInfoRecord guest, SkillInfoRecord skill, int orgAttract, int orgPoint, out int outAttract, out int outPoint)
 {
     outAttract = orgAttract;
     outPoint   = orgPoint;
     //foreach (var buff in skill.Buffs)
     {
         _BuffManager.Calculate(girl, guest, skill.Buffs[0], orgAttract, orgPoint, out outAttract, out outPoint);
     }
 }
Пример #3
0
        public GuestInfoRecord GetSpecilGuest()
        {
            if (_SpecilGuest == null && string.IsNullOrEmpty(_SpecilGuestID))
            {
                InitSpecilStage();
            }
            else if (_SpecilGuest == null && !string.IsNullOrEmpty(_SpecilGuestID))
            {
                _SpecilGuest = TableReader.GuestInfo.GetRecord(_SpecilGuestID);
            }

            return(_SpecilGuest);
        }
Пример #4
0
        //return delta between origin and new

        #endregion

        #region cal result

        public int[] CalculateAttractValue(GuestInfoRecord guestInfo, out int[] attractBase, out int[] attractFinal)
        {
            int attractValue = 0;

            attractBase  = new int[MAX_FIGHT_GIRL_COUNT + 1];
            attractFinal = new int[MAX_FIGHT_GIRL_COUNT + 1];

            for (int i = 0; i < MAX_FIGHT_GIRL_COUNT; ++i)
            {
                if (_FightingGirls.Count > i)
                {
                    attractValue += (int)(guestInfo.Attr1AAttract * _FightingGirls[i].Attr1A);
                    attractValue += (int)(guestInfo.Attr1BAttract * _FightingGirls[i].Attr1B);
                    attractValue += (int)(guestInfo.Attr2AAttract * _FightingGirls[i].Attr2A);
                    attractValue += (int)(guestInfo.Attr2BAttract * _FightingGirls[i].Attr2B);
                    attractValue += (int)(guestInfo.Attr3AAttract * _FightingGirls[i].Attr3A);
                    attractValue += (int)(guestInfo.Attr3BAttract * _FightingGirls[i].Attr3B);
                }
                attractBase[i]  = attractValue;
                attractFinal[i] = attractValue;

                if (SkillManager.CanGirlSkillUse(_FightingGirls[i], _FightingGirls[i].GirlInfoRecord.Skills[0], _FightingGirls))
                {
                    int exAttract = 0;
                    int exPoint   = 0;
                    _SkillManager.Calculate(_FightingGirls[i], guestInfo, _FightingGirls[i].GirlInfoRecord.Skills[0], attractValue, 0, out exAttract, out exPoint);
                    attractFinal[i] = exAttract;
                }
            }

            for (int i = 0; i < 3; ++i)
            {
                attractBase[3]  += attractBase[i];
                attractFinal[3] += attractFinal[i];
            }

            return(attractBase);
        }
Пример #5
0
        private void InitSpecilStage()
        {
            var spGuests = TableReader.GuestInfo.GetSpecilGuests();

            if (spGuests.Count <= 0)
            {
                return;
            }

            var randomIdx = UnityEngine.Random.Range(0, spGuests.Count);

            _SpecilGuest = spGuests[randomIdx];

            if (_FightingGrilIDs != null)
            {
                _FightingGrilIDs.Clear();
            }

            if (_FightingGirls != null)
            {
                _FightingGirls.Clear();
            }
        }
Пример #6
0
        public int[] CalculatePointValue(GuestInfoRecord guestInfo, int guestCount, out int[] pointBase, out int[] pointFinal)
        {
            int pointValue = 0;

            pointBase  = new int[FightManager.ROUND_CALCULATE_COUNT + 1];
            pointFinal = new int[FightManager.ROUND_CALCULATE_COUNT + 1];

            for (int i = 0; i < MAX_FIGHT_GIRL_COUNT; ++i)
            {
                if (_FightingGirls.Count > i)
                {
                    pointValue += (int)(guestInfo.Attr1APoint * _FightingGirls[i].Attr1A);
                    pointValue += (int)(guestInfo.Attr1BPoint * _FightingGirls[i].Attr1B);
                    pointValue += (int)(guestInfo.Attr2APoint * _FightingGirls[i].Attr2A);
                    pointValue += (int)(guestInfo.Attr2BPoint * _FightingGirls[i].Attr2B);
                    pointValue += (int)(guestInfo.Attr3APoint * _FightingGirls[i].Attr3A);
                    pointValue += (int)(guestInfo.Attr3BPoint * _FightingGirls[i].Attr3B);
                }
                pointBase[i]  = pointValue;
                pointFinal[i] = pointValue;

                if (SkillManager.CanGirlSkillUse(_FightingGirls[i], _FightingGirls[i].GirlInfoRecord.Skills[0], _FightingGirls))
                {
                    int exAttract = 0;
                    int exPoint   = 0;
                    _SkillManager.Calculate(_FightingGirls[i], guestInfo, _FightingGirls[i].GirlInfoRecord.Skills[0], 0, pointValue, out exAttract, out exPoint);
                    pointFinal[i] = exPoint;
                }
            }
            for (int i = 0; i < 3; ++i)
            {
                pointBase[3]  += pointBase[i];
                pointFinal[3] += pointFinal[i];
            }

            return(pointBase);
        }
Пример #7
0
        //public override GuestInfoRecord GetGuest()
        //{
        //    return _ObjRecord.GuestInfo;
        //}

        //public override List<FightGirlInfo> GetEnemyGirl()
        //{

        //    FightGirlInfo fightGirl = new FightGirlInfo(_ObjRecord.GirlInfo.Id);
        //    List<FightGirlInfo> fightgirls = new List<FightGirlInfo>();
        //    fightgirls.Add(fightGirl);
        //    return fightgirls;
        //}
        public override GuestInfoRecord GetGuest()
        {
            GuestInfoRecord guestRecord = new GuestInfoRecord(null);

            int num = Random.Range(1, 6);

            guestRecord.GuestNum = num;

            int randomAttr = Random.Range(0, 3);

            for (int i = 0; i < 3; ++i)
            {
                if (i == randomAttr)
                {
                    continue;
                }

                int isA = Random.Range(0, 2);
                if (i == 0 && isA == 1)
                {
                    guestRecord.Attr1AAttract = 10;
                }
                else if (i == 0 && isA == 0)
                {
                    guestRecord.Attr1BAttract = 10;
                }
                else if (i == 1 && isA == 1)
                {
                    guestRecord.Attr2AAttract = 10;
                }
                else if (i == 1 && isA == 0)
                {
                    guestRecord.Attr2BAttract = 10;
                }
                else if (i == 2 && isA == 1)
                {
                    guestRecord.Attr3AAttract = 10;
                }
                else if (i == 2 && isA == 0)
                {
                    guestRecord.Attr3BAttract = 10;
                }
            }

            randomAttr = Random.Range(0, 3);
            for (int i = 0; i < 3; ++i)
            {
                if (i == randomAttr)
                {
                    continue;
                }

                int isA = Random.Range(0, 2);
                if (i == 0 && isA == 1)
                {
                    guestRecord.Attr1APoint = 10;
                }
                else if (i == 0 && isA == 0)
                {
                    guestRecord.Attr1BPoint = 10;
                }
                else if (i == 1 && isA == 1)
                {
                    guestRecord.Attr2APoint = 10;
                }
                else if (i == 1 && isA == 0)
                {
                    guestRecord.Attr2BPoint = 10;
                }
                else if (i == 2 && isA == 1)
                {
                    guestRecord.Attr3APoint = 10;
                }
                else if (i == 2 && isA == 0)
                {
                    guestRecord.Attr3BPoint = 10;
                }
            }

            return(guestRecord);
        }
Пример #8
0
        public override void Calculate(GirlMemberInfo girl, GuestInfoRecord guest, BuffInfoRecord buff, int orgAttract, int orgPoint, out int outAttract, out int outPoint)
        {
            Impact_ModifyCulRecord impactRecord = TableReader.Impact_ModifyCul.GetRecord(buff.Impact.ID);

            int valueAttract = 0;
            int valuePoint   = 0;

            outAttract = orgAttract;
            outPoint   = orgPoint;
            switch (impactRecord.ActTarget)
            {
            case IMPACT_MODIFY_TARGET.ATTR1A:
                valueAttract = (int)(girl.Attr1A * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr1AAttract);
                valuePoint   = (int)(girl.Attr1A * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr1APoint);
                outAttract  += valueAttract;
                outPoint    += valuePoint;
                break;

            case IMPACT_MODIFY_TARGET.ATTR1B:
                valueAttract = (int)(girl.Attr1B * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr1BAttract);
                valuePoint   = (int)(girl.Attr1B * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr1BPoint);
                outAttract  += valueAttract;
                outPoint    += valuePoint;
                break;

            case IMPACT_MODIFY_TARGET.ATTR2A:
                valueAttract = (int)(girl.Attr2A * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr2AAttract);
                valuePoint   = (int)(girl.Attr2A * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr2APoint);
                outAttract  += valueAttract;
                outPoint    += valuePoint;
                break;

            case IMPACT_MODIFY_TARGET.ATTR2B:
                valueAttract = (int)(girl.Attr2B * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr2BAttract);
                valuePoint   = (int)(girl.Attr2B * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr2BPoint);
                outAttract  += valueAttract;
                outPoint    += valuePoint;
                break;

            case IMPACT_MODIFY_TARGET.ATTR3A:
                valueAttract = (int)(girl.Attr2A * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr2AAttract);
                valuePoint   = (int)(girl.Attr2A * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr2APoint);
                outAttract  += valueAttract;
                outPoint    += valuePoint;
                break;

            case IMPACT_MODIFY_TARGET.ATTR3B:
                valueAttract = (int)(girl.Attr3B * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr3BAttract);
                valuePoint   = (int)(girl.Attr3B * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr3BPoint);
                outAttract  += valueAttract;
                outPoint    += valuePoint;
                break;

            case IMPACT_MODIFY_TARGET.ATTRACK:
                valueAttract = (int)(orgAttract * ((impactRecord.ActPersent + 10000) * 0.0001f));
                outAttract   = valueAttract;
                break;

            case IMPACT_MODIFY_TARGET.POINT:
                valuePoint = (int)(orgPoint * ((impactRecord.ActPersent + 10000) * 0.0001f));
                outPoint   = valuePoint;
                break;
            }
        }
Пример #9
0
 public void ShowCustom(GuestInfoRecord guestInfo)
 {
     InitCustom(guestInfo);
 }
Пример #10
0
 public void InitCustom()
 {
     _ShowGuest = FightStagePack.Instance.GetSpecilGuest();
     _CustomPointAttrs.InitContentItem(GetSortedPointAttr());
 }
Пример #11
0
 public virtual void Calculate(GirlMemberInfo girl, GuestInfoRecord guest, BuffInfoRecord buff, int orgAttract, int orgPoint, out int outAttract, out int outPoint)
 {
     outAttract = orgAttract;
     outPoint   = orgPoint;
 }
Пример #12
0
        public void Calculate(GirlMemberInfo girl, GuestInfoRecord guest, BuffInfoRecord buffRecord, int orgAttract, int orgPoint, out int outAttract, out int outPoint)
        {
            var buffBase = (BuffImpact_Base)System.Activator.CreateInstance(System.Type.GetType("GameLogic." + buffRecord.Impact.TableName));

            buffBase.Calculate(girl, guest, buffRecord, orgAttract, orgPoint, out outAttract, out outPoint);
        }