public void Init(BeardModelHandler model) { _toolCollider = GetComponent <ColliderTool>(); _toolCollider.Init(new GameObject[] { model._beardScar }); _model = model; ToolCollider.OnToolStart.AddListener(OnToolStart); ToolCollider.OnToolEnd.AddListener(OnToolEnd); }
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); }
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); }
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); }); } } }
public override void OnInspectorGUI() { DrawDefaultInspector(); ColliderTool ct = target as ColliderTool; if (GUILayout.Button("Add Box Collider")) { ct.AddBoxCollider(); } }
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); }
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); }); } } }
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); }