static void testMapping() { var pattern = "var f; function k(){var t=0; while(false) t=t;} function a(){ var t=0; while(t<1) ++t; return t>3; } /*a();*/ var c=b.Name; var d=b.Age; b.Age=15; /*for(var i=0;i<100;++i){ d=b.Age;b.Age=i; b.Name=\"cat\"; c=b.Say();b.Add(); f=a(); k();}*/"; Tokenizer tg = new Tokenizer(); var watch = new Stopwatch(); var reader = new SequenceReader <Token>(tg.Tokenize(pattern)); var block = new TopBlock(); var p = new Animal { Name = "dog", Age = 10 }; block.Declare("b", new JMappingObject(p)); var builder = new TopBlockBuilder(reader, block); builder.Build(); watch.Start(); builder.Block.Excute(null); Console.WriteLine(watch.ElapsedMilliseconds); Console.WriteLine("c is " + block.GetVariable("c")); Console.WriteLine("d is " + block.GetVariable("d")); Console.WriteLine("f is " + block.GetVariable("f")); Console.WriteLine(p.Age); Console.WriteLine(p.Name); Console.Read(); }
//Only overriden, not called from elsewhere protected virtual bool Attach(MyAttachableTopBlockBase topBlock, bool updateGroup = true) { Debug.Assert(TopBlock == null, "Inconsistency"); Debug.Assert(!m_welded, "Inconsistency"); if (topBlock.CubeGrid.Physics == null) { return(false); } if (CubeGrid.Physics == null || !CubeGrid.Physics.Enabled) { return(false); } m_topBlock = topBlock; m_topGrid = TopBlock.CubeGrid; TopBlock.Attach(this); if (updateGroup) { CubeGrid.OnPhysicsChanged += cubeGrid_OnPhysicsChanged; TopGrid.OnGridSplit += CubeGrid_OnGridSplit; TopGrid.OnPhysicsChanged += cubeGrid_OnPhysicsChanged; TopBlock.OnClosing += TopBlock_OnClosing; OnConstraintAdded(GridLinkTypeEnum.Physical, TopGrid); OnConstraintAdded(GridLinkTypeEnum.Logical, TopGrid); RaiseAttachedEntityChanged(); //top is already set we can call here } if (Sync.IsServer) { MatrixD masterToSlave = TopBlock.CubeGrid.WorldMatrix * MatrixD.Invert(WorldMatrix); m_connectionState.Value = new State() { TopBlockId = TopBlock.EntityId, MasterToSlave = masterToSlave, Welded = m_welded }; } else if (m_connectionState.Value.MasterToSlave.HasValue) { TopBlock.CubeGrid.WorldMatrix = MatrixD.Multiply(m_connectionState.Value.MasterToSlave.Value, this.WorldMatrix); } m_isAttached = true; //Welding only allowed when attached if (m_forceWeld) { WeldGroup(true); } CheckVelocities(); return(true); }
public void spawnNewBlock() { Vector3 pos; pos.x = 10.0f; pos.z = 0.0f; if (Random.value < 0.3f) { pos.y = 0.4f; TopBlock newBlock = Instantiate(block, pos, Quaternion.identity); } else { pos.y = -1.1f; BotBlock newBlock = Instantiate(bblock, pos, Quaternion.identity); } }
static void tsetExcute() { var pattern = " var d=\"hello\"+\" world!\"; var b=d==\"hello world!\";var f=d+\" just for test! \"; var a=15; function add(b,c){ var t=0; for(var i=b;i<c;++i) t=t+i*5; return t;} var c= add(1,100000); "; Tokenizer tg = new Tokenizer(); var watch = new Stopwatch(); for (int i = 0; i < 100000; i++) { var reader = new SequenceReader <Token>(tg.Tokenize(pattern)); var block = new TopBlock(); var builder = new TopBlockBuilder(reader, block); builder.Build(); watch.Start(); builder.Block.Excute(null); Console.WriteLine(watch.ElapsedMilliseconds); Console.WriteLine("a is " + block.GetVariable("a")); Console.WriteLine("c is " + block.GetVariable("c").ToString()); Console.WriteLine("b is " + block.GetVariable("b").ToString()); Console.WriteLine("d is " + block.GetVariable("d")); Console.WriteLine("f is " + block.GetVariable("f")); Console.Read(); } Console.WriteLine($"spend:{watch.ElapsedMilliseconds} "); var watch2 = new Stopwatch(); watch2.Start(); var a = 7; var b = 9; for (int i = 0; i < 10000; i++) { var c = (a + b * b - a) - a * 7 + a - b + b + b * a; } Console.WriteLine(watch2.ElapsedMilliseconds); }
//Only overriden, not called from elsewhere protected virtual void Detach(bool updateGroups = true) { Debug.Assert(m_isAttached && TopBlock != null, "Inconsistency! critical!"); if (m_welded) { UnweldGroup(); } if (updateGroups) { m_needReattach = false; //i.e. block could be destroyed after the flag was rised BreakLinks(TopGrid, TopBlock); if (Sync.IsServer) { m_connectionState.Value = new State() { TopBlockId = null, Welded = false }; } } DisposeConstraint(); if (TopBlock != null) { TopBlock.Detach(false); } m_topGrid = null; m_topBlock = null; m_isAttached = false; UpdateText(); if (updateGroups) { RaiseAttachedEntityChanged(); } }
public void AddRangeVariable(RangeVariable variable) { variable.Block = this; TopBlock.AddLocalName(variable.Name, variable, true); }
public InstrcutGroupCollection Build(TopBlock block) { return(null); }
public IEnumerator GetJSON() { //Add login and pass string WWW www = new WWW("http://vg2.v-galaktike.ru/api/?class=user&method=login&email=" + login_str + "&password="******"error"] == null) { LoginPanel.SetActive(false); if (isFirstLogin) { PlayerPrefs.SetString("userLogin", login_str); PlayerPrefs.SetString("userPass", pass_str); PlayerPrefs.Save(); } if (PlayerPrefs.HasKey("userLogin") && PlayerPrefs.HasKey("userPass")) { LoadingPanel.SetActive(true); } MainResourcesController.userId = error["user_id"].AsInt; MainResourcesController.userToken = error["token"].Value; WWW www_getuser = new WWW("http://vg2.v-galaktike.ru/api/?class=user&method=getuser&token=" + MainResourcesController.userToken); yield return(www_getuser); result = JSON.Parse(www_getuser.text); current_user = result["user"]; current_planet = result["system"]; game_config = result["game_config"]; system_list = result["system_list"]; statistic = result["stats"]; buildingsInProgress = current_planet["building"]; researchInProgress = current_user["tech"]; docDefInProgress = current_planet["weapon"]; GetValForJson(); mrc = TopBlock.GetComponent <MainResourcesController>(); mrc.ValOnTheirPlace(); mrc.repeatTick(); MainResourcesController.timeNow = result["now"].AsLong; MainResourcesController.weapone_update = current_planet["weapon_update"].AsLong; xmlParser.SetActive(true); } else { // Bad Login Or Pass login_field.transform.FindChild("Text").GetComponent <Text>().color = red; login_field.GetComponent <Image>().sprite = errorLogin_sprite; pass_field.transform.FindChild("Text").GetComponent <Text>().color = red; pass_field.GetComponent <Image>().sprite = errorLogin_sprite; errorText_go.SetActive(true); errorText_go.GetComponent <Text>().text = "Ошибка:\nЕмайл или пароль введены не верно."; } } else { Debug.Log(www.error); Error.SetActive(true); } }