private void RegisterButtonInput()
        {
            // Canvas has a selected element? Ignore ALL button input.
            if (UnityEngine.EventSystems.EventSystem.current.currentSelectedGameObject != null)
            {
                return;
            }

            bool isKey_alt     = Input.GetKey(KeyCode.LeftAlt) || Input.GetKey(KeyCode.RightAlt);
            bool isKey_control = Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl);
            bool isKey_shift   = Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift);

            // SHIFT + ___
            if (isKey_shift)
            {
            }
            // CONTROL + ___
            if (isKey_control)
            {
                // CONTROL + DELETE = Clear all save data!
                if (Input.GetKeyDown(KeyCode.Delete))
                {
                    GameManagers.Instance.DataManager.ClearAllSaveData();
                    SceneHelper.ReloadScene();
                    return;
                }
            }

            // NOTHING + _____
            if (!isKey_alt && !isKey_shift && !isKey_control)
            {
                // Scene Changing
                if (Input.GetKeyDown(KeyCode.Return))
                {
                    SceneHelper.ReloadScene(); return;
                }
                else if (Input.GetKeyDown(KeyCode.G))
                {
                    SceneHelper.OpenScene(SceneNames.Gameplay); return;
                }
                else if (Input.GetKeyDown(KeyCode.J))
                {
                    SceneHelper.OpenScene(SceneNames.RoomJump); return;
                }
                else if (Input.GetKeyDown(KeyCode.M))
                {
                    SceneHelper.OpenScene(SceneNames.MapEditor); return;
                }
            }
        }
Esempio n. 2
0
    private void RegisterButtonInput()
    {
        bool isKey_alt     = Input.GetKey(KeyCode.LeftAlt) || Input.GetKey(KeyCode.RightAlt);
        bool isKey_control = Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl);
        bool isKey_shift   = Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift);

        // ~~~~ DEBUG ~~~~
        // Scene Changing
        if (Input.GetKeyDown(KeyCode.Return))
        {
            SceneHelper.ReloadScene(); return;
        }
        else if (Input.GetKeyDown(KeyCode.C))
        {
            SceneHelper.OpenScene(SceneNames.Gameplay); return;
        }
        else if (Input.GetKeyDown(KeyCode.C))
        {
            SceneHelper.OpenScene(SceneNames.ClustSelMap); return;
        }
        else if (Input.GetKeyDown(KeyCode.M))
        {
            SceneHelper.OpenScene(SceneNames.MapEditor); return;
        }
        else if (Input.GetKeyDown(KeyCode.J))
        {
            SceneHelper.OpenScene(SceneNames.RoomJump); return;
        }


        // ALT + ___
        if (isKey_alt)
        {
        }
        // SHIFT + ___
        if (isKey_shift)
        {
        }
        // CONTROL + ___
        if (isKey_control)
        {
            // CONTROL + DELETE = Clear all save data!
            if (Input.GetKeyDown(KeyCode.Delete))
            {
                GameManagers.Instance.DataManager.ClearAllSaveData();
                SceneHelper.ReloadScene();
                return;
            }
        }
    }
Esempio n. 3
0
        public ActionResult NotAttention(long id)
        {
            BonusModel bonusModel = new BonusModel(_bonusService.Get(id));
            //string str = AccessTokenContainer.TryGetToken(_siteSetting.WeixinAppId, _siteSetting.WeixinAppSecret, false);
            string str = CommonApi.GetToken(_siteSetting.WeixinAppId, _siteSetting.WeixinAppSecret).access_token;
            //
            SceneHelper sceneHelper = new SceneHelper();
            int         num         = sceneHelper.SetModel(new SceneModel(QR_SCENE_Type.Bonus, bonusModel), 600);
            //string str1 = QrCodeApi.Create(str, 86400, num, 10000).ticket;
            string str1 = Senparc.Weixin.MP.AdvancedAPIs.QrCodeApi.Create(str, 86400, num, QrCode_ActionName.QR_SCENE).ticket;

            ViewBag.ticket = str1;
            return(View("~/Areas/Mobile/Templates/Default/Views/Bonus/NotAttention.cshtml", bonusModel));
        }
        public void Teardown()
        {
            SceneHelper.TearDownScene(mockScene);
            SceneHelper.TearDownScene(neighbor1left0up);
            SceneHelper.TearDownScene(neighbor2left0up);
            SceneHelper.TearDownScene(neighbor3left0up);

            SceneHelper.TearDownScene(neighbor2left1up);

            SceneHelper.TearDownScene(neighbor0left2up);
            SceneHelper.TearDownScene(neighbor1left2up);
            SceneHelper.TearDownScene(neighbor2left2up);
            SceneHelper.TearDownScene(neighbor3left2up);
        }
Esempio n. 5
0
    public void EndFight()
    {
        // 同步战斗中损失到阵型
        InstancePlayer.instance.model_User.model_Formation.SyncBattleDamageUnit();

        bool isOffline = IsStartOfOffline();

        if (isOffline)
        {
            SceneHelper.SwitchScene(AppConfig.SCENE_NAME_BATTLE_OFFLINE);
        }
        else
        {
            _isBattleWin = InstancePlayer.instance.battle.IsPlayerWin();

            Model_Mission modelMission   = InstancePlayer.instance.model_User.model_level.GetMission(InstancePlayer.instance.battle.mission.magicId);
            int           battleStarMask = InstancePlayer.instance.battleEvaluation.starMask;  // _isBattleWin ? 7 : 0;
            battleStarMask |= modelMission.starMask;

            List <SlgPB.UnitGroup> deadUnits = PBConnect_finishBattle.GetPlayerDeadUnits();
            int fightId = InstancePlayer.instance.currentFightId;

            PBConnect_finishBattle.FinishBattle(fightId, deadUnits, _isBattleWin, battleStarMask, OnEndFight);


            /*
             * FinishBattleRequest request = new FinishBattleRequest ();
             * request.api = new Model_ApiRequest ().api;
             *
             * request.fightId = InstancePlayer.instance.currentFightId;
             * ListHelper.Push (request.unitGroup, PBConnect_finishBattle.GetPlayerDeadUnits ());
             *
             * if(InstancePlayer.instance.battle.IsPlayerWin ())
             * {
             *      request.fightResult = (int)PBConnect_finishBattle.FIGHT_RESULT.WIN;
             *      request.star = 7;
             *      _isBattleWin = true;
             * }
             * else
             * {
             *      request.fightResult = (int)PBConnect_finishBattle.FIGHT_RESULT.LOSS;
             *      request.star = 0;
             *      _isBattleWin = false;
             * }
             *
             * (new PBConnect_finishBattle ()).Send (request, OnEndFight);
             */
        }
    }
Esempio n. 6
0
 private void lose()
 {
     battleOver = true;
     LogAction("You lost!", () => {
         UnityEngine.Object gameOverPrefab = Resources.Load("Prefabs/UI/GameOverCanvas");
         GameObject gameOverCanvas         = Instantiate(gameOverPrefab) as GameObject;
         GameObject panel = gameOverCanvas.transform.GetChild(0).gameObject;
         Graphic image    = panel.GetComponent <Image>();
         image.canvasRenderer.SetAlpha(0.0f);
         image.CrossFadeAlpha(1.0f, 3.0f, true);
         StartCoroutine(AsyncHelper.WaitFor(() => image.canvasRenderer.GetAlpha() >= 1.0f, () => {
             StartCoroutine(AsyncHelper.WaitForSeconds(5, () => SceneHelper.GoToScene("MainMenu")));
         }));
     });
 }
Esempio n. 7
0
        //未关注
        public ActionResult NotAttention(long id)
        {
            BonusModel model    = new BonusModel(this._iBonusService.Get(id));
            var        settings = SiteSettingApplication.SiteSettings;
            //TODO:改成统一的方式取 Token
            var token = AccessTokenContainer.TryGetAccessToken(settings.WeixinAppId, settings.WeixinAppSecret);

            SceneHelper helper  = new SceneHelper();
            SceneModel  scene   = new SceneModel(QR_SCENE_Type.Bonus, model);
            int         sceneId = helper.SetModel(scene);
            var         ticket  = QrCodeApi.Create(token, 86400, sceneId, QrCode_ActionName.QR_LIMIT_SCENE, null, 10000).ticket;

            ViewBag.ticket = ticket;
            return(View("~/Areas/Mobile/Templates/Default/Views/Bonus/NotAttention.cshtml", model));
        }
Esempio n. 8
0
 public void DisplayCard(CardData data)
 {
     if (data == null)
     {
         SceneHelper.DestroyChildrenInParent(parent);
     }
     else
     {
         SceneHelper.DestroyChildrenInParent(parent);
         GameObject card   = Instantiate(cardPrefab);
         CardUI     script = card.GetComponent <CardUI>();
         script.Data = data;
         card.transform.SetParent(parent, false);
     }
 }
Esempio n. 9
0
    private void Shoot()
    {
        GameObject newBullet = Instantiate(ResourcesLoader.GetBullet(), transform.position, transform.rotation);

        newBullet.tag = "EnemyBullet";
        var spaceshipController = SceneHelper.GetSpaceship().GetComponent <SpaceshipController>();
        var bulletForce         = spaceshipController.bulletForce;
        var bulletLifeTime      = spaceshipController.bulletLifeTime;

        newBullet.GetComponent <Rigidbody2D>().AddRelativeForce(
            new Vector2(Random.Range(-1.0f, 1.0f), Random.Range(-1.0f, 1.0f)).normalized *bulletForce);
        Destroy(newBullet, bulletLifeTime);

        Invoke(nameof(Shoot), 1 / rateOfFire);
    }
Esempio n. 10
0
        //未关注
        public ActionResult NotAttention(long id)
        {
            BonusModel model = new BonusModel(this._iBonusService.Get(id));
            //TODO:改成统一的方式取 Token
            var token = AccessTokenContainer.TryGetToken(this._siteSetting.WeixinAppId, this._siteSetting.WeixinAppSecret);

            SceneHelper helper = new SceneHelper();

            Himall.Model.SceneModel scene = new SceneModel(QR_SCENE_Type.Bonus, model);
            int sceneId = helper.SetModel(scene);
            var ticket  = Senparc.Weixin.MP.AdvancedAPIs.QrCode.QrCodeApi.Create(token, 86400, sceneId).ticket;

            ViewBag.ticket = ticket;
            return(View("~/Areas/Mobile/Templates/Default/Views/Bonus/NotAttention.cshtml", model));
        }
Esempio n. 11
0
        public void Death()
        {
            int i = 0;

            while (_effect.Duration > 0 && i < 100)
            {
                Scene.ActorWait();
            }

            Assert.That(i > 400, Is.False, "Cycle error");
            Assert.That((int)Scene.Actors.Find(x => SceneHelper.GetOrderByGuid(x.ExternalId) == 1).DamageModel.Health, Is.EqualTo(70), "Actor health after impact");
            Assert.That(_effect.Duration, Is.LessThanOrEqualTo(0), "Effect duration");
            Assert.That(_effect.IsAlive, Is.False, "Is alive");
            Assert.That(SyncMessages[SyncMessages.Count() - 1].SyncInfo.DeletedEffects.Count(), Is.EqualTo(1), "Count of deleted effects");
        }
Esempio n. 12
0
        public ActionResult CanReceiveNotAttention(long id, string openId = "", decimal price = 0)
        {
            ViewBag.Price = price;
            BonusModel model = new BonusModel(this._iBonusService.Get(id));
            //TODO:改成统一的方式取 Token
            var token = AccessTokenContainer.TryGetToken(this._siteSetting.WeixinAppId, this._siteSetting.WeixinAppSecret);

            SceneHelper helper   = new SceneHelper();
            var         qrTicket = Senparc.Weixin.MP.AdvancedAPIs.QrCode.QrCodeApi.Create(token, 86400, 123456789).ticket;

            ViewBag.ticket   = Application.WXApiApplication.GetTicket(this._siteSetting.WeixinAppId, this._siteSetting.WeixinAppSecret);
            model.ImagePath  = HimallIO.GetFilePath(model.ImagePath);
            ViewBag.OpenId   = openId;
            ViewBag.QRTicket = qrTicket;
            return(View(model));
        }
Esempio n. 13
0
        public void LoadConfigs()
        {
            Debug.Log("Load Web Configs");

            List <string> ids = ConfigLoaderHelper.GetConsumableIds(UrlLoader, ParamsManager, _webViewClient);

            if (ids.Count > 0)
            {
                GlobalFacade.ConfigsLoader.Load(ids, InitConfigs);
            }
            else
            {
                Debug.Log("WebVariant1 // There is no configs to load / load next scene");
                SceneHelper.LoadNextScene();
            }
        }
Esempio n. 14
0
 private void MakeRoomContainer(NeutronRoom room)
 {
     if (Neutron.Server.MatchmakingMode == MatchmakingMode.Room || Neutron.Server.MatchmakingMode == MatchmakingMode.All)
     {
         if (room.Scene == null)
         {
             string containerName = $"Room({room.Id}) - [Container] - {SceneHelper.GetSideTag(IsServer)}";
             //* Cria um container(scene) para a nova sala, somente se não existir um.
             room.Scene = SceneHelper.CreateContainer(containerName, Neutron.Server.LocalPhysicsMode);
             GameObject matchManager = SceneHelper.MakeMatchmakingManager(room.Owner, IsServer, Server);
             SceneHelper.MoveToContainer(matchManager, containerName);
             //* Registra os objetos de cena.
             NeutronSceneObject.OnSceneObjectRegister(room.Owner, IsServer, room.Scene, MatchmakingMode.Room, room, Server);
         }
     }
 }
 public void OnPlayerTouchRoomDoor(RoomDoor rd)
 {
     // TEMP TEST: If no Room to go to, open ClustSelect scene!
     if (string.IsNullOrEmpty(rd.RoomToKey))
     {
         OnPlayerExitRoom(rd.MyRoom);
         SceneHelper.OpenScene(SceneNames.ClustSelMap);
     }
     // Otherwise...
     else
     {
         // TEMP HACK: Tell CharSwapController, in case it's a Trial end.
         charSwapController.Temp_OnPlayerTouchRoomDoor(rd);
         GoToRoomDoorRoom(rd);
     }
 }
Esempio n. 16
0
        public void Setup()
        {
            mockScene = SceneHelper.CreateScene(REGION_PORT_BASE, 1000, 1000);
            mockScene.RegisterModuleInterface <IEventQueue>(new InWorldz.Testing.MockEventQueue());

            neighbor1left = SceneHelper.CreateScene(REGION_PORT_BASE + 1, 999, 1000);
            neighbor2left = SceneHelper.CreateScene(REGION_PORT_BASE + 2, 998, 1000);
            neighbor3left = SceneHelper.CreateScene(REGION_PORT_BASE + 3, 997, 1000);

            presence = new ScenePresence(mockScene, 256f, new MockClientAPI());

            neighbor1left.CommsManager.HttpServer.AddHTTPHandler("/agent/", HandleAgentStuff);
            neighbor1left.CommsManager.HttpServer.AddHTTPHandler("/agent2/", HandleAgentStuff);
            neighbor2left.CommsManager.HttpServer.AddHTTPHandler("/agent/", HandleAgentStuff);
            neighbor2left.CommsManager.HttpServer.AddHTTPHandler("/agent2/", HandleAgentStuff);
        }
Esempio n. 17
0
        public static SceneLoaderState GetCurrentState()
        {
            var zonePath = ZonePreference.Value;
            var spawn    = SpawnPreference.Value;
            var zoneType = ZoneTypePreference.Value;

            var state = new SceneLoaderState
            {
                Scenes     = SceneHelper.CaptureState(),
                StartSpawn = spawn
            };

            if (zoneType == LoadActiveZone)
            {
                var zone = FindZone();
                if (zone == null)
                {
                    var manager = FindWorldManager();

                    if (manager != null && manager.World != null)
                    {
                        zone = manager.World.Zones.Count > 0 ? manager.World.Zones[0] : null;
                    }
                }

                if (zone != null)
                {
                    state.SetZone(zone);
                }
            }
            else if (zoneType == LoadSpecificZone)
            {
                var zones = AssetHelper.ListAssets <Zone>();
                var zone  = GetZone(zones, zonePath);

                if (zone != null)
                {
                    state.SetZone(zone);
                }
            }
            else
            {
                state.LoadWorld = zoneType == LoadSavedZone;
            }

            return(state);
        }
    public void Build()
    {
        built      = true;
        terrainMap = mapGenerator.Finish();
        width      = mapGenerator.width;
        height     = mapGenerator.height;

        walkableMap = new bool[width, height];
        nodeMap     = new Node[width, height];

        for (int x = 0; x < width; x++)
        {
            Transform rowHolder = new GameObject("Row " + x).transform;
            rowHolder.SetParent(transform);

            for (int y = 0; y < height; y++)
            {
                Node node = SceneHelper.InstantiateNode(new Vector2(x, y));
                node.Initialize(x, y);
                node.transform.SetParent(rowHolder);
                nodeMap[x, y] = node;

                switch (terrainMap[x, y])
                {
                case TerrainType.ROCKFLOOR:
                case TerrainType.ROCK:
                    node.AddFloor(SceneHelper.instance.RockFloorPrefab);
                    break;

                default:
                    node.AddFloor(SceneHelper.instance.GrassFloorPrefab);
                    break;
                }

                switch (terrainMap[x, y])
                {
                case TerrainType.ROCK:
                    node.AddBlock(SceneHelper.instance.RockPrefab);
                    break;

                case TerrainType.TREE:
                    node.AddBlock(SceneHelper.instance.TreePrefab);
                    break;
                }
            }
        }
    }
Esempio n. 19
0
 public void ReturnToMap()
 {
     DemonicInfluence.Tick();
     this.gameObject.SetActive(true);
     WindowManager.ClearOverlays();
     Deck.instance.Reset();
     AnimationQueue.Clear();
     SceneHelper.Close(SceneHelper.BATTLEFIELD);
     SceneHelper.Close(SceneHelper.CHEST);
     CardWindow.instance.PopulateFullDeck();
     this.ExploreFrom(this.currentNode);
     if (this.IsFinalRoom())
     {
         this.GotoNextDepth();
     }
     this.RenderMap();
 }
Esempio n. 20
0
    void UpdateVue()
    {
        SceneHelper.DestroyChildrenInParent(mainKeywordParent);
        SceneHelper.DestroyChildrenInParent(associatedKeywordParent);

        SetCard(mainCard, cardData, mainKeywordParent);

        if (cardData.AssociatedCard == null)
        {
            associatedCard.gameObject.SetActive(false);
        }
        else
        {
            SetCard(associatedCard, cardData.AssociatedCard, associatedKeywordParent);
            associatedCard.gameObject.SetActive(true);
        }
    }
Esempio n. 21
0
    public void AnswerQuestion(int answerId)
    {
        audioManager.Play("buttonClick");
        if (CurrentQuestion.Failure)
        {
            Replay();
            return;
        }

        if (CurrentQuestion.Success)
        {
            SceneHelper.GoToMainScene();
            return;
        }

        ChangeQuestion(CurrentQuestion.Answers[answerId]);
    }
Esempio n. 22
0
        public ActionResult Add(long id = 0)
        {
            int    sceneid   = 0;
            string ticketstr = "";
            var    settings  = SiteSettingApplication.SiteSettings;

            try
            {
                if (!string.IsNullOrWhiteSpace(settings.WeixinAppId) && !string.IsNullOrWhiteSpace(settings.WeixinAppSecret))
                {
                    string token = AccessTokenContainer.TryGetToken(settings.WeixinAppId, settings.WeixinAppSecret);
                    if (string.IsNullOrWhiteSpace(token))
                    {
                        token = AccessTokenContainer.TryGetToken(settings.WeixinAppId, settings.WeixinAppSecret, true);
                    }

                    SceneModel scene = new SceneModel(QR_SCENE_Type.ShopShipper)
                    {
                        //Object = CurrentUser.Id.ToString()
                    };
                    SceneHelper helper = new SceneHelper();
                    sceneid = helper.SetModel(scene);
                    var ticket = Senparc.Weixin.MP.AdvancedAPIs.QrCode.QrCodeApi.Create(token, 300, sceneid);
                    ticketstr = ticket.ticket;
                }
            }
            catch {
                Log.Error("设置退货地址出错:微信配置错误,无法获取到微信凭证");
            }
            ViewBag.ticket  = ticketstr;
            ViewBag.Sceneid = sceneid;
            ShopShipper data = new ShopShipper
            {
                ShopId = CurShopId
            };

            if (id > 0)
            {
                data = ShopShippersApplication.GetShopShipper(CurShopId, id);
                if (data == null)
                {
                    throw new HimallException("错误的参数");
                }
            }
            return(View(data));
        }
Esempio n. 23
0
 // ================================================================
 //  Update
 // ================================================================
 void Update()
 {
     // Key Inputs
     if (Input.GetKeyDown(KeyCode.Delete))
     {
         dm.ClearAllSaveData();
     }
     // CTRL + ___
     if (Input.GetKey(KeyCode.LeftControl))
     {
         if (Input.GetKeyDown(KeyCode.R))
         {
             dm.ReplaceAllStudySetsWithPremadeHardcodedOnes();
             SceneHelper.ReloadScene();
         }
     }
 }
Esempio n. 24
0
        public ActionResult CanReceiveNotAttention(long id, string openId = "", decimal price = 0)
        {
            ViewBag.Price = price;
            BonusModel model = new BonusModel(this._iBonusService.Get(id));
            //TODO:改成统一的方式取 Token
            var settings = SiteSettingApplication.SiteSettings;
            var token    = AccessTokenContainer.TryGetAccessToken(settings.WeixinAppId, settings.WeixinAppSecret);

            SceneHelper helper   = new SceneHelper();
            var         qrTicket = QrCodeApi.Create(token, 86400, 123456789, QrCode_ActionName.QR_LIMIT_SCENE, null).ticket;

            ViewBag.ticket   = WXApiApplication.GetTicket(settings.WeixinAppId, settings.WeixinAppSecret);
            model.ImagePath  = MallIO.GetFilePath(model.ImagePath);
            ViewBag.OpenId   = openId;
            ViewBag.QRTicket = qrTicket;
            return(View(model));
        }
Esempio n. 25
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        var damage = other.GetComponent <DealDamage>();
        var layer  = 1 << gameObject.layer;

        if ((layer & damage.DamageLayer) != layer)
        {
            return;
        }

        BossHealth -= damage.DamageAmount;

        if (BossHealth <= 0)
        {
            SceneHelper.LoadStatic("EndWin");
        }
    }
Esempio n. 26
0
    private void DuplicateCurrRoom()
    {
        // Add a new room file, yo!
        RoomData currRD     = CurrRoom.MyRoomData;
        string   newRoomKey = currRD.MyWorldData.GetUnusedRoomKey(currRD.RoomKey);

        RoomSaverLoader.SaveRoomFileAs(currRD, currRD.WorldIndex, newRoomKey);
        dm.ReloadWorldDatas();
        RoomData newRD = dm.GetRoomData(currRD.WorldIndex, newRoomKey, false);

        newRD.isClustStart = false;                                                           // say new room's NOT a clustStart.
        newRD.SetPosGlobal(newRD.PosGlobal + new Vector2(15, -15) * GameProperties.UnitSize); // offset its position a bit.
        newRD.SetDesignerFlag(0);                                                             // Reset its designerFlag
        RoomSaverLoader.UpdateRoomPropertiesInRoomFile(newRD);                                // update file!
        dm.currRoomData = newRD;
        SceneHelper.ReloadScene();
    }
Esempio n. 27
0
        void Start()
        {
            //Debug.Log("Start");

            zeroThrustSpinPoint[0] = SceneHelper.FindFirstChildInHierarchy(this, "FrontLeft").GetComponent <Transform>();
            zeroThrustSpinPoint[1] = SceneHelper.FindFirstChildInHierarchy(this, "FrontRight").GetComponent <Transform>();
            zeroThrustSpinPoint[2] = SceneHelper.FindFirstChildInHierarchy(this, "BackLeft").GetComponent <Transform>();
            zeroThrustSpinPoint[3] = SceneHelper.FindFirstChildInHierarchy(this, "BackRight").GetComponent <Transform>();

            joystickInput  = GetComponent <DroneRacerJoystickInput>();
            droneRacerArm  = GetComponent <DroneRacerArm>();
            droneRigidbody = GetComponent <Rigidbody>();

            UpdateSettings();

            Initialize(GameManager.GetStartPosition());
        }
Esempio n. 28
0
        public void CreateSynchronizer()
        {
            Scene = SceneSamples.CreateSimpleScene(this.EventHandler, false);
            Scene.Actors.Find(x => SceneHelper.GetOrderByGuid(x.ExternalId) == 1).ChangePosition(Scene.Tiles[17][2], true);
            Scene.CreateEffect(Scene.Players.First(), "test_effect", Scene.Tiles[1][2], null, null, 2, null);
            Scene.CreateDecoration(Scene.Players.First(), "test_decoration", Scene.Tiles[4][4], null, null, null, null, null);
            ISynchronizer synchronizer = new Synchronizer(
                Scene.TempTileObject,
                Scene.Players.ToList(),
                new List <Actor>()
            {
                Scene.Actors[0]
            },
                new List <ActiveDecoration>()
            {
                Scene.Decorations[0]
            },
                new List <SpecEffect>(),
                new List <Actor>()
            {
                Scene.Actors[1]
            },
                new List <ActiveDecoration>(),
                new List <SpecEffect>()
            {
                Scene.SpecEffects[0]
            },
                new ProjectArena.Engine.Helpers.Point(20, 20),
                new List <Tile>()
            {
                Scene.Tiles[4][4]
            },
                Scene.RandomCounter);

            Assert.That(synchronizer.TempActor, Is.EqualTo(Scene.TempTileObject.Id), "Temp tile actor");
            Assert.That(synchronizer.TempDecoration, Is.EqualTo(null), "No temp tile decoration");
            Assert.That(synchronizer.ChangedActors.ToArray()[0].Id, Is.EqualTo(Scene.Actors[0].Id), "Rigth actors");
            Assert.That(synchronizer.ChangedDecorations.ToArray()[0].Id, Is.EqualTo(Scene.Decorations[0].Id), "Rigth decorations");
            Assert.That(synchronizer.ChangedEffects.Count(), Is.EqualTo(0), "Rigth effects");
            Assert.That(synchronizer.DeletedActors.ToArray()[0], Is.EqualTo(Scene.Actors[1].Id), "Rigth deleted actors");
            Assert.That(synchronizer.DeletedDecorations.Count(), Is.EqualTo(0), "Rigth deleted decorations");
            Assert.That(synchronizer.DeletedEffects.ToArray()[0], Is.EqualTo(Scene.SpecEffects[0].Id), "Rigth deleted effects");
            Assert.That(synchronizer.ChangedTiles.ToArray()[0].X, Is.EqualTo(4), "Rigth tiles");
            Assert.That(synchronizer.ChangedTiles.ToArray()[0].Y, Is.EqualTo(4), "Rigth tiles");
        }
    void PopulateTestEntries()
    {
        m_Tests.Clear();
        var testScenePaths = SceneHelper.GetTestScenePaths();

        for (var testSceneIndex = 0; testSceneIndex < testScenePaths.Length; testSceneIndex++)
        {
            var scenePath   = testScenePaths[testSceneIndex];
            var testEntryUi = new TestEntryUI(scenePath, testSceneIndex);
            m_Tests.Add(testEntryUi);
        }

        //Always load from file before writing when recomputing the database
        UpdateFromFile(m_DataPath);
        WriteToFile(m_DataPath);

        Repaint();
    }
Esempio n. 30
0
        protected override async ETTask Run(Session session, C2G_CreateRoomRequest request, G2C_CreateRoomResponse response, Action reply)
        {
            long uid = session.GetComponent <UserInfo>().UId;

            // 地图SceneActorId
            long mapInstanceId = SceneHelper.RandomMapsInstanceId(session.DomainZone());
            M2G_CreateRoomResponse createRoomResponse =
                (M2G_CreateRoomResponse)await ActorMessageSenderComponent.Instance.Call(mapInstanceId,
                                                                                        new G2M_CreateRoomRequest()
            {
                UId = uid
            });

            response.Error   = createRoomResponse.Error;
            response.Message = createRoomResponse.Message;
            response.RoomNum = createRoomResponse.RoomNum;
            reply();
        }