示例#1
0
 public void EstablishReference()
 {
     MainDiplomacyManager      = MainGameController.GetDiplomacyManager();
     MainCardManager           = MainGameController.GetCardManager();
     MainCardDisplayController = MainGameController.GetCardDisplayController();
     MainUIController          = MainGameController.GetUIController();
     MainRoundManager          = MainGameController.GetRoundManager();
 }
 private void InitializeCardDisplays()
 {
     foreach (CardContainer card in CardManager.baseCardContainers)
     {
         CardDisplayController cardDisplay = Instantiate(cardDisplayControllerPrefab, cardsDisplayScrollRect.content);
         cardDisplay.Initialize(card.card, CollectionUtils.DuplicatesInDeck(CollectionManager.collection, card.card.index), AddCardToOpenDeck, ShowCardTradingUI);
         cardDisplays.Add(cardDisplay);
     }
     DisplayFullCollection();
 }
 private void AddCardToOpenDeck(CardDisplayController card)
 {
     if (openDeck == null)
     {
         return;
     }
     if (CollectionUtils.DuplicatesInList(openDeck.cardIndexes, card.card.index) < 3 &&
         CollectionManager.collection.cardIndexes.Contains(card.card.index))
     {
         openDeck.cardIndexes.Add(card.card.index);
     }
     UpdateOpenDeck();
 }
示例#4
0
	public void removeCardFromDeck(CardDisplayController cardDisplay) {
		listOfCards.Remove(cardDisplay);
		UnityExtentionMethods.destoryAllChildren(cardDisplay.transform);
	}
示例#5
0
	//TODO add card modifiers that can be placed over cards to slightly modify basic values

	//TODO add handler for displaying 2 or more of the same card
	//TODO check max amount of card in deck before adding
	public void addCardToDeck(Card card) {
		CardDisplayController dControler = Instantiate(deckListPrefab, cardListDisplay).GetComponent<CardDisplayController>();
		listOfCards.Add(dControler);
		dControler.setCardDisplay(card, this);
		orderList_cost();
	}
示例#6
0
 public virtual void FetchInfoFromHandCard(CardDisplayController ParaCardDisplayController)
 {
 }
示例#7
0
 public override void FetchInfoFromHandCard(CardDisplayController ParaCardDisplayController)
 {
     // 将卡牌关联的法术实例移交给卡牌详情显示控制器用来刷新显示卡牌
     ParaCardDisplayController.LoadInfoFromSpellInstance(RelativeSpell);
 }
示例#8
0
 public override void FetchInfoFromHandCard(CardDisplayController ParaCardDisplayController)
 {
     ParaCardDisplayController.LoadInfoFromPiece(MinionPiece);
 }
 private void ShowCardTradingUI(CardDisplayController cardDisplay)
 {
     cardTradingUIController.gameObject.SetActive(true);
     cardTradingUIController.Initialize(cardDisplay.card, SellCard, BuyCard);
 }
示例#10
0
    // Use this for initialization
    void Start()
    {
        // 获取位于网络管理器上的网络控制器
        //MainNetworkController = GameObject.Find("NetworkManager").GetComponent<NetworkController>();

        // 向网络管理器注册自己的数据包处理函数
        //MainNetworkController.ManagerRegistion("GameManager", MessageReceive);

        // 用于单场景开发时加载测试使用
        if (GameObject.Find("ClientPlayerManager") == null)
        {
            PlayerID           = 0;
            GameMapID          = "FreedomDay";
            FirstRoundPlayerID = 0;
        }
        else
        {
            MainClientPlayerController = GameObject.Find("ClientPlayerManager").GetComponent <ClientPlayerController>();
            PlayerID           = MainClientPlayerController.GetPlayerID();
            GameMapID          = MainClientPlayerController.GetGameMapID();
            FirstRoundPlayerID = MainClientPlayerController.GetFirstRoundPlayerID();
        }

        // 1. 生成所有游戏必要组件
        //===================================================================================================================
        MainLibraryManager = new LibraryManager(this);

        MainCardManager = new CardManager(this);

        MainResourceManager  = new ResourceManager(this);
        MainDiplomacyManager = new DiplomacyManager(this);
        MainRoundManager     = new RoundManager(this);


        MainEnvironmentManager = new EnvironmentManager(this);
        MainWorldManager       = new WorldManager(this);

        MainGameLoader = new GameLoader(this);

        MainInitialHandCardManager = new InitialHandCardManager(this);

        GameObject CardDisplayManagerPrefab = (GameObject)Resources.Load("Prefabs/Manager/GamePlay/CardDisplayManager");

        CardDisplayManager        = GameObject.Instantiate(CardDisplayManagerPrefab);
        CardDisplayManager.name   = "CardDisplayManager";
        MainCardDisplayController = CardDisplayManager.GetComponent <CardDisplayController>();
        MainCardDisplayController.Initialize(this);

        GameObject InputManagerPrefab = (GameObject)Resources.Load("Prefabs/Manager/GamePlay/InputManager");

        InputManager        = GameObject.Instantiate(InputManagerPrefab);
        InputManager.name   = "InputManager";
        MainInputController = InputManager.GetComponent <InputController>();
        MainInputController.SetCurrentPlayerID(PlayerID);
        MainInputController.Initialize(this);

        GameObject MessageManagerPrefab = (GameObject)Resources.Load("Prefabs/Manager/GamePlay/MassageManager");

        MessageManager        = GameObject.Instantiate(MessageManagerPrefab);
        MessageManager.name   = "MessageManager";
        MainMessageController = MessageManager.GetComponent <MessageController>();
        MainMessageController.Initialize(this);


        GameObject UIManagerPrefab = (GameObject)Resources.Load("Prefabs/Manager/GamePlay/UIManager");

        UIManager        = GameObject.Instantiate(UIManagerPrefab);
        UIManager.name   = "UIManager";
        MainUIController = UIManager.GetComponent <UIController>();
        MainUIController.Initialize(this);

        //2. 将游戏组件中的refernece建立
        //===================================================================================================================

        MainLibraryManager.EstablishReference();
        MainCardManager.EstablishReference();
        MainResourceManager.EstablishReference();
        MainDiplomacyManager.EstablishReference();
        MainRoundManager.EstablishReference();
        MainEnvironmentManager.EstablishReference();
        MainWorldManager.EstablishReference();
        MainGameLoader.EstablishReference();
        MainInitialHandCardManager.EstablishReference();

        MainCardDisplayController.EstablishReference();
        MainInputController.EstablishReference();
        MainMessageController.EstablishReference();
        MainUIController.EstablishReference();

        // 参数设置
        //===================================================================================================================

        MainRoundManager.SetCurrentRoundPlayerID(FirstRoundPlayerID);
        MainGameLoader.SetGameMapID(GameMapID);

        //===================================================================================================================
        MainLibraryManager.LoadGameDataFromXML();

        MainGameLoader.LoadGame();



        // 生成发送信息
        string SendMessage = "";

        // 通知网络管理器发送信息
        //CurrentMessageToBeSent = MainNetworkController.AddMessageInSendList(SendMessage);



        MainInitialHandCardManager.GenerateInitialHandCard(3);
    }