Merge branch 'feature/addMiniGame' of bitbucket.org:usaya/popcorn into feature/addMiniGame

This commit is contained in:
koya_15 2022-07-01 12:43:31 +09:00
commit ff570feaa9
3 changed files with 32 additions and 29 deletions

View File

@ -256,9 +256,15 @@ namespace MyGame.Scenes.MiniGame.Scripts
}
#endif
x.enabled = false;
if (player.IsHit)
{
return;
}
switch (item.ItemType)
{
case StageItem.Type.Item1:
item.Effect();
scoreCount.Value += item.Point;
player.AddCount();
break;

View File

@ -18,8 +18,9 @@ namespace MyGame.Scenes.MiniGame.Scripts
[SerializeField] private GameObject level3;
private Animator animator;
private bool isJump;
private bool isPreHit;
private readonly BoolReactiveProperty isHit = new BoolReactiveProperty();
private bool isHit;
public bool IsHit => isHit;
private readonly BoolReactiveProperty isHitStay = new BoolReactiveProperty();
private IDisposable hitDisposable;
private Coroutine jumpCoroutine;
private Vector3 basePos;
@ -27,14 +28,14 @@ namespace MyGame.Scenes.MiniGame.Scripts
private void Start()
{
isHit.AddTo(this);
isHitStay.AddTo(this);
animator = GetComponent<Animator>();
basePos = transform.localPosition;
}
public void Stay(bool force = false)
{
if (!force && isPreHit)
if (!force && isHit)
{
return;
}
@ -43,12 +44,12 @@ namespace MyGame.Scenes.MiniGame.Scripts
public void Move()
{
if (isHit.Value)
if (isHitStay.Value)
{
return;
}
transform.AddPositionX(speed * Time.deltaTime);
if (isJump || isPreHit)
if (isJump || isHit)
{
return;
}
@ -57,7 +58,7 @@ namespace MyGame.Scenes.MiniGame.Scripts
public void Jump()
{
if (isJump || isPreHit)
if (isJump || isHit)
{
return;
}
@ -79,13 +80,13 @@ namespace MyGame.Scenes.MiniGame.Scripts
// こける
public void Hit()
{
if (isPreHit)
if (isHit)
{
return;
}
SoundManager.Instance.PlaySE("se_minigame_Collide");
animator?.Play("Brother_pink_FallDown");
isPreHit = true;
isHit = true;
hitDisposable?.Dispose();
this.SafeStopCoroutine(jumpCoroutine);
@ -101,11 +102,11 @@ namespace MyGame.Scenes.MiniGame.Scripts
{
}, () =>
{
isHit.Value = true;
isHitStay.Value = true;
this.CallWaitForSeconds(hitWaitTime, () =>
{
isPreHit = false;
isHit.Value = false;
isHit = false;
isHitStay.Value = false;
Stay();
});
});

View File

@ -20,24 +20,20 @@ namespace MyGame.Scenes.MiniGame.Scripts
public int Point => point;
private void Start()
public void Effect()
{
this.OnTriggerEnter2DAsObservable()
.Subscribe(_ =>
{
// effect
switch (itemType)
{
case Type.Item1:
transform.SetLocalScale(0f);
if (effect != null) effect.SetActive(true);
break;
case Type.Obstacle:
break;
default:
throw new ArgumentOutOfRangeException();
}
}).AddTo(this);
// effect
switch (itemType)
{
case Type.Item1:
transform.SetLocalScale(0f);
if (effect != null) effect.SetActive(true);
break;
case Type.Obstacle:
break;
default:
throw new ArgumentOutOfRangeException();
}
}
public void ResetItem()