Example #1
0
    public CGCardObject(CardData data, CardGameManager cgManager, CGPlayerLogic owner)
    {
        // Load card object data from card data
        m_cardName       = data.cardName;
        m_channelCost    = data.channelCost;
        m_attributes     = data.cardAttributes;
        m_turnsRemaining = m_channelCost;

        // Create an instance of the card script
        if (data.cardScriptName == "")
        {
            Debug.LogError("No script specified for card: " + m_cardName);
        }
        else
        {
            m_script = System.Activator.CreateInstance(System.Type.GetType(data.cardScriptName), new object[] { }) as CardScript;
            m_script.SetScriptData(data, cgManager, this);
        }

        m_owner      = owner;
        m_controller = owner;

        // Create unique card ID
        m_cardID = m_allCardIDs.Count;
        m_allCardIDs.Add(m_allCardIDs.Count);

        m_data = data;
    }
Example #2
0
 public void SetScriptData(CardData data, CardGameManager cgManager, CGCardObject card)
 {
     m_data       = data;
     m_cgManager  = cgManager;
     m_card       = card;
     m_attributes = m_data.cardAttributes;
 }
Example #3
0
 void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
     else
     {
         Destroy(gameObject);
     }
 }
Example #4
0
    public CGPlayerLogic(CardGameManager cgManager, int playerID)
    {
        m_hand      = new CGHandLogicZone(this, cgManager);
        m_deck      = new CGDeckLogicZone(this, cgManager);
        m_spells    = new CGSpellLogicZone(this, cgManager);
        m_graveyard = new CGGraveyardLogicZone(this, cgManager);
        m_cgManager = cgManager;
        m_ID        = playerID;
        m_hasDeck   = false;

        FillDeckRandom();
    }
Example #5
0
    public CGPlayerLogic(CardGameManager cgManager, int playerID)
    {
        m_hand      = new CGHandLogicZone(this, cgManager);
        m_deck      = new CGDeckLogicZone(this, cgManager);
        m_spells    = new CGSpellLogicZone(this, cgManager);
        m_graveyard = new CGLogicZone(this, cgManager);
        m_cgManager = cgManager;
        m_ID        = playerID;

        CardData[] deck     = new CardData[30];
        Object[]   allCards = Resources.LoadAll("CardDB/Cards");

        for (int i = 0; i < 30; i++)
        {
            int randomIndex = Random.Range(0, allCards.Length);
            deck[i] = (CardData)allCards[randomIndex];
            //Debug.Log("Added " + deck[i].cardName + " to deck");
        }
        m_deck.Populate(deck);
    }
 public void SetUp(CardGameManager GM, CardGameState GS, TurnInfo TI)
 {
     TheCardGameManager = GM;
     TheCardGameState   = GS;
     TheTurnInformation = TI;
 }
Example #7
0
 public CGLogicZone(CGPlayerLogic player, CardGameManager cgManager)
 {
     m_cards     = new List <CGCardObject>();
     m_player    = player;
     m_cgManager = cgManager;
 }
Example #8
0
 void InitialiseGame()
 {
     m_cgManager = new CardGameManager(m_connection);
     m_cgManager.RunGameLogic();
 }
Example #9
0
 public CGSpellLogicZone(CGPlayerLogic player, CardGameManager cgManager) : base(player, cgManager)
 {
 }
Example #10
0
 public override void ExecuteCommand(CardGameManager cgm)
 {
     cgm.PlayCardFromHand(m_playerID, m_cardID);
 }
Example #11
0
 public CGGraveyardLogicZone(CGPlayerLogic player, CardGameManager cgManager) : base(player, cgManager)
 {
 }
Example #12
0
        static void Main(string[] args)
        {
            int port;

            ParseArgs(out port, args);

            ServerConnectionManager.Instance.InitializeServer(IPAddress.Any, port);

            Debug.Log("Waiting for connection...");
            ServerConnectionManager.Instance.ConnectToClient(0);
            Debug.Log("Waiting for connection...");
            ServerConnectionManager.Instance.ConnectToClient(1);
            Debug.Log("Both players connected! Starting game...");

            CGC_SetPlayerID setPlayer0 = new CGC_SetPlayerID(0);

            ServerConnectionManager.Instance.TransmitStream(setPlayer0.PackCommand(), 0);
            CGC_SetPlayerID setPlayer1 = new CGC_SetPlayerID(1);

            ServerConnectionManager.Instance.TransmitStream(setPlayer1.PackCommand(), 1);

            bool playing = true;

            CardGameManager cgManager = new CardGameManager();

            cgManager.RunGameLogic();

            while (playing)
            {
                SGCommand player1Command = ServerConnectionManager.Instance.ReceiveStream(0);
                if (player1Command != null)
                {
                    player1Command.ExecuteCommand(cgManager);
                }

                SGCommand player2Command = ServerConnectionManager.Instance.ReceiveStream(1);
                if (player2Command != null)
                {
                    player2Command.ExecuteCommand(cgManager);
                }

                bool connected = ServerConnectionManager.Instance.Connected();
                playing = connected;
            }


            /* TO-DO list
             *  1. Replace all "CGVisualManager.instance.AddCommand(command)" calls with transmitting
             *      the appropriate bitstream to each client
             *  2. Replace all the scripts in the unity project with these ones
             *  3. Re-build this project using the scripts in the unity folder so both projects use the same files
             *  4. Write a servercommand system similar to CGCommand for
             *     sending requests back to the server
             *  5. Document how everything works!
             *  6. Add wait in main server loop
             *
             *
             *
             *
             */
        }
    public GameRunner(CardGameManager icgm){
		cgm = icgm;
	}
Example #14
0
 public override void ExecuteCommand(CardGameManager cgm)
 {
     cgm.CastSpellFromChannel0(m_cardID, m_targetID, m_playerID);
 }
Example #15
0
    public string[] QuestionWords;                               // 10


    public void Awake()
    {
        Instance = this;
        CanDraw  = false;
    }
 public void Awake()
 {
     _instance = this;
     cardLib = GetComponent<CardLib>();
 }
Example #17
0
 public override void ExecuteCommand(CardGameManager cgm)
 {
 }
Example #18
0
 public abstract void ExecuteCommand(CardGameManager cgm);
Example #19
0
 public override void ExecuteCommand(CardGameManager cgm)
 {
     cgm.AssignDeck(m_deck, m_playerID);
 }