コード例 #1
0
ファイル: BeardToolBandage.cs プロジェクト: keltonxian/salon
 public void Init(BeardModelHandler model)
 {
     _toolCollider = GetComponent <ColliderTool>();
     _toolCollider.Init(new GameObject[] { model._beardScar });
     _model = model;
     ToolCollider.OnToolStart.AddListener(OnToolStart);
     ToolCollider.OnToolEnd.AddListener(OnToolEnd);
 }
コード例 #2
0
 public void Init(BeardModelHandler model)
 {
     _state1.enabled = true;
     _state2.enabled = false;
     _toolCollider   = GetComponent <ColliderTool>();
     _toolCollider.Init(new GameObject[] { model._beardFur });
     _model = model;
     ToolCollider.OnToolStart.AddListener(OnToolStart);
     ToolCollider.OnToolEnd.AddListener(OnToolEnd);
 }
コード例 #3
0
 public void Init(BeardModelHandler model)
 {
     _toolScribble = GetComponent <ScribbleTool>();
     _toolScribble.Init(new RenderTexturePainter[] { model._beardFrontPainter, model._beardMiddlePainter, model._beardBackPainter }, null);
     _toolCollider = GetComponent <ColliderTool>();
     _toolCollider.Init(new GameObject[] { model._beardMessy, model._beardRed, model._beardScar });
     _model = model;
     ToolScribble.OnToolStart.AddListener(OnToolStart);
     ToolScribble.OnToolEnd.AddListener(OnToolEnd);
 }
コード例 #4
0
    public void TriggerScar(Collider2D collider, bool isCut, ColliderTool tool = null)
    {
        if (!collider)
        {
            return;
        }
        RectTransform scar = collider.GetComponent <RectTransform>();

        if (true == isCut && false == _toolScraper.GetColliderTriggerState(collider))
        {
            _toolBandage.SetColliderTriggerState(collider, false);
            _toolScraper.SetColliderTriggerState(collider, true);
            _toolRazor.SetColliderTriggerState(collider, true);
            _toolGrower.SetColliderTriggerState(collider, false);
            collider.enabled = false;
            _model.InsertSad();
            Image image = scar.GetComponent <Image>();
            image.color   = new Color(1, 1, 1, 0);
            image.enabled = true;
            image.DOFade(1, 0.1f).SetEase(Ease.Linear);
        }
        else if (false == isCut && false == _toolBandage.GetColliderTriggerState(collider))
        {
            _toolBandage.SetColliderTriggerState(collider, true);
            _toolScraper.SetColliderTriggerState(collider, false);
            _toolRazor.SetColliderTriggerState(collider, false);
            _toolGrower.SetColliderTriggerState(collider, true);
            scar.GetComponent <Image>().enabled = false;
            if (null != tool)
            {
                tool._drag.SetEnabled(false);
                tool._drag.BackPosition(UGUIDrag.DragBackEffect.TweenScale);
                GameObject bandage = Instantiate(_prefabBandage);
                bandage.transform.SetParent(_fixArea);
                bandage.transform.position   = scar.transform.position;
                bandage.transform.localScale = scar.transform.localScale;
                AudioManager.PlaySound(_soundPutIn);
                Sequence sequence = DOTween.Sequence();
                sequence.AppendInterval(0.5f);
                sequence.AppendCallback(() =>
                {
                    tool._drag.SetEnabled(true);
                });
                sequence.AppendInterval(1.5f);
                sequence.AppendCallback(() => {
                    AudioManager.PlaySound(_soundTakeOff);
                });
                sequence.Append(bandage.GetComponent <Image>().DOFade(0f, 0.8f).SetEase(Ease.Linear));
                sequence.OnComplete(() =>
                {
                    DestroyImmediate(bandage, true);
                });
            }
        }
    }
コード例 #5
0
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();

        ColliderTool ct = target as ColliderTool;

        if (GUILayout.Button("Add Box Collider"))
        {
            ct.AddBoxCollider();
        }
    }
コード例 #6
0
ファイル: BeardToolScissors.cs プロジェクト: keltonxian/salon
 public void Init(BeardModelHandler model)
 {
     _toolCollider = GetComponent <ColliderTool>();
     _toolCollider.Init(new GameObject[] { model._beardMessy });
     _toolScribble = GetComponent <ScribbleTool>();
     _toolScribble.Init();
     _markScissorLeftRotate  = _scissorLeft.localEulerAngles;
     _markScissorRightRotate = _scissorRight.localEulerAngles;
     _model = model;
     ToolCollider.OnToolStart.AddListener(OnToolStart);
     ToolCollider.OnToolEnd.AddListener(OnToolEnd);
 }
コード例 #7
0
ファイル: BeardFaceRed.cs プロジェクト: keltonxian/salon
    public void TriggerRed(Collider2D collider, bool isCut, ColliderTool tool = null)
    {
        if (!collider)
        {
            return;
        }
        RectTransform red = collider.GetComponent <RectTransform>();

        if (true == isCut && false == _toolScraper.GetColliderTriggerState(collider))
        {
            _toolUnguent.SetColliderTriggerState(collider, false);
            _toolScraper.SetColliderTriggerState(collider, true);
            _toolRazor.SetColliderTriggerState(collider, true);
            _toolGrower.SetColliderTriggerState(collider, false);
            collider.enabled = false;
            _model.InsertSad();
            Image image = red.GetComponent <Image>();
            image.color   = new Color(1, 1, 1, 0);
            image.enabled = true;
            image.DOFade(1, 0.1f).SetEase(Ease.Linear);
        }
        else if (false == isCut && false == _toolUnguent.GetColliderTriggerState(collider))
        {
            _toolUnguent.SetColliderTriggerState(collider, true);
            _toolScraper.SetColliderTriggerState(collider, false);
            _toolRazor.SetColliderTriggerState(collider, false);
            _toolGrower.SetColliderTriggerState(collider, true);
            red.GetComponent <Image>().enabled = false;
            if (null != tool)
            {
                GameObject cream = Instantiate(_prefabCream);
                cream.transform.SetParent(_fixArea);
                cream.transform.position   = red.transform.position;
                cream.transform.localScale = red.transform.localScale;
                AudioManager.PlaySound(_soundPutIn);
                Image    image    = cream.GetComponent <Image>();
                Sequence sequence = DOTween.Sequence();
                sequence.AppendInterval(2f);
                sequence.Append(cream.GetComponent <Image>().DOFade(0f, 0.8f).SetEase(Ease.Linear));
                sequence.OnComplete(() =>
                {
                    DestroyImmediate(cream, true);
                });
            }
        }
    }
コード例 #8
0
ファイル: BeardToolShaver.cs プロジェクト: keltonxian/salon
 public void Init(BeardModelHandler model)
 {
     _toolScribble = GetComponent <ScribbleTool>();
     RenderTexturePainter[] arrayPainter = null;
     if (_shape == Shape.Round)
     {
         arrayPainter = new RenderTexturePainter[] { model._beardFrontPainter, model._beardMiddlePainter };
     }
     else if (_shape == Shape.Sharp)
     {
         arrayPainter = new RenderTexturePainter[] { model._beardFrontPainter };
     }
     _toolScribble.Init(arrayPainter, null);
     _toolCollider = GetComponent <ColliderTool>();
     _toolCollider.Init(new GameObject[] { model._beardMessy });
     _model = model;
     ToolScribble.OnToolStart.AddListener(OnToolStart);
     ToolScribble.OnToolEnd.AddListener(OnToolEnd);
 }