2023-11-22 19:42:29 +00:00
|
|
|
|
//#define ENABLE_LOG
|
|
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2014 - 2022 t_saki@serenegiant.com
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
using System;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
using UnityEngine.EventSystems;
|
|
|
|
|
|
|
|
|
|
public class CubeHandler : MonoBehaviour,
|
|
|
|
|
IBeginDragHandler, IDragHandler, IEndDragHandler, IPointerClickHandler
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* このスクリプトで操作するGameObject
|
|
|
|
|
* 未割り当ての場合はこのスクリプトがセットされているGameObjectを使う
|
|
|
|
|
*/
|
|
|
|
|
public GameObject TargetObject;
|
|
|
|
|
|
|
|
|
|
private Transform taregtTransform;
|
|
|
|
|
private Vector3 force = new Vector3();
|
|
|
|
|
|
|
|
|
|
private const float FACTOR = 1.0f;
|
|
|
|
|
private const float DECAY_RATE = 0.90f;
|
|
|
|
|
|
|
|
|
|
// Start is called before the first frame update
|
|
|
|
|
void Start()
|
|
|
|
|
{
|
|
|
|
|
if (TargetObject == null)
|
|
|
|
|
{ // TargetObjectが割り当てられていないときは
|
|
|
|
|
// このスクリプトがセットされているゲームオブジェクトを使う
|
|
|
|
|
TargetObject = gameObject;
|
|
|
|
|
}
|
|
|
|
|
taregtTransform = TargetObject.transform;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// // Update is called once per frame
|
|
|
|
|
// void Update()
|
|
|
|
|
// {
|
|
|
|
|
//
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
void FixedUpdate()
|
|
|
|
|
{
|
|
|
|
|
// 回転させる
|
|
|
|
|
taregtTransform.Rotate(force * Time.deltaTime, Space.World);
|
|
|
|
|
// 減衰させる
|
|
|
|
|
force *= DECAY_RATE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void OnBeginDrag(PointerEventData eventData)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void OnDrag(PointerEventData eventData)
|
|
|
|
|
{
|
|
|
|
|
// 移動量に応じて角度計算
|
|
|
|
|
float xAngle = eventData.delta.y * FACTOR;
|
|
|
|
|
float yAngle = -eventData.delta.x * FACTOR;
|
|
|
|
|
|
|
|
|
|
force += new Vector3(xAngle, yAngle, 0.0f);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void OnEndDrag(PointerEventData eventData)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void OnPointerClick(PointerEventData eventData)
|
|
|
|
|
{
|
|
|
|
|
#if (!NDEBUG && DEBUG && ENABLE_LOG)
|
2023-11-24 05:13:10 +00:00
|
|
|
|
LogPrint.Log("OnClick:");
|
2023-11-22 19:42:29 +00:00
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
}
|