コード例 #1
0
        static void Main(string[] args)
        {
            Hashtable json = ( Hashtable )MiniJSON.JsonDecode(Encoding.UTF8.GetString(Resources.matching));

            Hashtable[] instanceDefs = json.GetMapArray("instances");
            foreach (Hashtable instanceDef in instanceDefs)
            {
                MatchSystem matchSystem = new MatchSystem();
                matchSystem.InitFromDefs(instanceDef);
                _matchingSystems.Add(matchSystem);
            }

            _matchingSystems[0].eventHandler = (t, u, s) =>
            {
                switch (t)
                {
                case MatchEvent.Type.MatchSuccess:
                    Console.WriteLine("success:" + s.Dump());
                    break;
                }
            };

            _inputHandler = new InputHandler {
                cmdHandler = HandleInput
            };
            _inputHandler.Start();

            MainLoop();
        }
コード例 #2
0
ファイル: QueryTests.cs プロジェクト: cdhanna/Dialog
        public void Match_C1()
        {
            var rules = new Rule[]
            {
                new Rule("RULE_A",
                         new Criterion("x", 1),
                         new Criterion("y", 2)
                         ),
                new Rule("RULE_B",
                         new Criterion("x", 1)
                         ),
                new Rule("RULE_C",
                         new Criterion("x", 1),
                         new Criterion("z", 3)
                         )
            };

            var queries = new Query[] {
                new Query(
                    new QueryComponent("x", 1),
                    new QueryComponent("y", 3)
                    ),
                new Query(
                    new QueryComponent("z", 3)
                    )
            };

            var m      = new MatchSystem();
            var output = m.Match(queries.ToList(), rules.ToList());

            Assert.AreEqual(output.Id, "RULE_C");
        }
コード例 #3
0
    void Start()
    {
        // Add systems here
        DialogSystem dls = new DialogSystem();

        AddSystem(dls);
        PreMatchDialogSystem pmds = new PreMatchDialogSystem();

        AddSystem(pmds);
        MatchSystem ms = new MatchSystem();

        AddSystem(ms);

        AnimationSystem ans = new AnimationSystem();

        AddSystem(ans);
        TouchSystem ts = new TouchSystem();

        AddSystem(ts);
        UISystem uis = new UISystem();

        AddSystem(uis);
        PauseSystem ps = new PauseSystem();

        AddSystem(ps);
        DestroySystem ds = new DestroySystem();

        AddSystem(ds);

        //AdSystem ads = new AdSystem();
        //AddSystem(ads);

        Enable();
        Setup();
    }
コード例 #4
0
ファイル: GawangAi.cs プロジェクト: falakh/SimpleHoky
 void OnCollisionEnter(Collision other)
 {
     if (other.gameObject.GetComponent <Bola>() != null)
     {
         MatchSystem.aiGetScore();
     }
 }
コード例 #5
0
 public void TestSetup()
 {
     game           = new Container();
     actionSystem   = game.AddAspect <ActionSystem> ();
     dataSystem     = game.AddAspect <DataSystem> ();
     matchSystem    = game.AddAspect <MatchSystem> ();
     testSkipSystem = game.AddAspect <TestSkipSystem> ();
     game.Awake();
 }
コード例 #6
0
ファイル: QueryTests.cs プロジェクト: cdhanna/Dialog
        public void Match_Lower()
        {
            var rules = new Rule[]
            {
                new Rule("RULE_A",
                         new Criterion("x", CriterionOperator.LESS_EQ, 1)
                         )
            };

            var queries = new Query[] {
                new Query(
                    new QueryComponent("x", 1)
                    )
            };

            var m      = new MatchSystem();
            var output = m.Match(queries.ToList(), rules.ToList());

            Assert.AreEqual(output.Id, "RULE_A");
        }
コード例 #7
0
ファイル: QueryTests.cs プロジェクト: cdhanna/Dialog
        public void Match_Lower_And_Higher_Not()
        {
            var rules = new Rule[]
            {
                new Rule("RULE_A",
                         new Criterion("x", CriterionOperator.GREATER_EQ, 2),
                         new Criterion("x", CriterionOperator.LESS_EQ, 4)
                         )
            };

            var queries = new Query[] {
                new Query(
                    new QueryComponent("x", 5)
                    )
            };

            var m      = new MatchSystem();
            var output = m.Match(queries.ToList(), rules.ToList());

            Assert.IsNull(output);
        }
コード例 #8
0
ファイル: QueryTests.cs プロジェクト: cdhanna/Dialog
        public void Match_MissingCrit()
        {
            var rules = new Rule[]
            {
                new Rule("RULE_A",
                         new Criterion("x", 1),
                         new Criterion("y", 2)
                         )
            };

            var queries = new Query[] {
                new Query(
                    new QueryComponent("x", 1)
                    )
            };

            var m      = new MatchSystem();
            var output = m.Match(queries.ToList(), rules.ToList());

            Assert.IsNull(output);
        }
コード例 #9
0
ファイル: MatchSystem.cs プロジェクト: FlashEnix/MoDung
 private void Awake()
 {
     instance = this;
 }
コード例 #10
0
ファイル: MatchSystem.cs プロジェクト: zhangxinyu1120/Samples
 public MatchSystem()
 {
     s_singletonInstance = this;
 }