示例#1
0
文件: Card.cs 项目: WassyoiTCG/TCG
    void Awake()
    {
        //canvas = GetComponent<Canvas>();
        cacheTransform = transform;

        // ステート初期化
        stateMachine = new BaseEntityStateMachine <Card>(this);
        stateMachine.ChangeState(CardObjectState.None.GetInstance());

        // this.animator.Play("Idle");
    }
示例#2
0
    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);
    }
示例#3
0
    // 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;
    }
示例#4
0
    // 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);
    }
示例#5
0
 // 説明ボタン押したとき
 public void ClickTipsButton()
 {
     m_pStateMachine.ChangeState(SceneMenuState.Tips.GetInstance());
 }
示例#6
0
    // 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());
    }