Beispiel #1
0
 public void AddOverride(OverrideHolder holder)
 {
     TurnPlayer.Instance.AddOverride(holder.overr, isOnTile, turnNumber, index);
     col.enabled = false;
     holder.transform.SetParent(transform, true);
     myHolder = holder;
 }
Beispiel #2
0
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();
        serializedObject.Update();
        OverrideHolder holder = target as OverrideHolder;

        holder.Validate();
        serializedObject.ApplyModifiedProperties();
    }
Beispiel #3
0
    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.Mouse0))
        {
            Ray        ray = cam.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit, 100, holdersLayer))
            {
                holderInHand = hit.transform.gameObject.GetComponent <OverrideHolder>();
                if (holderInHand != null)
                {
                    SetHintForAllCells(true);
                    holderInHand.UnbindFromCell();
                }
            }
        }

        if (Input.GetKeyUp(KeyCode.Mouse0))
        {
            if (holderInHand != null)
            {
                SetHintForAllCells(false);
                Ray          ray = cam.ScreenPointToRay(Input.mousePosition);
                RaycastHit   hit;
                OverrideCell cell = null;
                if (Physics.Raycast(ray, out hit, 100, cellsLayer))
                {
                    cell = hit.transform.gameObject.GetComponent <OverrideCell>();
                }

                if (cell != null)
                {
                    holderInHand.BindToCell(cell);
                    //CameraShaker.Shake(new BounceShake(shakeParams));
                    holderInHand = null;
                }
                else
                {
                    holderInHand.ResetToInitals();
                    holderInHand = null;
                }
            }
        }

        if (holderInHand != null)
        {
            Vector3 pos = cam.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 10));
            holderInHand.transform.position = Vector3.SmoothDamp(holderInHand.transform.position, pos, ref vel, 0.05f);
        }
    }