Beispiel #1
0
    public override IEnumerator SlowUpdate()
    {
        myFlag = this.transform.GetChild(2).GetComponent <Rigidbody>();
        while (true)
        {
            if (IsServer)
            {
                //Send update on flags capture progress
                if (!isCaptured)
                {
                    CaptureTeam();
                }

                //Destroy itself
                else
                {
                    yield return(new WaitForSeconds(.1f));

                    MyCore.NetDestroyObject(this.NetId);
                }
            }

            yield return(new WaitForSeconds(MyCore.MasterTimer));
        }
    }
Beispiel #2
0
    /*
     * public void OnTriggerEnter(Collider other)
     * {
     *  if (IsServer)
     *  {
     *      Transform temp = other.transform.root;
     *
     *      if (other.name == "egg")
     *      {
     *          otherRecipeScript = temp.GetComponent<RecipeScript>();
     *          if (otherRecipeScript != null)
     *          {
     *              if (!otherRecipeScript.isBeingHeld)
     *              {
     *                  recipeScript.AddAction("BREAK", otherRecipeScript.ingredientName);
     *
     *                  //if (!(hit.collider.name == "coffee" || hit.collider.name == "cup"))
     *                  //{
     *
     *                  MyCore.NetCreateObject(19, NetId, spawnPos.position); //fryed egg
     *
     *                  int otherNetId = temp.GetComponent<NetworkID>().NetId;
     *
     *                  MyCore.NetDestroyObject(otherNetId);
     *              }
     *
     *              //}
     *
     *          }
     *          //Debug.Log("cup on");
     *      }
     *      //Debug.Log(temp.name);
     *  }
     * }
     */
    public void OnCollisionEnter(Collision other)
    {
        if (IsServer)
        {
            Transform temp = other.collider.transform.root;

            if (temp.name == "egg")
            {
                otherRecipeScript = temp.GetComponent <RecipeScript>();
                if (otherRecipeScript != null)
                {
                    if (!otherRecipeScript.isBeingHeld)
                    {
                        recipeScript.AddAction("BREAK", otherRecipeScript.ingredientName);

                        //if (!(hit.collider.name == "coffee" || hit.collider.name == "cup"))
                        //{

                        MyCore.NetCreateObject(19, NetId, spawnPos.position); //fryed egg

                        int otherNetId = temp.GetComponent <NetworkID>().NetId;

                        MyCore.NetDestroyObject(otherNetId);
                    }

                    //}
                }
                //Debug.Log("cup on");
            }
            //Debug.Log(temp.name);
        }
    }
    public override void HandleMessage(string flag, string value)
    {
        if (flag == "SCORE")
        {
            if (IsClient)
            {
                score = int.Parse(value);
            }
        }

        if (flag == "Create")
        {
            if (IsServer)
            {
                MyCore.NetCreateObject(sphere, MyId.NetId, new Vector3(Random.Range(-4, 4), Random.Range(-4, 4)));
            }
        }

        if (flag == "Players")
        {
            if (IsServer)
            {
                playCount = int.Parse(value);
            }
        }
    }
Beispiel #4
0
 private void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
 }
Beispiel #5
0
    public override IEnumerator SlowUpdate()
    {
        if (IsServer)
        {
            managerScript = GameObject.FindGameObjectWithTag("manager").GetComponent <RecipeManagerScript>();

            submissionHeight = GameObject.FindGameObjectWithTag("sub").transform.position.y;
        }
        if (IsClient)
        {
        }
        while (IsServer)
        {
            if (this.transform.position.y > submissionHeight)
            {
                myParticle.Play();
                myAudio.Play();

                managerScript.RecieveOrder(recipeScript.ToString());

                MyCore.NetDestroyObject(NetId);
                //destroy
            }

            yield return(new WaitForSeconds(0.2f)); //potentially slower
        }
    }
Beispiel #6
0
    public void OnTriggerEnter(Collider other)
    {
        if (IsServer)
        {
            Transform temp = other.transform.root;

            if (temp.CompareTag("item"))
            {
                otherRecipeScript = temp.GetComponent <RecipeScript>();
                if (otherRecipeScript != null)
                {
                    recipeScript.AddAction("ADD", otherRecipeScript.ingredientName);

                    if (!(hit.collider.name == "coffee" || hit.collider.name == "cup"))
                    {
                        int otherNetId = temp.GetComponent <NetworkID>().NetId;

                        MyCore.NetDestroyObject(otherNetId);
                    }
                    //coffeeStuff.position = Vector3.Lerp(coffeeStuff.position, max.position, 0.01f);
                    SendUpdate("A", "X");
                }
                //Debug.Log("cup on");
            }
            //Debug.Log(temp.name);
        }
    }
    public void KillPlayer(NetworkPlayerController player)
    {
        SendUpdate("REMOVEWEAPONS", player.Owner.ToString());
        SendUpdate("ARROW", "false");

        //If object is destroyed in capture zone, flag will still be captured
        MyCore.NetDestroyObject(player.NetId);
        StartCoroutine(RespawnPlayer(5, player));
    }
Beispiel #8
0
 private void Start()
 {
     myCachedTransform.rotation = Quaternion.Euler(offsetRot);
     target = Creatplayer.instance.Player_Script.transform;
     // playerScript = Creatplayer.instance.Player_Script;
     coreManager = MyCore.instance;
     // followControll = GetComponent<Camera>();
     GoBackMyPos();
 }
Beispiel #9
0
    public IEnumerator KillGame()
    {
        yield return(new WaitForSeconds(10));

        PlaneControlScript plane = GameObject.FindObjectOfType <PlaneControlScript>();

        MyCore.NetDestroyObject(plane.NetId);
        MyCore.UI_Quit();
    }
 public override void HandleMessage(string flag, string value)
 {
     if (flag == "Destroy")
     {
         if (!IsLocalPlayer)
         {
             MyCore.NetDestroyObject(MyId.NetId);
         }
     }
 }
Beispiel #11
0
 public override void HandleMessage(string flag, string value)
 {
     if (flag == "CSPHERE")
     {
         if (IsServer)
         {
             MyCore.NetCreateObject(int.Parse(value), Owner, new Vector3(Random.Range(-2.0f, 2.0f), Random.Range(2.0f, 8.0f), Random.Range(-3.0f, 3.0f)));
         }
     }
 }
Beispiel #12
0
        public void TestKuasCoreService_GetCoreByName()
        {
            MyCore core = KuasCoreService.GetCoreByName("微積分");

            Assert.IsNotNull(core);

            Console.WriteLine("課程編號為 = " + core.CourseID);
            Console.WriteLine("課程名稱為 = " + core.CourseName);
            Console.WriteLine("課程描述為 = " + core.CourseDescription);
        }
    public override void HandleMessage(string flag, string value)
    {
        if (flag == "SCORE")
        {
            if (IsClient)
            {
                score = int.Parse(value);
            }
        }

        if (flag == "CRT")
        {
            if (IsServer)
            {
                Vector3 ipos = new Vector3(Random.Range(-9, 9), -3, Random.Range(-5, 5));
                MyCore.NetCreateObject(0, int.Parse(value), ipos);
            }
        }

        if (flag == "CJ")
        {
            CanJump = bool.Parse(value);
        }

        if (flag == "JUMP")
        {
            if (IsServer && CanJump)
            {
                Debug.Log("Player " + int.Parse(value) + " jumped");
                jumpCount++;
                CanJump = false;
                SendUpdate("CJ", false.ToString());
                SendUpdate("JUMP", jumpCount.ToString());
                //Set timer.
                StartCoroutine(WaitForJump());
                //Server sends an update to clients with the value of jump count.
                //We are using the same flag so the handle message function doesn't become too complicated. We use 1 if condition instead of 2
            }

            if (IsClient)
            {
                jumpCount = int.Parse(value);
            }
        }

        if (flag == "PN")
        {
            //We are not changing all of the pnames of each client running the simple synchronization script. Only the object that sends a command receives an update.
            pname = value;
            if (IsServer)
            {
                SendUpdate("PN", value);
            }
        }
    }
Beispiel #14
0
        private void Auto()
        {
            DataTable dtTable1 = WebStep.GetByIDWeb(long.Parse(lookUpEditPage.EditValue.ToString()));
            int       i        = 0;

            while (i < dtTable1.Rows.Count)
            {
                DataRow dtRow       = dtTable1.Rows[i];
                string  processStep = dtRow["Action"].ToString();
                if (processStep.IndexOf("Exists") < 0)
                {
                    processStep = processStep.Replace("{UserName}", forum.UserName);
                    processStep = processStep.Replace("{Password}", forum.Password);
                    processStep = processStep.Replace("{Url}", forum.UrlPost);
                    processStep = processStep.Replace("{IDTopic}", forum.IDTopic);
                    processStep = processStep.Replace("{Content}", "Up phụ nè");
                    string s = MyCore.ProcessStep(processStep, ie);
                    if (s != String.Empty)
                    {
                        if (dtRow["Message"] != null && dtRow["Message"].ToString().Trim() != "")
                        {
                            MessageBox.Show(dtRow["Message"].ToString());
                            return;
                        }
                    }
                    i++;
                }
                else
                {
                    try
                    {
                        string[] a           = processStep.Split('(');
                        string   processType = a[0].Trim();
                        string   processText = a[1].Trim(')');
                        string[] b           = processText.Split('|');
                        string   text        = b[0].Trim();
                        int      stepYes     = int.Parse(b[1]);
                        int      stepNo      = int.Parse(b[2]);
                        if (MyCore.Exist(text, ie))
                        {
                            i = stepYes - 1;
                        }
                        else
                        {
                            i = stepNo - 1;
                        }
                    }
                    catch
                    {
                        i++;
                    }
                }
            }
            MessageBox.Show("Hoàn thành");
        }
Beispiel #15
0
 public RenderingService(MyCore core) : base(core)
 {
     Device  = core.Device;
     Factory = Device.ResourceFactory;
     master  = Factory.CreateCommandList();
     master.Begin();
     master.SetFramebuffer(Device.SwapchainFramebuffer);
     master.SetFullViewports();
     master.ClearColorTarget(0, RgbaFloat.Red);
     master.End();
 }
Beispiel #16
0
        public void TestObjectFactory_GetObject()
        {
            // 利用 Spring Object Name 來依賴尋找找出我們要的 Spring Object.
            KuasCoreService kuasCoreService = (KuasCoreService)ObjectFactory.GetObject("kuasCoreService");

            MyCore core = kuasCoreService.GetCoreByName("微積分");

            Assert.IsNotNull(core);

            Console.WriteLine("課程編號為 = " + core.CourseID);
            Console.WriteLine("課程名稱為 = " + core.CourseName);
            Console.WriteLine("課程描述為 = " + core.CourseDescription);
        }
Beispiel #17
0
 private void OnCollisionEnter(Collision collision)
 {
     if (collision.gameObject.name == "Lava")
     {
         MyCore.NetDestroyObject(this.NetId);
     }
     else if (IsServer && switched >= 1)
     {
         switched -= 1;
         GameObject temp = MyCore.NetCreateObject(12 + ItemSpawn, this.Owner, this.transform.position);
         temp.GetComponent <ItemContainer>().IsCrateDrop = true;
         MyCore.NetDestroyObject(this.NetId);
     }
 }
Beispiel #18
0
 public override void HandleMessage(string flag, string value)
 {
     if (flag == "Shoot")
     {
         if (IsServer && canShoot == true)
         {
             temp = MyCore.NetCreateObject(3, 500, new Vector3(player.transform.position.x, player.transform.position.y, player.transform.position.z));
             temp.GetComponent <Rigidbody>().AddForce(transform.forward * 10);
             canShoot = false;
             SendUpdate("Can Shoot", false.ToString());
             StartCoroutine(waitforShoot());
         }
     }
 }
    public override IEnumerator SlowUpdate()
    {
        while (true)
        {
            if (IsServer)
            {
                if (health <= 0)
                {
                    MyCore.NetDestroyObject(NetId);
                }
            }

            yield return(new WaitForSeconds(MyCore.MasterTimer));
        }
    }
Beispiel #20
0
 public void NextPhase()
 {
     //Activate Next Checkpoint
     if (newControlPoint.Length > currControlPoint + 1)
     {
         MyCore.NetCreateObject(2, -1, newControlPoint[currControlPoint + 1]);
         currControlPoint++;
         SendUpdate("CURRCP", currControlPoint.ToString());
         //Move Lava, but wait for x seconds
         StartCoroutine(lava.LavaDelay(5));
     }
     else
     {
         //Set end game to true
         //Declare Winner
     }
 }
Beispiel #21
0
    public void PointChange(int point)
    {
        if (IsServer)
        {
            NNMA.MyAgent.destination = NNMA.Points.transform.Find("Point" + point).position;
            SendUpdate("POINT", ("" + point));


            if (boxSpawn)
            {
                GameObject temp = MyCore.NetCreateObject(12, this.Owner, this.transform.position + new Vector3(0, -1, 0));
                temp.GetComponent <CrateScript>().ItemSpawn = Random.Range(1, ItemPads.Length + 1);
                boxCount++;
                boxSpawn = false;
            }
        }
    }
        public void ComputeSet(IMLDataSet setToCompute)
        {
            IOutput writer = MyCore.Resolve <IOutput>();

            foreach (IMLDataPair pair in setToCompute)
            {
                IMLData output = Network.Compute(pair.Input);
                if (!Regression)
                {
                    writer.Write(String.Format(@"{0},{1}, actual={2},ideal={3}", pair.Input[0], pair.Input[1], GetOutputFormat(output), GetClass(pair.Ideal)));
                }
                else
                {
                    writer.Write(String.Format(@"{0}, actual={1},ideal={2}", pair.Input[0], output, pair.Ideal));
                }
                AddToResults(pair, output);
            }
        }
Beispiel #23
0
 public void SpawnTP()
 {
     if(IsServer)
     {
         for (int i = 0; i < 5 - existingTP; i++)
         {
             int randomRoll = Random.Range(0, 101);
             if(randomRoll < 95)
             {
                 MyCore.NetCreateObject(7, -1, new Vector3(Random.Range(180.66f, 227f), 1.44f, Random.Range(124.83f, 172f)));
             }
             else
             {
                 MyCore.NetCreateObject(9, -1, new Vector3(Random.Range(180.66f, 227f), 1.44f, Random.Range(124.83f, 172f)));
             }
         }
     }
 }
Beispiel #24
0
 private void backgroundWorker2_DoWork(object sender, DoWorkEventArgs e)
 {
     try
     {
         dialogWatcher.CloseUnhandledDialogs = true;
         if (proccessStep.IndexOf("Exists") < 0)
         {
             proccessStep = proccessStep.Replace("{UserName}", forum.UserName);
             proccessStep = proccessStep.Replace("{Password}", forum.Password);
             proccessStep = proccessStep.Replace("{Url}", forum.UrlPost);
             proccessStep = proccessStep.Replace("{IDTopic}", forum.IDTopic);
             result       = MyCore.ProcessStep(proccessStep, ie);
         }
         else
         {
             try
             {
                 type   = 2;
                 result = String.Empty;
                 string[] a           = proccessStep.Split('(');
                 string   processType = a[0].Trim();
                 string   processText = a[1].Trim(')');
                 string[] b           = processText.Split('|');
                 string   text        = b[0].Trim();
                 int      stepYes     = int.Parse(b[1]);
                 int      stepNo      = int.Parse(b[2]);
                 if (MyCore.Exist(text, ie))
                 {
                     nextStep = stepYes - 1;
                 }
                 else
                 {
                     nextStep = stepNo - 1;
                 }
             }
             catch
             {
                 type = 1;
             }
         }
     }
     catch { }
 }
        public object Invoke(IMethodInvocation invocation)
        {
            Console.WriteLine("DebogLogInterceptor 攔截到一個方法呼叫 = [{0}]", invocation);
            Debug.Print("DebogLogInterceptor 攔截到一個方法呼叫 = [{0}]", invocation);

            object result = invocation.Proceed();

            if (result is MyCore)
            {
                MyCore mycore = (MyCore)result;
                mycore.CourseName += "期中測試測試";
                result             = mycore;
            }



            Console.WriteLine("回傳的資料已取得 [{0}]", result);
            Debug.Print("回傳的資料已取得 [{0}]", result);

            return(result);
        }
Beispiel #26
0
 public void ChangeTeam(string team, NetworkPlayerController player, NetworkPlayer playerManager)
 {
     if (team != "GREEN")
     {
         redPlayers++;
         greenPlayers--;
         MyCore.NetDestroyObject(player.NetId);
         playerManager.ModelNum = 11;
     }
     else
     {
         redPlayers--;
         greenPlayers++;
         MyCore.NetDestroyObject(player.NetId);
         playerManager.ModelNum = 10;
     }
     playerManager.SendUpdate("REMOVEWEAPONS", playerManager.Owner.ToString());
     playerManager.SendUpdate("MODEL", playerManager.ModelNum.ToString());
     playerManager.SendUpdate("PNAME", playerManager.PNAME);
     MyCore.NetCreateObject(playerManager.ModelNum, playerManager.Owner, player.transform.position, player.transform.rotation);
 }
 private void OnTriggerEnter(Collider collision)
 {
     if (IsServer && collision.gameObject.tag == "Player" && IsAvalible)
     {
         IsAvalible = false;
         if (IsWeapon)
         {
             collision.gameObject.GetComponent <NetworkPlayerController>().AddWeapon(ContainedItem.GetComponent <Weapon>().ItemID);
         }
         if (IsCrateDrop)
         {
             MyCore.NetDestroyObject(NetId);
         }
         else
         {
             SendUpdate("USED", "1");
             MyRig.gameObject.SetActive(false);
             StartCoroutine(ItemRespawn(RespawnTimer));
         }
     }
 }
        public void Run()
        {
            IOutput writer = MyCore.Resolve <IOutput>();

            if (csvPath == null)
            {
                writer.Write("Please load training set first!");
                return;
            }
            if (this.csvPathTest == null)
            {
                writer.Write("Please load test set first!");
                return;
            }

            InitializeDataAndNeurons();
            if (!UnipolarChecked)
            {
                Network.SetBiPolarActivation();
            }
            else
            {
                Network.SetSigmoidActivation();
            }
            Network.StartLearning(Iterations);
            LearningProcess = Network.learningProcess;
            DrawLearningRate();

            Network.ComputeSet(Network.TestSet);

            resultList = Network.resultList;
            if (!isRegression)
            {
                DrawGraph();
            }
            else
            {
                DrawRegressionFunction();
            }
        }
        public void StartLearning(int iterationCount)
        {
            this.resultList = new ResultsList();

            this.learningProcess = new List <IterationError>();

            this.Network.Structure.FinalizeStructure();
            Network.Reset();
            IOutput writer = MyCore.Resolve <IOutput>();

            Propagation train = new Backpropagation(this.Network, this.TrainingSet, this.LearningRate, this.TheMomentum);
            // train.BatchSize = 1;

            int epoch = 1;

            do
            {
                train.Iteration();
                writer.Write(String.Format(@"Epoch # {0} Error: {1}", epoch, train.Error));
                epoch++;
                this.learningProcess.Add(new IterationError(epoch, train.Error));
            } while (epoch < iterationCount);
        }
    public IEnumerator RespawnPlayer(float time, NetworkPlayerController player)
    {
        yield return(new WaitForSeconds(time));

        SendUpdate("ARROW", "true");
        NetworkPlayer[] MyPlayers = FindObjectsOfType <NetworkPlayer>();
        foreach (NetworkPlayer p in MyPlayers)
        {
            if (p.Owner == player.Owner)
            {
                if (p.Team == "RED")
                {
                    MyCore.NetCreateObject(player.Type, player.Owner,
                                           gm.TeamRedSpawn[gm.currControlPoint].transform.GetChild(p.Owner % 7).transform.position,
                                           gm.TeamRedSpawn[gm.currControlPoint].transform.GetChild(p.Owner % 7).transform.rotation);
                }
                else if (p.Team == "GREEN")
                {
                    MyCore.NetCreateObject(player.Type, player.Owner, gm.TeamGreenSpawn[gm.currControlPoint].transform.GetChild(0).transform.position);
                }
                break;
            }
        }
    }