using UnityEngine;
using System.Collections;
public class miner : MonoBehaviour
{
public enum State
{
EnterMineAndDigForNuggets,
EnterBankAndDepositGold
}
public State state;
public void Awake()
{
state = State.EnterMineAndDigForNuggets;
// Start the Finite State Machine
StartCoroutine(FSM());
}
IEnumerator FSM()
{
// Execute the current coroutine (state)
while (true)
{
yield return StartCoroutine(state.ToString());
}
}
IEnumerator EnterMineAndDigForNuggets()
{
/* This part works as the Enter function
of the previous post (it's optional) */
print("Entering the mine...");
yield return null;
/* Now we enter in the Execute part of a state
which will be usually inside a while - yield block */
bool dig = true;
int digged = 0;
while (dig)
{
print("Digging... " + (digged++) + " " + Time.time);
if (digged == 2) dig = false;
yield return new WaitForSeconds(1);
}
/* And finally do something before leaving
the state (optional too) and starting a new one */
print("Exiting the mine...");
state = State.EnterBankAndDepositGold;
}
IEnumerator EnterBankAndDepositGold()
{
//Enter
print("Entering the bank...");
yield return null;
//Execute
bool queing = true;
float t = Time.time;
while (queing)
{
print("waiting...");
if (Time.time - t > 5) queing = false;
yield return new WaitForSeconds(1);
}
//Exit
print("Leaving the bank a little bit richer...");
state = State.EnterMineAndDigForNuggets;
}
}
2019년 6월 6일 목요일
피드 구독하기:
댓글 (Atom)
git rejected error(feat. cherry-pick)
문제 아무 생각 없이 pull을 받지않고 로컬에서 작업! 커밋, 푸시 진행을 해버렷다. push에선 remote와 다르니 당연히 pull을 진행해라고 하지만 로컬에서 작업한 내용을 백업하지 않고 진행하기에는 부담스럽다(로컬작업 유실 가능성) 해결하려...
-
/// < summary > /// 검색 조건과 내용으로 테이블에 있는 데이터를 검색하는 메서드 /// </ summary > /// < param name = "valu...
-
public class Test : MonoBehaviour { //매출 데이터를 읽어 들이고 Sales 객체 리스트를 반환한다. List<string> list = new List<string> { ...
-
설명과 package파일 https://gitlab.com/dooo3/scrollview_objpool 하는이유 100개 이상일때 scrollview가 퍼포먼스가 떨어진다... Point!!!! 1.shopItemTableViewCell,...
댓글 없음:
댓글 쓰기