예제 #1
0
    public static void DoItList()
    {
        bool b = false;

        if (!b)
        {
            return;
        }


        DesignConstStorage.DoItList();
    }
예제 #2
0
    private void MoveCar()
    {
        switch (d_State)
        {
        case Drive_State.Wait:
            return;

        case Drive_State.Acceleration:
        case Drive_State.Deceleration:
            break;

        case Drive_State.Out_of_control:
            //여기서는 그냥 뺑뺑이로 밖으로 튀어나가는 연출 보여줄거고
            //카메라는 고정시킨다.
            //그리고 차가 카메라 밖으로 나가면 레이스 끝내는걸로
            if (!isGamePlaying)
            {
                return;
            }
            m_State = Moving_State.OutOfControl;
            RaceEnd(FinishType.OutOfControl);
            break;

        default:
            Debug.LogError("Wrong State");
            break;
        }
        CalcCurrentSpeed();

        switch (m_State)
        {
        case Moving_State.OnCurve:

            if (_Drive_State == Drive_State.Acceleration)
            {
                currentHP -= curveDamage;
            }
            else if (_Drive_State == Drive_State.Deceleration)
            {
                currentHP += current_Car.Brake * 0.01f;
                if (currentHP >= current_Car.MaxHP)
                {
                    currentHP = current_Car.MaxHP;
                    time      = 0;
                }
            }

            if (currentHP <= 0)
            {
                _Drive_State = Drive_State.Out_of_control;
                Debug.LogError("Die");
            }
            break;

        case Moving_State.OnStraight:

            //코너링 능력치 대비 회복량 조정해야한다
            //현재 틱당 1%
            DesignConstStorage.DoItList();
            currentHP += current_Car.Cornering * 0.01f;
            if (currentHP >= current_Car.MaxHP)
            {
                currentHP = current_Car.MaxHP;
                time      = 0;
            }
            break;
        }

        if (M_State != Moving_State.OutOfControl)
        {
            int _checkfactor = (int)(current_Car.Cornering / CurrentSpeed) + 1;
            _checkfactor = 3;
            float divideSpeed = CurrentSpeed / (_checkfactor + 1);

            //Debug.LogError(string.Format("f{0} c{1} s{2} ds{3}", _checkfactor, current_Car.Cornering, CurrentSpeed, divideSpeed));

            //이부분 대대적으로 바꿔야 할수도 있다. 191009 기준
            //왜냐하면 지나간 정보로 판단하고 있어서 정보 전달이 늦을수도 있거든
            //이전 정보가 아니라 미래정보 계산하는 방식으로 변경해야 할수도 있다.
            //아닌가? 중간중간 처리하면 안해도 될거 같기도 하다.
            Quaternion preQuat = gameObject.transform.rotation;

            for (int i = 0; i < _checkfactor; i++)
            {
                SetDestination();
                Car_Rotation();
                MoveTo(divideSpeed);
            }

            if (isLastSection)
            {
                //마지막 섹션이면 속도 0 되었을때 결과 팝업
                if (CurrentSpeed <= 0.0f && m_State != Moving_State.Parking)
                {
                    RaceEnd(FinishType.Finish);
                }
            }
            else
            {
                //마지막 섹션이 아니니까 브레이크 띄면 다시 주행
            }

            curveAngle = Quaternion.Angle(preQuat, gameObject.transform.rotation);

            isTurnRight = (preQuat.eulerAngles - gameObject.transform.eulerAngles).z >= 0;
        }

        CheckMovingState();
    }
예제 #3
0
 public void ChangeLogInType()
 {
     //https://developer.thebackend.io/unity3d/guide/bmember/signup_login/
     //참조해서 아이디 로그인 방식 변환한다.
     DesignConstStorage.DoItList();
 }
예제 #4
0
    PurchaseProcessingResult IStoreListener.ProcessPurchase(PurchaseEventArgs e)
    {
        bool isSuccess = true;

#if UNITY_ANDROID && !UNITY_EDITOR
        CrossPlatformValidator validator = new CrossPlatformValidator(GooglePlayTangle.Data(), AppleTangle.Data(), Application.identifier);
        try
        {
            IPurchaseReceipt[] result = validator.Validate(e.purchasedProduct.receipt);
            for (int i = 0; i < result.Length; i++)
            {
                Analytics.Transaction(result[i].productID, e.purchasedProduct.metadata.localizedPrice, e.purchasedProduct.metadata.isoCurrencyCode, result[i].transactionID, null);
            }
        }
        catch (IAPSecurityException)
        {
            isSuccess = false;
        }
#elif UNITY_IPHONE
#endif
        BackEnd.BackendReturnObject bro = null;

        if (isSuccess)
        {
            bool isTBCCarge = true;

            switch (e.purchasedProduct.definition.id)
            {
            case "car_5500":
            case "car_27500":
                isTBCCarge = false;
                break;

            default:
                isTBCCarge = true;
                break;
            }

#if UNITY_ANDROID && !UNITY_EDITOR
            if (isTBCCarge)
            {
                bro = BackEnd.Backend.TBC.ChargeTBC(e.purchasedProduct.receipt, "");
            }
            else
            {
                bro = BackEnd.Backend.Receipt.IsValidateGooglePurchase(e.purchasedProduct.receipt, "");
            }


            if (bro.IsSuccess())
            {
            }
            else
            {
                return(PurchaseProcessingResult.Pending);
            }

            //var asd = bro.GetReturnValuetoJSON()[0];
            //var qwe = asd[0];

            //값 뭐 들어오나 확인해야 한
            DesignConstStorage.DoItList();

            //txtLog.text = string.Format("{1}", e.purchasedProduct.receipt, bro.GetReturnValue());
            //txtLog.text = string.Format("{0}", asd.ToString());
            //txtLog.text = string.Format("{0}  {1}", asd.ToString(), qwe.ToString());

            //string[] qweqwe = new string[2];
            //int qq = 0;

            //JObject obj = JObject.Parse(bro.GetReturnValue());

            //Foreach로 각 테이블 이름 받아옴.
            //foreach (var a in obj)
            //{
            //    string qwoitnwbye = string.Format("{0}  {1}", a.Key.ToString(), a.Value);
            //    qweqwe[qq++] = qwoitnwbye;
            //    txtLog.text = string.Format("{0}  {1}", a.Key.ToString(), a.Value);
            //    JArray array = JArray.Parse(a.Value.ToString());
            //    foreach (var s in array)
            //    {
            //        //txtLog.text = string.Format("{0}  {1}", , s.ToString());
            //        qweqwe[qq] = a.Key.ToString();
            //        int weqg =
            //    }
            //}
            //BackEnd.Param param = new BackEnd.Param();
            //param.Add(bro.GetReturnValue());

            //BackEnd.Backend.GameInfo.InsertLog("1", param);
#elif UNITY_IPHONE
#else
            //bro = BackEnd.Backend.TBC.ChargeTBC(e.purchasedProduct.receipt, "");
#endif

            //if (bro != null)
            //{
            //}

            //여기서 현금 결제 아이템 제공한다.

            ProvideItems(e.purchasedProduct.definition.id);

            //Debug.Log("구매 완료");
            //         if (e.purchasedProduct.definition.id.Equals(sProductIds[0]))
            //             WealthManager.Instance.IncomeWealth(WealthManager.WealthType.Cash, 100);
            //else if (e.purchasedProduct.definition.id.Equals(sProductIds[1]))
            //             WealthManager.Instance.IncomeWealth(WealthManager.WealthType.Cash, 500);
        }
        else
        {
            //txtLog.text = "구매 실패 : 비정상 결제";
            //         Debug.Log(txtLog.text);
            //sInfo = null;
        }

        sInfo = null;
        return(PurchaseProcessingResult.Complete);
    }
예제 #5
0
 public void ClacHowManyLayerOn()
 {
     DesignConstStorage.DoItList();
     //
 }