Ejemplo n.º 1
0
 public void AddMenuPerson(ModelNPC.GameDataNPC _dataNPC, GameObject gobj)
 {
     AddExpandPerson(_dataNPC.NameObject,
                     _dataNPC.GetParams,
                     new List <string> {
         "GoTo", "Kill", "Pause", "StartTrack", "SetTarget"
     },
                     gobjObservable: gobj);
 }
Ejemplo n.º 2
0
    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);
        }
    }
Ejemplo n.º 3
0
    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;
        }
    }