void Awake() { //canvas = GetComponent<Canvas>(); cacheTransform = transform; // ステート初期化 stateMachine = new BaseEntityStateMachine <Card>(this); stateMachine.ChangeState(CardObjectState.None.GetInstance()); // this.animator.Play("Idle"); }
public void ChangeState(BaseEntityState <SceneMain> newState) { // ステートチェンジ stateMachine.ChangeState(newState); // ステート同期用メッセージ char[] newStateName = newState.GetType().FullName.ToCharArray(); SyncStateInfo info; info.cStateName = new char[128]; for (int i = 0; i < newStateName.Length; i++) { info.cStateName[i] = newStateName[i]; } MessageManager.Dispatch(playerManager.GetMyPlayerID(), MessageType.SyncState, info); }
// Use this for initialization void Start() { SelectData.iDeckCollectLineNo = 0; //TouchCardObj.GetComponent<uGUICard>().SetCardData(CardDataBase.GetCardData(4)); //Arrow.SetActive(false); m_vTapPos = new Vector3(0, 0, 0); m_vCurrentPos = new Vector3(0, 0, 0); m_bCardTap = false; // (TODO)(A列車)システム初期化 を全て共通に oulSystem.Initialize(); // BGM oulAudio.PlayBGM("CollectionBGM", true); // カードのデータベースを初期化 //CardDataBase.Start(); CardData data = CardDataBase.GetCardData(3); // ID0番目のカードデータを取ってくる。 CardData[] all = CardDataBase.GetDeckSortedCardData(); // カード情報を全て取得する。1/12 デッキ選択用のソートした配列を取得 int size = all.Length; // カードの最大数 // ★Findは非アクティブ状態ではとれないから取ってから消すやで //m_uGraspCard=gameObject //m_uGraspCard = GameObject.Find("Canvas/uGUICard"); //.GetComponent<uGUICard>(); m_uGraspCard.GetComponent <uGUICard>().SetCardData(data); //m_uGraspCard.GetComponent<Ripple>().SetAlpha(1.0f); // 透明に m_uGraspCard.SetActive(false); // 取得したから消すやで for (int i = 0; i < PlayerDeckData.deckMax; i++) { // 変更前 // m_pCardPlateArray[i] = (GameObject)Instantiate(CardPlatePrefab); // m_pCardPlateArray[i].transform.SetParent(, false); /* * 差異としては、as句の方が高速であることと、失敗時にキャスト演算は例外を発生させas句はnullを返します。 * 例外は処理するのにもコストがかかるので、特別な事が無い限りはこの場合as句を利用するのが良いです。 */ // 変更後 //m_aCardPlate[i] = Instantiate(CardPlatePrefab, DeckCardGroup.transform) as GameObject; m_aMyDeckCard[i] = Instantiate(CardPrefab, DeckCardGroup.transform) as GameObject; m_aMyDeckCard[i].GetComponent <uGUICard>().SetMyDeck(true);// ★★★このカードは自分のデッキかどうか int StartX = 100; int StartY = 130; //m_aCardPlate[i].transform.localPosition = new Vector2(StartX + (150 * (i % 5)), StartY + (i / 5) * -185); m_aMyDeckCard[i].transform.localPosition = new Vector2(StartX + (150 * (i % 5)), StartY + (i / 5) * -185); // マイデッキ m_aMyDeckCard[i].GetComponent <ScreenOutAppeared>().SetNextPos(new Vector3(StartX + (150 * (i % 5)), StartY + (i / 5) * -185, 0.0f)); } // (TODO)自分のデッキやで 仮0スロット目のデッキのカードのID取得 int[] myDeckID = PlayerDataManager.GetPlayerData().GetDeckData(0).GetArray(); // ★デッキデータ for (int i = 0; i < PlayerDeckData.deckMax; i++) { // (11/13)(TODO)取得したデータが何も書かれていなかったら // SetActiveで消す int id = myDeckID[i]; //CardType type = CardType.Fighter; m_aMyDeckCard[i].GetComponent <uGUICard>().SetCardData(CardDataBase.GetCardData(id)); //;= strikerCards[i]; } // コレクション for (int i = 0; i < SelectData.DECK_COLLECTCARD_MAX; i++) { m_aCollectCard[i] = Instantiate(CardPrefab, CollectCardGroup.transform) as GameObject; int StartX = -620; int StartY = 128; m_aCollectCard[i].transform.localPosition = new Vector2(StartX + (150 * (i % 4)), StartY + (i / 4) * -185); m_aCollectCard[i].GetComponent <uGUICard>().SetCardData(all[i]); // (11/13)うんこソート // 先にデッキに入っていないカード状態に m_aCollectCard[i].GetComponent <uGUICard>().NotGrasp_Off(); for (int i2 = 0; i2 < PlayerDeckData.deckMax; i2++) { // ★コレクションにあるカードがすでに被ってたら暗くするソート if (m_aCollectCard[i].GetComponent <uGUICard>().cardData.id == m_aMyDeckCard[i2].GetComponent <uGUICard>().cardData.id) { // デッキに入っている状態 m_aCollectCard[i].GetComponent <uGUICard>().NotGrasp_On(); break; } } // ソート } // forコレクション EventMANTAN(); AbilityMANTAN(); //// カードタイプ //if (CardDataBase.GetCardData(11).cardType == CardType.Fighter) //{ // int a = 0; // a++; //} //if (CardDataBase.GetCardData(11).cardType == CardType.Intercept) //{ // int b = 0; // b++; //} //m_aMyDeckCard[PlayerDeckData.numStriker].GetComponent<uGUICard>().SetCardData;//PlayerDeckData.jorkerCard; //for (int i = 0; i < PlayerDeckData.numEvent; i++) //{ // cards[numStriker + numJoker + i] = eventCards[i]; //} // ステートマシンの初期化や切り替えは最後に行う m_pStateMachine = new BaseEntityStateMachine <SceneDeck>(this); m_pStateMachine.globalState = SceneDeckState.Global.GetInstance(); m_pStateMachine.ChangeState(SceneDeckState.Intro.GetInstance()); return; }
// Use this for initialization void Start() { // 追加1126 システムの初期化をする(WinMainのInitApp) oulSystem.Initialize(); // BGM oulAudio.PlayBGM("Select0", true); // ネットワークオブジェクト取得 networkManager = GameObject.Find("NetworkManager").GetComponent <oulNetwork>(); m_bSceneChange = false; // a.GetComponent<ScreenOutAppeared>().Action(); BlackPanel = Canvas.transform.Find("BlackPanel").gameObject; BlackPanel.SetActive(false); NetBattleGroup = Canvas.transform.Find("NetBattleSecondSelect").gameObject; NetBattleGroup.SetActive(false); MenuPlate = Canvas.transform.Find("MenuButton/MenuPlate").gameObject; InfoPlate = Canvas.transform.Find("Info/InfoPlate").gameObject; // メニュー選択カーソル MenuSelectCursor = Canvas.transform.Find("MenuButton/MenuSelectCursor").gameObject; // 割り当て for (int i = 0; i < (int)MENU_TYPE.END; i++) { switch ((MENU_TYPE)i) { case MENU_TYPE.TOTORIAL: MenuButton[i] = Canvas.transform.Find("MenuButton/TutorialButton").gameObject; Info[i] = Canvas.transform.Find("Info/TutorialInfo").gameObject; break; case MENU_TYPE.BATTLE: MenuButton[i] = Canvas.transform.Find("MenuButton/BattleButton").gameObject; Info[i] = Canvas.transform.Find("Info/BattleInfo").gameObject; break; case MENU_TYPE.DECK: MenuButton[i] = Canvas.transform.Find("MenuButton/DeckButton").gameObject; Info[i] = Canvas.transform.Find("Info/DeckInfo").gameObject; break; case MENU_TYPE.COLLECTION: MenuButton[i] = Canvas.transform.Find("MenuButton/CollectButton").gameObject; Info[i] = Canvas.transform.Find("Info/CollectInfo").gameObject; break; case MENU_TYPE.OPTION: MenuButton[i] = Canvas.transform.Find("MenuButton/OptionButton").gameObject; Info[i] = Canvas.transform.Find("Info/OptionInfo").gameObject; break; case MENU_TYPE.END: Debug.LogWarning("SceneMenu: それ以上のタイプはない。"); break; default: break; } } // 割り当て for (int j = 0; j < (int)MENU_SPHERE_TYPE.END; j++) { switch ((MENU_SPHERE_TYPE)j) { case MENU_SPHERE_TYPE.TOTORIAL: MenuSphere[j] = Canvas.transform.Find("MenuSphere/Tutorial").gameObject; break; case MENU_SPHERE_TYPE.BATTLE: MenuSphere[j] = Canvas.transform.Find("MenuSphere/CpuBattle").gameObject; break; case MENU_SPHERE_TYPE.NET_BATTLE: MenuSphere[j] = Canvas.transform.Find("MenuSphere/NetBattle").gameObject; break; case MENU_SPHERE_TYPE.DECK_CREATE: MenuSphere[j] = Canvas.transform.Find("MenuSphere/Deck").gameObject; break; case MENU_SPHERE_TYPE.COLLECTION: MenuSphere[j] = Canvas.transform.Find("MenuSphere/Collection").gameObject; break; case MENU_SPHERE_TYPE.SHOP: MenuSphere[j] = Canvas.transform.Find("MenuSphere/Shop").gameObject; break; case MENU_SPHERE_TYPE.OPTION: MenuSphere[j] = Canvas.transform.Find("MenuSphere/Option").gameObject; break; case MENU_SPHERE_TYPE.END: break; default: Debug.LogWarning("SceneMenu: そのタイプはない。"); break; } } // for // コイン CoinPlate = Canvas.transform.Find("Info/CoinPlate").gameObject; // IP入力初期化 if (ipInput) { ipInput.text = PlayerDataManager.GetPlayerData().ip; } // ステートマシンの初期化や切り替えは最後に行う m_pStateMachine = new BaseEntityStateMachine <SceneMenu>(this); m_pStateMachine.globalState = SceneMenuState.Global.GetInstance(); m_pStateMachine.ChangeState(SceneMenuState.Intro.GetInstance()); return; // Canvas.transform.Find("BG").position= new Vector3(0, 100, 0); }
// 説明ボタン押したとき public void ClickTipsButton() { m_pStateMachine.ChangeState(SceneMenuState.Tips.GetInstance()); }
// Use this for initialization void Start() { // 追加1126 システムの初期化をする(WinMainのInitApp) oulSystem.Initialize(); // ネットワークメッセージ初期化 MessageManager.Start(SelectData.isNetworkBattle); MessageManager.SetNetworkScene(this); // ネットワークオブジェクト取得 networkManager = GameObject.Find("NetworkManager").GetComponent <oulNetwork>(); networkManager.Restart(); networkType = SelectData.networkType; // ホストかクライアントかを起動 if (networkType == NETWORK_TYPE.HOST) { // ホストウィンドウのプレイヤー名設定 hostWindow.SetPlayerName(PlayerDataManager.GetPlayerData().playerName); // ホストウィンドウにプレイヤー表示 hostWindow.SetPlayerActive(true); // IPアドレス表示 TextIP.gameObject.SetActive(true); TextIP.text = ""; { // ホスト名を取得する string hostname = Dns.GetHostName(); // ホスト名からIPアドレスを取得する IPAddress[] adrList = Dns.GetHostAddresses(hostname); foreach (IPAddress address in adrList) { // IPv4 のみを追加する if (address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) { TextIP.text += address.ToString() + "\r\n"; } } } // ネットワーク開始 if (!networkManager.isNetworkActive) { client = networkManager.StartHost(); } } if (networkType == NETWORK_TYPE.CLIENT) { // クライアントウィンドウのプレイヤー名設定 clientWindow.SetPlayerName(PlayerDataManager.GetPlayerData().playerName); // クライアントウィンドウにプレイヤー表示 clientWindow.SetPlayerActive(true); // ネットワーク開始 if (!networkManager.isNetworkActive) { client = networkManager.StartClient2(PlayerDataManager.GetPlayerData().ip); } } // ステート初期化 // ステートマシンの初期化や切り替えは最後に行う stateMachine = new BaseEntityStateMachine <SceneLobby>(this); stateMachine.globalState = SceneLobbyState.Global.GetInstance(); stateMachine.ChangeState(SceneLobbyState.WaitConnection.GetInstance()); }