83 lines
1.9 KiB
C#
Raw Normal View History

using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Shu : Interactable
{
Animator anim;
int interactState = 0;
public float rotateDuration=0.5f;
SpriteRenderer m_spr;
public Sprite sprite_Mu;
bool interating = false;
public Item Stick1;
public Item Stick2;
override protected void Start()
{
base.Start();
m_spr = GetComponent<SpriteRenderer>();
anim = GetComponent<Animator>();
}
// Update is called once per frame
void Update()
{
}
public override void OnCall()
{
switch (interactState) {
//交互的第一阶段,掉落树枝
case 0:
ChangesDuringIntertacting(1f);
//树抖两下
anim.SetTrigger("Shake");
ItemController.Instance.AddItem(Stick1);
ItemController.Instance.AddItem(Stick2);
//ItemController.Instance.ToLastestItem();
break;
//交互的第二阶段,推倒树木
case 1:
ChangesDuringIntertacting(rotateDuration);
anim.SetTrigger("Fall");
//transform.DORotate(new Vector3(0, 0, -90), rotateDuration);
break;
default:
break;
}
}
void ResetInteracting() {
interating = false;
CancleEvent();
}
void ChangesDuringIntertacting(float Time)
{
if (interating==false) {
player.ToMap("Null");
interactState++;
interating = true;
Invoke(nameof(ResetInteracting), Time);}
}
public override void CancleEvent()
{
player.ToMap("Normal");
}
public void ChangeToLastWeapon() {
ItemController.Instance.ToLastestItem();
}
}