Esempio n. 1
0
    void Start()
    {
        db = FindObjectOfType <Database>();
        bb = FindObjectOfType <BoardButton>();
        ct = FindObjectOfType <Chattable>();

        countDown     = 0.3f;
        realCountDown = 0;
        lagiLoading   = false;
    }
    void Start()
    {
        db = FindObjectOfType <Database>();
        ct = FindObjectOfType <Chattable>();


        db.doneScan = false;
        init        = false;
        //reduced = false;
        startScan  = false;
        initialPos = gameObject.transform.position;
    }
        public override string Get(string input)
        {
            Chattable d      = ChatManager.chatting.host;
            string    result = string.Empty;

            d.properties.TryGetValue(input, out result);
            if (result == null)
            {
                result = "false";
            }
            return(result);
        }
        public override void Set(string property, string input)
        {
            Chattable d = ChatManager.chatting.host;

            if (!d.properties.ContainsKey(property))
            {
                d.properties.Add(property, input);
            }
            else
            {
                d.properties[property] = input;
            }
        }
    public override void OnInspectorGUI()
    {
        Chattable myTarget = (Chattable)target;

        myTarget.dialogData         = EditorGUILayout.ObjectField("Dialogue", (Object)myTarget.dialogData, typeof(TextAsset), false) as TextAsset;
        myTarget.requireLineOfSight = EditorGUILayout.Toggle("Require line of sight", myTarget.requireLineOfSight);
        bool isNPC = !(myTarget.GetComponent <CharacterCreation.Character>() == null);

        if (!isNPC)
        {
            myTarget.myName   = EditorGUILayout.TextField("Name", myTarget.myName);
            myTarget.chatHead = EditorGUILayout.ObjectField("Object Icon", (Object)myTarget.chatHead, typeof(Sprite), false) as Sprite;
        }
        else
        {
            myTarget.followPlayer = EditorGUILayout.Toggle("Follow player", myTarget.followPlayer);
        }
    }
    // Update the closestInteractable variable on the player object
    void UpdateNearest()
    {
        // Set local NPC variable closestNPC to be the closest interactable NPC to the player
        Chattable closestNPC       = null;
        float     shortestDistance = Mathf.Infinity;

        foreach (Chattable item in player.allInteractable)
        {
            Vector3 playerPos = player.transform.position;
            float   dist      = Vector3.Distance(item.transform.position, playerPos);
            if (!item.GetLineOfSight(playerPos))
            {
                continue;
            }
            item.following = true;
            if (dist < shortestDistance)
            {
                closestNPC       = item;
                shortestDistance = dist;
            }
        }

        if (closestNPC != player.closestInteractable)
        {
            // Toggle the previous closest NPC off
            if (player.closestInteractable != null)
            {
                player.closestInteractable.ToggleClosestInteractable(false);
            }

            // Set PlayerControl.closestInteractable to closestNPC, even if null, and toggle it on
            player.closestInteractable = closestNPC;
            if (closestNPC != null)
            {
                closestNPC.ToggleClosestInteractable(true);
            }
        }
    }
Esempio n. 7
0
 public Dialog(TextAsset input, Chattable _host) : this(input) {
     // Initialize the host to the given Chattable instance
     host = _host;
 }