예제 #1
0
    private void Awake()
    {
        fsm = new GameFSM();
        fsm.Initialize();

        instance = this;
    }
예제 #2
0
 private void Awake()
 {
     MainFsm  = new GameFSM();
     Instance = this;
     DontDestroyOnLoad(this);
     Init();
 }
예제 #3
0
    private async void Awake()
    {
        var tableLoader = new TableLoader();
        await tableLoader.LoadAllTableAsync();

        TempDI.TableLoader = tableLoader;

        var sceneManager = new SceneManagerAdapter();

        TempDI.SceneManager = sceneManager;

        var uiManager = new UIManager(tableLoader.GetTable <IUIPath>(), sceneManager);

        TempDI.UIManager = uiManager;
        await uiManager.Init();

        var roomManager = new RoomManager();

        TempDI.RoomManager = roomManager;

        var gameFSM = new GameFSM(sceneManager, uiManager, roomManager);

        TempDI.GameFSM = gameFSM;

        await gameFSM.ChangeFSMAsync(eGameFSM.StartUp);
    }
예제 #4
0
    private void Awake()
    {
        fsm = new GameFSM();
        fsm.Initialize();

        instance = FindObjectOfType <GameManager>();
    }
    public void Awake()
    {
        animals   = new List <Animal>();
        chickens  = new List <Chicken>();
        pathNodes = new List <GameObject>();
        spawners  = new List <AbstractSpawner>();

        fsm = new GameFSM();
        fsm.Initialize();
    }
예제 #6
0
    private void Awake()
    {
        instance = this;
        fsm      = new GameFSM();
        fsm.Initialize(this);

        fsm.AddState(GameStateType.Play, new PlayState());
        fsm.AddState(GameStateType.Win, new WinState());
        fsm.AddState(GameStateType.Dead, new DeadState());

        fsm.GotoState(GameStateType.Play);

        // level timer
        timer = startTime;
    }
예제 #7
0
 public void Initialize(GameFSM owner)
 {
     this.owner  = owner;
     gameManager = owner.owner;
 }
예제 #8
0
        public void Start()
        {
            //int iii = 0;
            //OrderControl.Instance.Init();
            //Action<DriverOrderCode> action = (DriverOrderCode order) => { iii++; };
            //OrderControl.Instance.AddListener(action);
            //OrderControl.Instance.RemoveListener(action);
            //OrderControl.Instance.AddListener((DriverOrderCode order) =>
            //{
            //    iii+=10000;
            //    //throw new Exception();
            //});
            //OrderControl.Instance.AddListener(1,(DriverOrderCode order) =>
            //{
            //    throw new Exception();
            //});
            //OrderControl.Instance.RemoveListener<DriverOrderCode>(1);
            //byte[] buffer;
            //DriverOrderCode orderCode = new DriverOrderCode();
            //orderCode.index = 1;
            //orderCode.targer = 2;
            //orderCode.value = 3;
            //orderCode.vector = new IntVector2(4, 5);
            //buffer = orderCode.ToBytes();

            //OrderControl.Instance.RunListener(buffer);
            //long t = TestTool.RunTime(() =>
            //{
            //    for (int i = 0; i < 10000; i++)
            //    {
            //        OrderControl.Instance.RunListener(buffer);
            //    }
            //});
            //Console.WriteLine("[方法]" + t + "ms");
            //throw new Exception();
            //OrderCode order = new OrderCode();
            //order.origin = 123;
            //order.vector = new IntVector2(1, 2);
            //order.value = 999;
            //order.targer = 33;
            //byte[] aaa = OrderControl.Instance.ReflectOrderToBytes(order);
            //byte[] bbb = order.ToBytes();

            //long t = TestTool.RunTime(() =>
            //{
            //    OrderCode o1 = OrderControl.Instance.ReflectBytesToOrder<OrderCode>(aaa);
            //});
            //Console.WriteLine("[方法1]" + t + "ms");
            //t = TestTool.RunTime(() =>
            //{
            //    OrderCode o2;
            //    for (int i = 0; i < 100; i++)
            //    {
            //        o2 = OrderControl.Instance.ReflectBytesToOrder<OrderCode>(bbb);
            //    }
            //});
            //Console.WriteLine("[方法2]" + t + "ms");
            //t = TestTool.RunTime(() =>
            //{
            //    OrderCode o3;
            //    for (int i = 0; i < 100; i++)
            //    {
            //        o3 = new OrderCode(bbb);
            //    }
            //});
            //Console.WriteLine("[方法3]" + t + "ms");

            EntityModel test = new EntityModel();

            test.Id         = "TestUnit";
            test.name       = "Test";
            test.components = new List <EntityComponent>();
            test.components.Add(new EntityController());
            test.components.Add(new EntityDriver());
            test.ToXml("./Base/Entity/Test/Test.xml", "TestUnit");
            //test.ToXml("D:/Program/ServerRuntimeProject/ServerRuntimeCmd/ServerRuntimeCmd/bin/Debug/Base/Entity/Test/Test.xml", "TestUnit");


            EntityModel a = test.Clone();
            EntityModel b = test.Clone();

            ((EntityDriver)a.components[1]).count = 888;
            ((EntityDriver)b.components[1]).count = 777;

            BufferData data = new BufferData();

            data.entitys = new KeyValuePair <int, EntityModel>[2]
            {
                new KeyValuePair <int, EntityModel>(123, a),
                new KeyValuePair <int, EntityModel>(456, b)
            };
            data.ToXml("./EntityCache.xml", "null");

            netFSM = new NetFSM();
            netFSM.Init();

            gameFSM = new GameFSM();
            gameFSM.Init();
        }
예제 #9
0
 public PlayState(GameFSM FSM) : base(FSM)
 {
 }
예제 #10
0
 public PauseState(GameFSM FSM) : base(FSM)
 {
 }
예제 #11
0
 private void Start()
 {
     MainFsm = new GameFSM();
     GameController.Instance.AddView(this);
 }
예제 #12
0
 public PreMenuState(GameFSM FSM) : base(FSM)
 {
 }
예제 #13
0
 public void Initialize( MonoFSM callingfsm )
 {
     gameFSM = (GameFSM)callingfsm;
 }
예제 #14
0
 // public constructor which will pass variables to each of the states
 public GameState(GameFSM FSM)
 {
     gameFSMObject = FSM;
 }
예제 #15
0
 private void Start()
 {
     stateMachine = GetComponent <GameFSM>();
     stateMachine.changeState(new PreMenuState(stateMachine));
 }
예제 #16
0
 public void Initialize(GameFSM _owner)
 {
     owner = _owner;
     gm    = _owner.owner;
 }