public void AddMenuPerson(ModelNPC.GameDataNPC _dataNPC, GameObject gobj) { AddExpandPerson(_dataNPC.NameObject, _dataNPC.GetParams, new List <string> { "GoTo", "Kill", "Pause", "StartTrack", "SetTarget" }, gobjObservable: gobj); }
public void CreateCommandLogButton(string p_text, Color color, Transform p_parent, GameObject gobjObservable = null, bool isValidExistCommand = false, ExpandControl expControl = null) { bool isPersonComm = false; if (gobjObservable != null) { isPersonComm = true; } //string nameBtn = "ButtonCommand" + p_text; string keyB = "ButtonCommand"; string textBtn = p_text.Replace(keyB, ""); string nameBtn = textBtn + keyB; GameObject findObjects; //GameObject[] findObjects = GameObject.FindGameObjectsWithTag("PrefabCommandButton"); if (isValidExistCommand) { findObjects = GameObject.Find(nameBtn); //Debug.Log("GameObject.Find(" + nameBtn + ") : " + findObjects); if (findObjects != null) { isValidExistCommand = false; } } else { isValidExistCommand = true; } //Debug.Log("CreateCommandLogButton " + p_text); //if (findObjects == null) if (isValidExistCommand) { //Debug.Log("CreateCommandLogButton 2. " + p_text); Vector3 pos = new Vector3(0, 0, 0); Button buttonCommand = (Button)Instantiate(prefabButtonCommand, pos, Quaternion.identity); Text compText = null; compText = buttonCommand.GetComponentInChildren <Text>(); if (compText == null) { Debug.Log("######### CreateCommandLogButton compText is Empty"); return; } compText.text = textBtn; buttonCommand.transform.SetParent(p_parent); buttonCommand.name = nameBtn; if (isPersonComm) { buttonCommand.tag = "CommandButtonPerson"; } else { buttonCommand.tag = "CommandButtonTool"; } if (isPersonComm) { buttonCommand.SetColor(ColorYelow); // "#CDA143"); } else { buttonCommand.SetColor(ColorGreen); } //Debug.Log("ADD: CreateCommandLogText : " + nameBtn + " parent: " + p_parent.name); string gobjID = ""; ModelNPC.GameDataNPC dataObs = null; if (gobjObservable != null && gobjObservable.IsNPC()) { dataObs = gobjObservable.GetDataNPC(); } if (gobjObservable != null) { gobjID = Helper.GetID(gobjObservable.name); } //ExpandControl expControl = null //ADD EVENT COMMAND buttonCommand.onClick.AddListener(delegate { var _gobjID = gobjID; if (isPersonComm) { //def color set //buttonCommand.SetColor(ColorExpClose); //if (gobjObservable == null) if (expControl == null) { buttonCommand.SetColor(ColorAlert);// "#EC4D56"); Debug.Log("buttonCommand.onClick isPersonComm expControl == null"); } if (expControl.IsAlert) { ListLogAdd = "PersonComm [" + textBtn + "] objObservable is Destroy & data empty"; buttonCommand.SetColor(ColorAlert);// "#EC4D56"); return; } //if (gobjObservable == null) //{ gobjObservable = expControl.SelectedObserver(); //} dataObs = (ModelNPC.GameDataNPC)expControl.DataObject; if (dataObs == null) { ListLogAdd = "PersonComm [" + textBtn + "] objObservable is Destroy & data empty"; } if (gobjObservable != null) { dataObs = gobjObservable.GetDataNPC(); } CommandExecutePerson(textBtn, gobjObservable, dataObs); } else { //Debug.Log("######### gobjObservable is NULL" + nameBtn); CommandExecute(textBtn); } }); } else { //CreateCommandLogText(p_text, Color.white); //Debug.Log("Already exist CreateCommandLogButton " + nameBtn); } }
public void CommandExecutePerson(string selectCommand, GameObject gobjObservable, ModelNPC.GameDataNPC dataNPC) { MovementNPC movem = null; if (gobjObservable != null) { movem = gobjObservable.GetComponent <MovementNPC>(); } switch (selectCommand) { case "None": SetTittle = "..."; break; case "Pause": if (gobjObservable == null) { return; } SetTittle = "Level saving..."; if (movem == null) { Debug.Log("############ CommandExecuteParson(" + selectCommand + ") : " + gobjObservable.name + " MovementNPC is Empty"); return; } Debug.Log("CommandExecuteParson(" + selectCommand + ") : " + gobjObservable.name + " : " + selectCommand); movem.Pause(); break; case "Kill": if (gobjObservable != null) { Storage.Instance.AddDestroyGameObject(gobjObservable); } break; case "StartTrack": if (gobjObservable == null) { return; } if (movem == null) { Debug.Log("############ CommandExecuteParson(" + selectCommand + ") : " + gobjObservable.name + " MovementNPC is Empty"); return; } movem.TrackOn(); break; case "GoTo": Vector2 posTeleport = new Vector2(); if (gobjObservable != null) { posTeleport = gobjObservable.transform.position; } else { if (dataNPC == null) { ListLogAdd = "######### GoTo: Observable DATA NPC is Empty"; return; } posTeleport = dataNPC.Position; } Storage.Player.TeleportHero((int)posTeleport.x, (int)posTeleport.y); break; case "SetTarget": if (dataNPC == null) { ListLogAdd = "######### SetTarget: Observable DATA NPC is Empty"; return; } SelectedExpandMenuAlienID = dataNPC.GetId; break; default: Debug.Log("################ EMPTY COMMAND : " + selectCommand); break; } }