示例#1
0
    public void SetPrefabText(HappendRisk risikoTerjadi)
    {
        //digunakan jika menu kesimpulan di panggil dari menu list pekerjaan

        textRisiko      = newRisk.transform.Find("Check Risiko").GetComponentInChildren <Text>();
        textRisiko.text = risikoTerjadi.NamaRisiko;

        textHari      = newRisk.transform.Find("Dampak Hari").GetComponent <Text>();
        textHari.text = risikoTerjadi.DampakWaktuTerjadi.ToString();

        respon     = risikoTerjadi.ResponRisiko.ToLower();
        textRespon = newRisk.transform.Find("Respon").GetComponentInChildren <Text>();
        iRespon    = newRisk.transform.Find("Respon").GetComponent <Image>();
        dana       = risikoTerjadi.DampakDanaTerjadi;

        if (dana <= 0)
        {
            dana = 0;
        }
        if (respon != "")
        {
            textRespon.text = respon.Substring(0, 1).ToUpper() + respon.Substring(1);
        }
        if (respon == "accept")
        {
            iRespon.enabled = true;
            iRespon.sprite  = accept;
        }
        else if (respon == "mitigate")
        {
            iRespon.enabled = true;
            iRespon.sprite  = mitigate;
        }
        else if (respon == "avoid")
        {
            iRespon.enabled = true;
            iRespon.sprite  = avoid;
        }
        else
        {
            iRespon.enabled = false;
            textRespon.text = "Tidak Direspon";
        }


        total           += dana;
        textDana         = newRisk.transform.Find("Dana Risiko").GetComponent <Text>();
        textDana.text    = dana.ToString("N0", new CultureInfo("id-ID"));
        kk               = newRisk.GetComponent <KartuKesimpulan>();
        kk.rc            = rc;
        kk.next          = next;
        kk.prev          = prev;
        kk.namaKartu     = risikoTerjadi.IDRisiko;
        kk.hargaAvoid    = (risikoTerjadi.Avoid / 150f) * PlayerPrefs.GetFloat("danaAwal");
        kk.hargaMitigate = (risikoTerjadi.Mitigate / 150f) * PlayerPrefs.GetFloat("danaAwal");
        kk.risikoTerjadi = risikoTerjadi;
        kk.happendKah    = true;

        //Debug.Log("Risiko " + (i+1) + " adalah " + rc.objectRisiko[i].namaRisiko.text + " dan terjadi pada " + rc.waktuRisikoTerjadi[x] + "%");
    }
示例#2
0
    public void RevealKartu(string namaKartu, float hargaMitigate, float hargaAvoid, HappendRisk happendRisk)
    {
        //digunakan jika menu kesimpulan di panggil dari menu list pekerjaan
        this.hargaMitigate.text       = hargaMitigate.ToString("N0", new CultureInfo("id-ID"));
        this.hargaAvoid.text          = hargaAvoid.ToString("N0", new CultureInfo("id-ID"));
        StateKartuTerlihat            = false;
        this.KartuTextDampakDana.text = happendRisk.DampakDana.ToString("N0", new CultureInfo("id-ID"));

        if (happendRisk.ResponRisiko != "")
        {
            //jika risiko di respon
            ContainerKartu.GetComponent <Image>().color = new Color32(255, 255, 255, 255);
            BtnK3.interactable = true;
            BtnK3.isOn         = happendRisk.K3Kah;
            BtnMM.interactable = true;
            BtnMM.isOn         = happendRisk.MMKah;
        }
        else
        {
            //jika risiko tidak di respon
            ContainerKartu.GetComponent <Image>().color = new Color32(150, 150, 150, 255);

            BtnK3.interactable = false;
            BtnK3.isOn         = false;
            BtnMM.interactable = false;
            BtnMM.isOn         = false;
        }

        //Tidak perlu di cek karena di panggil hanya ketika sudah kesimpulan
        BtnK3.interactable = false;
        BtnMM.interactable = false;


        foreach (Sprite GambarKartu in listGambarRisiko)
        {
            if (GambarKartu.name.Equals(namaKartu))
            {
                kartuRisiko.sprite = GambarKartu;
                PrepKartuRisiko.gameObject.SetActive(true);
                return;
            }
        }
    }
示例#3
0
    public void WriteRisikoTerjadi(int[] angkaRisikoTerjadi, RisikoObject[] objectRisiko, ArrayList ListRisikoTerpilih, float[] DampakWaktu,
                                   float[] ListDampakDana, float estimasi, float DanaResponRisiko, float DanaPerbaikan, bool[] MMkah, bool[] K3kah)
    {
        int   tahapSekarang = PlayerPrefs.GetInt("counterTahap");
        float danaTersedia  = gameInstance.ListTahap[tahapSekarang].DanaTersedia;

        gameInstance.ListTahap[tahapSekarang].DanaPerbaikan    = DanaPerbaikan;
        gameInstance.ListTahap[tahapSekarang].DanaResponRisiko = DanaResponRisiko;
        gameInstance.ListTahap[tahapSekarang].WaktuTerjadi     = (int)estimasi;
        float danasisaContingency = danaTersedia - (DanaPerbaikan + DanaResponRisiko);

        gameInstance.ListTahap[tahapSekarang].DanaSisaContingency = danasisaContingency;
        gameInstance.ListTahap[tahapSekarang].DanaTersisa         = gameInstance.ListTahap[tahapSekarang].DanaTersisa + danasisaContingency;
        Debug.Log("Ini Saya kalo saya muncul dua kali berarti error" + gameInstance.ListTahap[tahapSekarang].DanaTersisa);

        gameInstance.ListTahap[tahapSekarang].ListRisikoTerjadi.Clear();//Memastikan tidak ada risiko yang terjadi di tahap tersebut sebelumnya

        for (int i = 0; i < angkaRisikoTerjadi.Length; i++)
        {
            HappendRisk newRiskHappen = new HappendRisk(objectRisiko[angkaRisikoTerjadi[i]], ListDampakDana[i], DampakWaktu[i], MMkah[i], K3kah[i]);
            gameInstance.ListTahap[tahapSekarang].ListRisikoTerjadi.Add(newRiskHappen);
        }
        WriteRisikoTerpilih(ListRisikoTerpilih);
        SaveJSON();

        #region Koding Lama
        //        string idTahap;
        //		switch (tahapSekarang)
        //		{
        //		case 0:
        //			idTahap = "tahapSatu";

        //			break;
        //		case 1:
        //			idTahap = "tahapDua";
        //			break;
        //		case 2:
        //			idTahap = "tahapTiga";
        //			break;
        //		case 3:
        //			idTahap = "tahapEmpat";

        //			break;
        //		case 4:
        //			idTahap = "tahapLima";

        //			break;
        //		case 5:
        //			idTahap = "tahapEnam";

        //			break;
        //		case 6:
        //			idTahap = "tahapTujuh";

        //			break;
        //		case 7:
        //			idTahap = "tahapDelapan";

        //			break;
        //		default:
        //			idTahap = "tahapSelesai";

        //			break;

        //		}
        //		string urlFile = Application.dataPath + @"/Resources/DataGame.xml";
        //		XmlTextReader reader = new XmlTextReader(urlFile);

        //		XmlDocument xmlDoc = new XmlDocument();
        //		float nilaiDanaSisa = 0f;


        //		xmlDoc.Load(reader); //Assuming reader is your XmlReader
        //		XmlNode tahapNode = xmlDoc.GetElementById(idTahap);
        //		float danaTersedia = 0f;
        //		//The data digging begins here
        //		XmlNodeList detailTahap = tahapNode.ChildNodes;
        //		foreach (XmlNode detail in detailTahap)
        //		{
        //			if (detail.Name == "DanaTersedia")
        //			{

        //				danaTersedia = float.Parse(detail.InnerText);
        //			}

        //			if (detail.Name == "DanaPerbaikan")
        //			{

        //				detail.InnerText = DanaPerbaikan;
        //			}
        //			if (detail.Name == "DanaResponRisiko")
        //			{

        //				detail.InnerText = DanaResponRisiko;
        //			}
        //			if (detail.Name == "WaktuTejadi")
        //			{

        //				detail.InnerText = estimasi.ToString();
        //			}
        //			if (detail.Name == "DanaSisaContingency")
        //			{
        //				float nilaiDanaPerbaikan = float.Parse (DanaPerbaikan.Replace(".",""));
        //				float nilaiDanaResponRisiko = float.Parse (DanaResponRisiko.Replace(".",""));
        //				nilaiDanaSisa = danaTersedia - (nilaiDanaPerbaikan +nilaiDanaResponRisiko);
        //				detail.InnerText = nilaiDanaSisa.ToString("N0");
        //			}
        //			if (detail.Name == "DanaTersisa")
        //			{
        //				float nilaiRABProyekTersisa;
        //				nilaiRABProyekTersisa = float.Parse(detail.InnerText);
        //				nilaiRABProyekTersisa += nilaiDanaSisa;
        //				detail.InnerText = nilaiRABProyekTersisa.ToString("N0");
        //			}
        //			if (detail.Name == "ListRiskTerjadi") {
        //				XmlNode root = detail;
        //				detail.RemoveAll ();
        //				for (int i = 0; i < angkaRisikoTerjadi.Length; i++)
        //				{
        //					using (XmlWriter writer = root.CreateNavigator ().AppendChild ())
        //					{
        //						writer.WriteStartElement("RisikoTerjadi");
        //						writer.WriteElementString("NamaRisiko", objectRisiko[angkaRisikoTerjadi[i]].namaRisiko.text.ToString());
        //						writer.WriteElementString("IDRisiko", objectRisiko[angkaRisikoTerjadi[i]].NamaKartu.ToString());
        //						writer.WriteElementString("DampakDanaTerjadi", ListDampakDana[i].ToString ("N0"));
        //						writer.WriteElementString("DampakWaktuTerjadi", DampakWaktu[i].ToString());
        //						writer.WriteElementString("ManajemenMutu", MMkah[i].ToString());
        //						writer.WriteElementString("K3", K3kah[i].ToString());
        //    //						writer.WriteElementString ("DanaResponRisikoTerjadi", DanaResponRisikoTerjadi[i].toString ("N0"));
        ////						writer.WriteElementString("WaktuTerjadiRisiko", "afdafdss");
        //						writer.WriteElementString("ResponRisiko", objectRisiko[angkaRisikoTerjadi[i]].StatusRespon.ToString());
        //						writer.WriteEndElement();
        //					}
        //				}
        //				break;
        //			}
        //		}

        //		reader.Close();
        //		xmlDoc.Save(urlFile);
        //		LoadData();
        #endregion
    }