示例#1
0
        public void UpdateTreeText()
        {
            if (TreeText != null && API.Shared.DoesEntityExist(TreeText))
            {
                API.Shared.DeleteEntity(TreeText);
            }

            if (TreeMarker == null)
            {
                TreeMarker                = new MarkerZone(TreePos.Add(new Vector3(1, 0, -0.5)), TreeRot, 0);
                TreeMarker.MarkerType     = 1;
                TreeMarker.MarkerColor[2] = 0;
                TreeMarker.MarkerScale    = new Vector3(1, 1, 1);
                TreeMarker.UseColZone     = false;
                TreeMarker.UseBlip        = false;
                TreeMarker.UseText        = false;
                TreeMarker.Create();
            }

            switch (Stage)
            {
            case Stages.Processing:
                TreeText            = API.Shared.CreateTextLabel("~g~Hit the tree to process it. ~n~" + ProcessPercentage + "%", TreePos, 10f, 1f, 1, new GTANetworkAPI.Color(1, 1, 1), true);
                TreeMarker.Location = TreePos;
                TreeMarker.Refresh();
                API.Shared.AttachEntityToEntity(TreeText, TreeObj, "0", new Vector3(1, 1, 1.5), new Vector3());
                API.Shared.AttachEntityToEntity(TreeMarker.Marker, TreeObj, "0", new Vector3(1, 0, 1.5), new Vector3(-90, 0, 0));
                break;

            case Stages.Cutting:
                TreeText            = API.Shared.CreateTextLabel("~g~" + CutPercentage + "% Cut.~n~Tree", TreePos, 10f, 1f, 1, new GTANetworkAPI.Color(1, 1, 1), true);
                TreeMarker.Location = TreePos;
                TreeMarker.Refresh();
                API.Shared.AttachEntityToEntity(TreeText, TreeObj, "0", new Vector3(1, 0, 1), new Vector3());
                API.Shared.AttachEntityToEntity(TreeMarker.Marker, TreeObj, "0", new Vector3(1, 0, 0), new Vector3());
                break;

            case Stages.Waiting:
                TreeText            = API.Shared.CreateTextLabel("~g~Waiting to be picked, use /pickupwood with a Flatbed.", TreePos, 10f, 1f, 1, new GTANetworkAPI.Color(1, 1, 1), true);
                TreeMarker.Location = TreePos;
                TreeMarker.Refresh();
                API.Shared.AttachEntityToEntity(TreeText, TreeObj, "0", new Vector3(1, 0, 1), new Vector3());
                API.Shared.AttachEntityToEntity(TreeMarker.Marker, TreeObj, "0", new Vector3(1, 0, 0), new Vector3());
                break;

            default:
                TreeText = null;
                TreeMarker.Destroy();
                break;
            }
        }
示例#2
0
        public void Delete()
        {
            if (API.Shared.DoesEntityExist(TreeObj))
            {
                API.Shared.DeleteEntity(TreeObj);
            }

            if (API.Shared.DoesEntityExist(TreeText))
            {
                API.Shared.DeleteEntity(TreeText);
            }

            TreeMarker.Destroy();

            var filter = MongoDB.Driver.Builders <Tree> .Filter.Eq("_id", Id);

            DatabaseManager.TreesTable.DeleteOne(filter);
            Trees.Remove(this);
        }