Example #1
0
    public void SetMode(CircleMode mode)
    {
        _mode = mode;
        var color = new Color();

        switch (_mode)
        {
        case CircleMode.STATIC:
            _label.Hide();
            color = GameSettings.Instance().ColorSchemes[GameSettings.Instance().Theme].CircleStatic;
            break;

        case CircleMode.LIMITED:
            _currentOrbits = _numOrbits;
            _label.Text    = _currentOrbits.ToString();
            _label.Show();
            color = GameSettings.Instance().ColorSchemes[GameSettings.Instance().Theme].CircleLimited;

            break;

        default:
            break;
        }
        (_sprite.Material as ShaderMaterial).SetShaderParam("color", color);
    }
Example #2
0
    // Start is called before the first frame update
    void Start()
    {
        mode = CircleMode.NONE;
        gameObject.GetComponent <Image>().fillAmount = 0.0f;

        releaseSpeed = 1.0f / releaseMaxTime;
    }
Example #3
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            mode        = CircleMode.CIRCLE_FILL;
            elaspedTime = 0.0f;
        }
        if (Input.GetMouseButtonUp(0))
        {
            mode        = CircleMode.CIRCLE_RELEASE;
            elaspedTime = 0.0f;
        }

        if (mode == CircleMode.CIRCLE_FILL)
        {
            if (Input.GetMouseButton(0))
            {
                elaspedTime += Time.deltaTime;
                if (elaspedTime > fillMaxTime)
                {
                    elaspedTime = fillMaxTime;
                }
                float fillRate = elaspedTime / fillMaxTime;
                gameObject.GetComponent <Image>().fillAmount = fillRate;
            }
        }

        if (mode == CircleMode.CIRCLE_RELEASE)
        {
            gameObject.GetComponent <Image>().fillAmount -= releaseSpeed * Time.deltaTime;
            if (gameObject.GetComponent <Image>().fillAmount < 0.0f)
            {
                gameObject.GetComponent <Image>().fillAmount = 0.0f;
            }
        }
    }
Example #4
0
        public virtual void LoadFrom(MyReader mr)
        {
            bool isRect = mr.LoadBool();

            if (isRect && ShowShape is CircleMode)
            {
                ShowShape = new RectangleMode();
            }
            else if (!isRect && ShowShape is RectangleMode)
            {
                ShowShape = new CircleMode();
            }
            ShowShape.X      = mr.LoadInt();
            ShowShape.Y      = mr.LoadInt();
            ShowShape.Width  = mr.LoadInt();
            ShowShape.Height = mr.LoadInt();
            ShowShape.Angle  = mr.LoadDouble();
            mr.LoadLineEnd();
            foreach (var item in uis)
            {
                item.LoadFrom(mr);
            }
            mr.LoadLineEnd();
        }