Пример #1
0
/*
 *  void OnParticleCollision(GameObject obj)
 *  {
 *      if(obj.tag == gameObject.tag)
 *      {
 *          ElementFusion(obj);
 *      }
 *  }
 */
    private void ElementFusion(GameObject target)
    {
        ElementParameters targetScript = target.GetComponent <ElementParameters>();
        ElementParameters selfScript   = gameObject.GetComponent <ElementParameters>();

        // 衝突判定が同時に実行されるため、片方のスクリプトが実行された時点で
        // 両方の衝突判定フラグをTrueにし、片方のフラグがTrueの場合は
        // 衝突判定実施後であるため処理をスキップする
        if (selfScript.isHitted || targetScript.isHitted)
        {
            selfScript.isHitted   = false;
            targetScript.isHitted = false;
            return;
        }

        // エレメントレベルが大きいものを残す
        int  targetLevel  = targetScript.GetElementLevel();
        int  elementLevel = selfScript.GetElementLevel();
        bool isTargetDestroy;

        if (elementLevel != targetLevel)
        {
            isTargetDestroy = elementLevel > targetLevel;
            FusinoAndDestroy(target, isTargetDestroy);
            return;
        }
        isTargetDestroy = int.Parse(gameObject.name) < int.Parse(target.name);
        FusinoAndDestroy(target, isTargetDestroy);
        return;
    }
Пример #2
0
    private void FusinoAndDestroy(GameObject target, bool isTargetDestroy)
    {
        ElementParameters targetScript = target.GetComponent <ElementParameters>();
        ElementParameters selfScript   = gameObject.GetComponent <ElementParameters>();
        int targetLevel  = targetScript.GetElementLevel();
        int elementLevel = selfScript.GetElementLevel();

        if (isTargetDestroy)
        {
            Destroy(target);
            gameObject.GetComponent <ElementParameters>().IncrementElementLevel();
            particleEmission.rateOverTime = 2.0f * particleEmission.rateOverTime.constant;
            targetScript.hit();
            selfScript.hit();
            return;
        }
        Destroy(gameObject);
        targetScript.IncrementElementLevel();
        ParticleSystem targetParticle = target.GetComponent <ParticleSystem>();

        //ParticleSystem.MainModule targetParticleMain = targetParticle.main;
        ParticleSystem.EmissionModule targetParticleEmission = targetParticle.emission;
        targetParticleEmission.rateOverTime = 2.0f * targetParticleEmission.rateOverTime.constant;
        targetScript.hit();
        selfScript.hit();
        return;
    }
Пример #3
0
        public async Task GetReleaseTablesTest()
        {
            Client client = new Client(_apiKey);

            var parameters = new ElementParameters
            {
                Id = 53,
            };

            var result = await client.GetReleaseTables(parameters);

            Assert.AreNotEqual(null, result);

            Assert.IsTrue(result.Count > 0);
        }
        private bool IsElementInTopPartOfWebsite(ElementParameters elementParameters)
        {
            int windowHeight = driver.Manage().Window.Size.Height;

            return(elementParameters.Location.Y + elementParameters.Size.Height <= windowHeight / 2);
        }
        private bool IsElementInRightPartOfWebsite(ElementParameters elementParameters)
        {
            int windowWidth = driver.Manage().Window.Size.Width;

            return(elementParameters.Location.X + elementParameters.Size.Width >= windowWidth / 2);
        }
 public void Reset()
 {
     _parameters = ElementParameters.Create();
     _items      = ElementItemsCollection.Create();
 }
        /// ======================================================================

        private static ElementGenerationSettings CreateSettings(ElementParameters parameters, ElementDraft draft)
        {
            var result = ElementGenerationSettings.Create();

            var position = draft.pivot;
            var angles   = Quaternion.LookRotation(draft.forward, draft.up).eulerAngles;
            var scale    = Vector3.one;

            var isHorizontalMrror = parameters.isHorizontalMrror;

            if (draft.isHorizontalMrror)
            {
                isHorizontalMrror = !isHorizontalMrror;
            }

            var isVerticalMirror = parameters.isVerticalMirror;

            if (draft.isVerticalMirror)
            {
                isVerticalMirror = !isVerticalMirror;
            }

            if (Utils.ApproximatelyZero(parameters.length))
            {
                scale.x = 1f;
            }
            else if (Utils.ApproximatelyZero(draft.length))
            {
                scale.x = 0f;
            }
            else
            {
                scale.x = draft.length / parameters.length;
            }

            if (Utils.ApproximatelyZero(parameters.height))
            {
                scale.y = 1f;
            }
            else if (Utils.ApproximatelyZero(draft.height))
            {
                scale.y = 0f;
            }
            else
            {
                scale.y = draft.height / parameters.height;
            }

            if (Utils.ApproximatelyZero(draft.forwardScale))
            {
                scale.z = 1f;
            }
            else
            {
                scale.z = draft.forwardScale;
            }

            if (isHorizontalMrror)
            {
                scale.x  *= -1f;
                position -= draft.right * parameters.length * scale.x;
            }

            if (isVerticalMirror)
            {
                scale.y  *= -1f;
                position -= draft.up * parameters.height * scale.y;
            }

            result.parent   = draft.parent;
            result.position = position;
            result.angles   = angles;
            result.scale    = scale;

            return(result);
        }