public void Init(ClickIconType type = ClickIconType.MouseClick)
    {
        this.curveLine  = this.ReturnCurveLine();
        this.prefabName = type;
        base.StopAllCoroutines();
        this.Inactive(true);
        switch (this.prefabName)
        {
        case ClickIconType.TargetIcon:
            if (base.gameObject.activeInHierarchy)
            {
                base.StartCoroutine("TargetIconCreate");
            }
            if (this.solidTex != null)
            {
                this.solidTex.enabled = true;
            }
            if (this.voidTex != null)
            {
                this.voidTex.enabled = true;
            }
            break;

        case ClickIconType.MainPlayerIcon:
            if (base.gameObject.activeInHierarchy)
            {
                base.StartCoroutine("MainPlayerIconCreate");
            }
            break;

        case ClickIconType.MouseClick:
            if (base.gameObject.activeInHierarchy)
            {
                Transform transform  = base.transform.Find("VoidCircle");
                Transform transform2 = base.transform.Find("fourarrow 2");
                transform.transform.localScale = Vector3.one * 0.052f;
                transform.gameObject.SetActive(true);
                transform2.gameObject.SetActive(true);
                Animator component = base.transform.GetComponent <Animator>();
                component.Play("Anim_MouseClick", -1, 0f);
                component.Update(0f);
                component = transform2.GetComponent <Animator>();
                component.Play("Take 001", -1, 0f);
                component.Update(0f);
                base.StartCoroutine("MouseClickCreate");
            }
            break;
        }
    }
    public void Clean()
    {
        base.StopAllCoroutines();
        ClickIconType clickIconType = this.prefabName;

        if (clickIconType != ClickIconType.TargetIcon)
        {
            if (clickIconType == ClickIconType.MainPlayerIcon)
            {
                if (base.gameObject.activeInHierarchy)
                {
                    base.StartCoroutine("MainPlayerIconClean");
                }
            }
        }
        else if (base.gameObject.activeInHierarchy)
        {
            base.StartCoroutine("TargetIconClean");
        }
    }