Esempio n. 1
0
    public void PutCard(DeckTag putDeck, int playerCardIndex, bool isBack = false, float reverseTime = 0.5f)
    {
        var deck        = DeckSystem.GetInstance().GetDeck(putDeck);
        var putCardIdx  = PlayerCard[playerCardIndex].GetCardIndex();
        var putShapeIdx = PlayerCard[playerCardIndex].GetShapeIndex();

        PlayerCard[playerCardIndex].transform.DOMove(deck.GetPosition(), 0.5f);
        PlayerCard[playerCardIndex].transform.DORotate(deck.GetAngle(), 0.5f);

        if (isBack)
        {
            CardAnimationSystem.GetInstance().ReverseAnimation(
                PlayerCard[playerCardIndex], reverseTime);
        }

        deck.AddCard(PlayerCard[playerCardIndex]);

        //////////////////////////////////////
        /// TODO : 커플링으로 인해 분리해야함
        RuleSystem.GetInstance().AddAttackCardDamage(putCardIdx, putShapeIdx);
        AlertSystem.GetInstance().AddAlerts(putCardIdx, putShapeIdx);
        //////////////////////////////////////

        IsPutCard = true;

        PlayerCard.RemoveAt(playerCardIndex);

        RePosition();

        NetworkSystem.GetInstance().SendServer(string.Format("PUT-CARD:{0}:{1}", PlayerId, playerCardIndex));
    }
 private void Awake()
 {
     player      = FindObjectOfType <Player>();
     viewInfo    = FindObjectOfType <ShowDetails>();
     mainGov     = FindObjectOfType <MainGovernment>();
     clock       = FindObjectOfType <InGameTime>();
     alertSystem = FindObjectOfType <AlertSystem>();
     cities      = new List <City>(FindObjectsOfType <City>());
 }
        static void Main(string[] args)
        {
            IAlertSystem system = new AlertSystem();
            bool         flag   = true;

            while (flag)
            {
                string input = Console.ReadLine();
                if (string.IsNullOrEmpty(input))
                {
                    flag = false;
                }
                else
                {
                    CommandUtil.ReadString(input, system);
                }
            }
        }
Esempio n. 4
0
    private void Start()
    {
        this.alertSystem = ServiceLocator.Instance.GetAlertSystem();
        foreach (City c in ServiceLocator.Instance.GetCities())
        {
            c.OnEndRaiding.AddListener(delegate { RestoreTyranny(80); });
            c.OnEndPacifying.AddListener(delegate { RestoreTyranny(150); });
            c.OnEndInfiltrating.AddListener(delegate { RestoreTyranny(10); });
            c.OnEndEndingDemonstrations.AddListener(delegate { RestoreTyranny(250); });
            c.OnEndGenocide.AddListener(delegate { RestoreTyranny(300); });
        }
        InGameTime clock = ServiceLocator.Instance.GetClock();

        clock.OnDaily.AddListener(delegate
        {
            Survey();
            Strategy();
            EndSurvey();
        });
        currentTyranny = TotalTyranny;
    }
Esempio n. 5
0
 public void EndAttackTurn()
 {
     RuleSystem.GetInstance().IsAttackTurn     = false;
     RuleSystem.GetInstance().SaveAttackDamage = 0;
     AlertSystem.GetInstance().ClearAlert();
 }