public GameObject getDisk(int round) { if (sceneController.GetScore() >= 20 + round * (round - 1) * 10) { sceneController.round++; } else if (sceneController.loss >= 20) { sceneController.game = 2; } GameObject newDisk; if (free.Count == 0) { newDisk = GameObject.Instantiate(diskPrefab) as GameObject; } else { newDisk = free[0]; free.Remove(free[0]); } diskData = newDisk.GetComponent <DiskData>(); diskData.color = diskColor[Random.Range(0, 3)]; newDisk.GetComponent <Renderer>().material.color = diskData.color; used.Add(newDisk); return(newDisk); }
// Update is called once per frame void FixedUpdate() { if (diskComp == 10) { NextRound(); } if (Input.GetMouseButtonDown(0)) { Camera ca = cam.GetComponent <Camera>(); Ray ray = ca.ScreenPointToRay(Input.mousePosition); RaycastHit rayHit; if (Physics.Raycast(ray, out rayHit)) { if (rayHit.collider.gameObject.tag.Contains("Disk") && isPaused == false) { this.recordScore(); rayHit.collider.gameObject.GetComponent <Rigidbody>().isKinematic = true; DiskData disk = rayHit.collider.gameObject.GetComponent <DiskData>(); factory.Free(disk.UsedIndex); disk.currentSSAction.enable = false; disk.currentSSAction.destroy = true; } } } }
public GameObject getDisk(int round) { //if (sceneController.GetScore() >= 20 + round*(round - 1)*10) //{ // sceneController.round++; //} //else if (sceneController.loss >= 10) //{ // Debug.Log(sceneController.loss); // sceneController.game = 2; //} GameObject newDisk; //如果工厂中有空余的飞盘,则使用空余的,否则,新增飞盘 if (free.Count == 0) { // Debug.Log("here"); newDisk = GameObject.Instantiate(diskPrefab) as GameObject; } else { newDisk = free[0]; free.Remove(free[0]); // Debug.Log("here"); } //设置飞盘属性 diskData = newDisk.GetComponent <DiskData>(); diskData.color = diskColor[Random.Range(0, 3)]; newDisk.GetComponent <Renderer>().material.color = diskData.color; used.Add(newDisk); return(newDisk); }
public GameObject getDisk(int round) { GameObject disk = null; if (free.Count > 0) { disk = free[0].gameObject; free.Remove(free[0]); } else { disk = GameObject.Instantiate <GameObject>(diskPrefab, Vector3.zero, Quaternion.identity); disk.AddComponent <DiskData>(); } int start; switch (round) { case 0: start = 0; break; case 1: start = 100; break; default: start = 200; break; } int selectColor = Random.Range(start, round * 499); round = selectColor / 250; DiskData diskData = disk.GetComponent <DiskData>(); Renderer renderer = disk.GetComponent <Renderer>(); Renderer childRenderer = disk.transform.GetChild(0).GetComponent <Renderer>(); float ranX = Random.Range(-1, 1) < 0 ? -1.2f : 1.2f; Vector3 direction = new Vector3(ranX, 1, 0); switch (round) { case 0: diskData.setDiskData(new Vector3(1.35f, 1.35f, 1.35f), Color.white, 4.0f, direction); renderer.material.color = Color.white; childRenderer.material.color = Color.white; break; case 1: diskData.setDiskData(new Vector3(1f, 1f, 1f), Color.gray, 6.0f, direction); renderer.material.color = Color.gray; childRenderer.material.color = Color.gray; break; case 2: diskData.setDiskData(new Vector3(0.7f, 0.7f, 0.7f), Color.black, 8.0f, direction); renderer.material.color = Color.black; childRenderer.material.color = Color.black; break; } used.Add(diskData); diskData.name = diskData.GetInstanceID().ToString(); disk.transform.localScale = diskData.getSize(); return(disk); }
public void remove(DiskData disk) { disk.removeForce(); disk.gameObject.transform.position = new Vector3(0, 0, -20f); //重新放置到摄像机后 diskFactory.freeDisk(disk); //回收 diskList.Remove(disk); }
public static List <DiskData> GetAPMRotaryDrives() { List <DiskData> disksNames = WMIMethods.GetPhysicalDiskNames(); List <DiskData> result = new List <DiskData>(); foreach (DiskData dd in disksNames) { IDENTIFY_DEVICE_DATA?idd = IdentifyDefice(dd.DeviceName); if (idd == null) { continue; } bool?b = IsRotativeDevice(idd.Value); if (b.HasValue && b.Value == true && APMSupported(idd.Value)) { DiskData ndd = new DiskData( DeviceName: dd.DeviceName, Model: ATACharsToString(idd.Value.model).Trim(), SerialNo: ATACharsToString(idd.Value.serial_no).Trim(), APMenabled: APMEnabled(idd.Value), APMvalue: idd.Value.CurrentAPMvalue, Status: dd.Status, Size: dd.Size ); result.Add(ndd); } } return(result); }
private void Update() { foreach (var obj in beUsed.Values) { if (!obj.gameObject.activeSelf) { wait.Add(obj.GetInstanceID()); } } //将beUsed里的飞碟free foreach (int obj in wait) { GameObject freeDisk = beUsed[obj].gameObject; DiskData d = null; foreach (DiskData i in beUsed.Values) { if (freeDisk.GetInstanceID() == i.gameObject.GetInstanceID()) { d = i; } } if (d != null) { d.gameObject.SetActive(false); free.Add(d); beUsed.Remove(d.GetInstanceID()); } } wait.Clear(); }
public async Task CreateDisk() { #region Snippet:Managing_Disks_CreateADisk ArmClient armClient = new ArmClient(new DefaultAzureCredential()); Subscription subscription = await armClient.GetDefaultSubscriptionAsync(); // first we need to get the resource group string rgName = "myRgName"; ResourceGroup resourceGroup = await subscription.GetResourceGroups().GetAsync(rgName); // Now we get the disk collection from the resource group DiskCollection diskCollection = resourceGroup.GetDisks(); // Use the same location as the resource group string diskName = "myDisk"; var input = new DiskData(resourceGroup.Data.Location) { Sku = new DiskSku() { Name = DiskStorageAccountTypes.StandardLRS }, CreationData = new CreationData(DiskCreateOption.Empty), DiskSizeGB = 1, }; ArmOperation <Disk> lro = await diskCollection.CreateOrUpdateAsync(true, diskName, input); Disk disk = lro.Value; #endregion Snippet:Managing_Disks_CreateADisk }
public void GetDisk(int ruler) { GameObject disk; if (free.Count == 0) { disk = GameObject.Instantiate(Resources.Load <GameObject>("prefabs/disk")); disk.name = "disk" + count; count++; used.Add(disk); } else { disk = free[0]; disk.SetActive(true); used.Add(disk); free.RemoveAt(0); } flag = UnityEngine.Random.Range(0, 5); disk.GetComponent <Renderer>().material.color = c[(ruler + flag) % 9]; disk.transform.localScale = getSize(ruler); disk.transform.position = getPosition(ruler + flag); DiskData data = disk.GetComponent(typeof(DiskData)) as DiskData; data.speed = ruler + 1; data.target = getTarget(ruler + flag); }
Disk IOperationSource <Disk> .CreateResult(Response response, CancellationToken cancellationToken) { using var document = JsonDocument.Parse(response.ContentStream); var data = DiskData.DeserializeDiskData(document.RootElement); return(new Disk(_armClient, data)); }
public bool WarnIfDiskStatusChange(DiskData diskNew, IEnumerable <DiskData> disks) { HashSet <DiskData> diskSet = disks as HashSet <DiskData>; if (diskSet == null) { diskSet = new HashSet <DiskData>(disks); } if (diskSet.Contains(diskNew)) { foreach (var disk in diskSet) { if (disk.Equals(diskNew) && diskNew.Status != disk.Status) { #if !SERVICE string title = "Attention"; string tipText = $@"DiskAPMManager: Disk status change detected from {disk.Status} to {diskNew.Status} on {diskNew.Model} s/n: {diskNew.SerialNo}"; MessageBox.Show(tipText, title); #endif return(true); } } } return(false); }
internal static DiskList DeserializeDiskList(JsonElement element) { IReadOnlyList <DiskData> value = default; Optional <string> nextLink = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("value")) { List <DiskData> array = new List <DiskData>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(DiskData.DeserializeDiskData(item)); } value = array; continue; } if (property.NameEquals("nextLink")) { nextLink = property.Value.GetString(); continue; } } return(new DiskList(value, nextLink.Value)); }
public void freeDisk(DiskData disk)//回收飞碟 { _instance.free.Add(disk); if (!_instance.used.Remove(disk))//抛出错误 { throw new System.Exception(); } }
public void FreeDisk() //freeall { for (int i = 0; i < inUsed.Count; i++) { DiskData temp = inUsed[i]; FreeDisk(temp); } }
public void DiskWait(DiskData disk) { wait.Add(disk); if (!used.Remove(disk)) { throw new System.Exception(); } }
void moveDisk(DiskData disk) { float px, py, pz; px = disk.gameObject.transform.position.x + disk.speed * disk.direction.x * Time.deltaTime; pz = disk.gameObject.transform.position.z + disk.speed * disk.direction.z * Time.deltaTime; py = disk.gameObject.transform.position.y + disk.speed * (disk.direction.y + g * Time.deltaTime) * Time.deltaTime; disk.gameObject.transform.position = new Vector3(px, py, pz); }
public void move(DiskData disk) { disk.y -= gravity * Time.deltaTime;//模拟重力 float x = disk.gameObject.transform.position.x + disk.x * Time.deltaTime; float y = disk.gameObject.transform.position.y + disk.y * Time.deltaTime; float z = disk.gameObject.transform.position.z + disk.z * Time.deltaTime; disk.gameObject.transform.position = new Vector3(x, y, z);//下一帧的位置 }
public void getDisk(Ruler ruler) { if (isPrepared()) { prepared = pres.Dequeue(); prepared.ruler = ruler; prepared.gameObject.SetActive(true); } }
/** * 给定id(在usedDisk中的位置) * freeDisk掉目标DiskData (从usedDisk中取出加入freeDisk) */ public void freeDisk(int id) { DiskData aDisk = usedDisk[id]; if (aDisk == null) { throw new System.Exception (); } else { freeDisk.Add (aDisk); usedDisk.Remove (aDisk); } }
//3 ways of freedisk public void FreeDisk(int index) { DiskData theDisk = used.ToArray()[index]; if (theDisk != null) { used.Remove(theDisk); free.Add(theDisk); } }
public double GetDiskData(DiskData dd) { return dd==DiskData.Read? GetCounterValue(_diskReadCounter, "PhysicalDisk", "Disk Read Bytes/sec", "_Total"): dd==DiskData.Write? GetCounterValue(_diskWriteCounter, "PhysicalDisk", "Disk Write Bytes/sec", "_Total"): dd==DiskData.ReadAndWrite? GetCounterValue(_diskReadCounter, "PhysicalDisk", "Disk Read Bytes/sec", "_Total")+ GetCounterValue(_diskWriteCounter, "PhysicalDisk", "Disk Write Bytes/sec", "_Total"): 0; }
public double GetDiskData(DiskData dd) { return(dd == DiskData.Read ? GetCounterValue(_diskReadCounter, "PhysicalDisk", "Disk Read Bytes/sec", "_Total") : dd == DiskData.Write ? GetCounterValue(_diskWriteCounter, "PhysicalDisk", "Disk Write Bytes/sec", "_Total") : dd == DiskData.ReadAndWrite ? GetCounterValue(_diskReadCounter, "PhysicalDisk", "Disk Read Bytes/sec", "_Total") + GetCounterValue(_diskWriteCounter, "PhysicalDisk", "Disk Write Bytes/sec", "_Total") : 0); }
public void FreeAllDisks() // free the used disks { int i = 0; for (i = used.Count - 1; i >= 0; i--) { DiskData disk = used[i]; used.Remove(disk); free.Add(disk); } }
public void remove(DiskData disk) { if (mode == 0) { cc.remove(disk); } else { ph.remove(disk); } }
private async void CreateFile(DiskData data) { string path = Path.Combine(_path, data.Key + "." + _backingending); using (FileStream sw = new FileStream(path, FileMode.Create)) { _xs.Serialize(sw, data); await sw.FlushAsync(); sw.Close(); } }
public void hitDisk(GameObject disk) { DiskData temp = diskFactory.getHitDisk(disk); if (temp != null) { GameObject obj = Object.Instantiate(Resources.Load("ParticleSystem", typeof(GameObject)), disk.transform.position, Quaternion.identity) as GameObject; scoreCtrl.addScore(temp.ruler.score); diskFactory.freeDisk(temp); Destroy(obj, 0.5f); } }
public void freeDiskAllDisks () { for (int i = usedDisk.Count - 1; i >= 0; i--) { DiskData disk = usedDisk [i]; freeDisk.Add (disk); usedDisk.Remove (disk); } for (int i = 0; i < freeDisk.Count; i++) { freeDisk [i].transform.position = new Vector3 (3f * i, 3f * i, -20); freeDisk [i].gameObject.GetComponent<Rigidbody> ().velocity = Vector3.zero; } }
public void set(DiskData newData) { this.size = newData.size; this.color = newData.color; this.speed = newData.speed; this.shotScore = newData.shotScore; this.gameObject.transform.localScale = new Vector3(size, size, size); Renderer renders = this.transform.GetComponent <Renderer> (); renders.material.shader = Shader.Find("Transparent/Diffuse"); renders.material.color = this.color; }
public override void Start() { disk = gameobject.GetComponent <DiskData>(); enable = true; acceleration = 9.8f; verticalSpeed = 0; horizontalSpeed = disk.speed; direction = disk.direction; rigidbody = this.gameobject.GetComponent <Rigidbody>(); if (rigidbody) { rigidbody.velocity = horizontalSpeed * direction; } }
public void FreeDisk(int totalDisk) { DiskData tempDisk = inUsed.ToArray()[totalDisk]; if (tempDisk == null) { Debug.Log("系统异常"); } else { inFree.Add(tempDisk); inUsed.Remove(tempDisk); } }
public override void Start() { disk = gameobject.GetComponent <DiskData>(); enable = true; gravity = 9.8f; movingTime = 0; xSpeed = disk.speed; initDir = disk.direction; rigidbody = this.gameobject.GetComponent <Rigidbody>(); if (rigidbody) { rigidbody.velocity = xSpeed * initDir; } }